head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.1.2.2
	netbsd-11:1.1.1.1.0.2
	xz-5-8-3:1.1.1.1
	XZ:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2026.04.08.20.28.21;	author christos;	state Exp;
branches
	1.1.1.1;
next	;
commitid	E7kpWUUfSey5ccBG;

1.1.1.1
date	2026.04.08.20.28.21;	author christos;	state Exp;
branches
	1.1.1.1.2.1;
next	;
commitid	E7kpWUUfSey5ccBG;

1.1.1.1.2.1
date	2026.04.08.20.28.21;	author martin;	state dead;
branches;
next	1.1.1.1.2.2;
commitid	UDYUnD7C1YWLlUEG;

1.1.1.1.2.2
date	2026.05.07.17.41.50;	author martin;	state Exp;
branches;
next	;
commitid	UDYUnD7C1YWLlUEG;


desc
@@


1.1
log
@Initial revision
@
text
@# SPDX-License-Identifier: 0BSD

#############################################################################
#
# Optional file to be included by the top-level CMakeLists.txt to run tests
#
# The CMake rules for the tests are in this separate optional file so
# that it's trivial to just delete the whole "tests" directory and still
# get an otherwise normal CMake-based build. This way it's easy to ensure
# that nothing in the "tests" directory can affect the build process.
#
# Author: Lasse Collin
#
#############################################################################

include(CTest)

if(BUILD_TESTING)
    ################################
    # Windows Application Manifest #
    ################################

    # On Windows (but not on Cygwin or MSYS2) we want to add the
    # application manifest to the test programs so that they are
    # run in the same configuration as the programs that are installed.
    # The same object file can be used for all test programs.
    add_library(tests_w32res OBJECT)

    # CMake requires that even an object library must have at least once
    # source file. Give it a header file that results in no output files.
    target_sources(tests_w32res PRIVATE tests/tests.h)

    # The Ninja Generator requires setting the linker language since it
    # cannot guess the programming language of a header file.
    set_target_properties(tests_w32res PROPERTIES LINKER_LANGUAGE C)

    target_include_directories(tests_w32res PRIVATE src/common
        src/common
        src/liblzma/api
    )

    if(WIN32)
        target_sources(tests_w32res PRIVATE tests/tests_w32res.rc)
        set_source_files_properties(tests/tests_w32res.rc PROPERTIES
            OBJECT_DEPENDS "${W32RES_DEPENDENCIES}"
        )
    endif()

    #################
    # liblzma tests #
    #################

    set(LIBLZMA_TESTS
        test_bcj_exact_size
        test_block_header
        test_check
        test_filter_flags
        test_filter_str
        test_hardware
        test_index
        test_index_hash
        test_lzip_decoder
        test_memlimit
        test_stream_flags
        test_vli
    )

    # MicroLZMA encoder is needed for both encoder and decoder tests.
    # If MicroLZMA decoder is not configured but LZMA1 decoder is, then
    # test_microlzma will fail to compile because this configuration is
    # not possible in the Autotools build, so the test was not made to
    # support it since it would have required additional changes.
    if (XZ_MICROLZMA_ENCODER AND (XZ_MICROLZMA_DECODER
            OR NOT "lzma1" IN_LIST DECODERS))
        list(APPEND LIBLZMA_TESTS test_microlzma)
    endif()

    foreach(TEST IN LISTS LIBLZMA_TESTS)
        add_executable("${TEST}" "tests/${TEST}.c")

        target_include_directories("${TEST}" PRIVATE
            src/common
            src/liblzma/api
            src/liblzma
        )

        target_link_libraries("${TEST}" PRIVATE liblzma tests_w32res)

        # Put the test programs into their own subdirectory so they don't
        # pollute the top-level dir which might contain xz and xzdec.
        set_target_properties("${TEST}" PROPERTIES
            RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/tests_bin"
        )

        add_test(NAME "${TEST}"
                 COMMAND "${CMAKE_CURRENT_BINARY_DIR}/tests_bin/${TEST}"
        )

        # Set srcdir environment variable so that the tests find their
        # input files from the source tree.
        #
        # Set the return code for skipped tests to match Automake convention.
        set_tests_properties("${TEST}" PROPERTIES
            ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
            SKIP_RETURN_CODE 77
        )
    endforeach()


    ###########################
    # Command line tool tests #
    ###########################

    # Since the CMake-based build doesn't use config.h, the test scripts
    # cannot grep the contents of config.h to know which features have
    # been disabled. When config.h is missing, they assume that all
    # features are enabled. Thus, check if certain groups of features have
    # been disabled and then possibly skip some of the tests entirely instead
    # of letting them fail.
    set(SUPPORTED_FILTERS_SORTED "${SUPPORTED_FILTERS}")
    list(SORT SUPPORTED_FILTERS_SORTED)

    set(ENCODERS_SORTED "${XZ_ENCODERS}")
    list(SORT ENCODERS_SORTED)

    if("${ENCODERS_SORTED}" STREQUAL "${SUPPORTED_FILTERS_SORTED}")
        set(HAVE_ALL_ENCODERS ON)
    else()
        set(HAVE_ALL_ENCODERS OFF)
    endif()

    set(DECODERS_SORTED "${XZ_DECODERS}")
    list(SORT DECODERS_SORTED)

    if("${DECODERS_SORTED}" STREQUAL "${SUPPORTED_FILTERS_SORTED}")
        set(HAVE_ALL_DECODERS ON)
    else()
        set(HAVE_ALL_DECODERS OFF)
    endif()

    set(SUPPORTED_CHECKS_SORTED "${SUPPORTED_CHECKS}")
    list(SORT SUPPORTED_CHECKS_SORTED)

    set(XZ_CHECKS_SORTED "${XZ_CHECKS}")
    list(SORT XZ_CHECKS_SORTED)

    if("${SUPPORTED_CHECKS_SORTED}" STREQUAL "${XZ_CHECKS_SORTED}")
        set(HAVE_ALL_CHECKS ON)
    else()
        set(HAVE_ALL_CHECKS OFF)
    endif()

    # test_scripts.sh only needs LZMA2 decoder and CRC32.
    if(ENABLE_SCRIPTS)
        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_scripts")

        add_test(NAME test_scripts.sh
            COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_scripts.sh" ".."
            WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_scripts"
        )

        set_tests_properties(test_scripts.sh PROPERTIES
            ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
            SKIP_RETURN_CODE 77
        )
    endif()

    # test_suffix.sh only needs LZMA2 encoder and decoder.
    if(UNIX AND HAVE_ENCODERS AND HAVE_DECODERS)
        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_suffix")

        add_test(NAME test_suffix.sh
            COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_suffix.sh" ".."
            WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_suffix"
        )

        set_tests_properties(test_suffix.sh PROPERTIES
            SKIP_RETURN_CODE 77
        )
    endif()

    # The test_compress.sh based tests compress and decompress using different
    # filters so run it only if all encoders and decoders have been enabled.
    if(UNIX AND HAVE_ALL_ENCODERS AND HAVE_ALL_DECODERS)
        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_compress")

        add_executable(create_compress_files tests/create_compress_files.c)
        target_link_libraries(create_compress_files PRIVATE tests_w32res)
        target_include_directories(create_compress_files PRIVATE src/common)
        set_target_properties(create_compress_files PROPERTIES
                              RUNTIME_OUTPUT_DIRECTORY test_compress)

        foreach(T compress_generated_abc
                  compress_generated_text
                  compress_generated_random)
            add_test(NAME "test_${T}"
                COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_compress.sh"
                        "${T}" ".."
                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_compress"
            )

            set_tests_properties("test_${T}" PROPERTIES
                ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
                SKIP_RETURN_CODE 77
            )
        endforeach()
    endif()

    # test_files.sh decompresses files that use different filters and
    # check types so run it only if support for all of them has been enabled.
    if(UNIX AND HAVE_ALL_DECODERS AND HAVE_ALL_CHECKS AND XZ_LZIP_DECODER)
        # test_files.sh doesn't make any temporary files but it
        # must not be run at the top-level build directory because
        # it checks if ../config.h exists. We don't want to read
        # files outside the build directory!
        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_files")

        add_test(NAME test_files.sh
            COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_files.sh" ".."
            WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_files"
        )

        set_tests_properties(test_files.sh PROPERTIES
            ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
            SKIP_RETURN_CODE 77
        )
    endif()
endif()
@


1.1.1.1
log
@Import xz-5.8.3 (previous was 5.2.4)

5.8.3 (2026-03-31)

    * liblzma:

        - Fix a buffer overflow in lzma_index_append(): If
          lzma_index_decoder() was used to decode an Index that
          contained no Records, the resulting lzma_index was left in
          a state where where a subsequent lzma_index_append() would
          allocate too little memory, and a buffer overflow would occur.

          The lzma_index functions are rarely used by applications
          directly. In the few applications that do use these functions,
          the combination of function calls required to trigger this bug
          are unlikely to exist, because there typically is no reason to
          append Records to a decoded lzma_index. Thus, it's likely that
          this bug cannot be triggered in any real-world application.

          The bug was reported and discovered by Cantina using their
          AppSec agent, Apex.

        - Fix the build on Windows ARM64EC.

        - Add "License: 0BSD" to liblzma.pc.

    * xz:

        - Fix invalid memory access in --files and --files0. All of
          the following must be true to trigger it:

            1. A string being read (which supposedly is a filename) is
               at least SIZE_MAX / 2 bytes long. This size is plausible
               on 32-bit platforms (2 GiB - 1 B).

            2. realloc(ptr, SIZE_MAX / 2 + 1) must succeed.
               On glibc >= 2.30 it shouldn't because the value
               exceeds PTRDIFF_MAX.

            3. An integer overflow results in a realloc(ptr, 0) call.
               If it doesn't return NULL, then invalid memory access
               will occur.

        - On QNX, don't use fsync() on directories because it fails.

    * Autotools: Enable 32-bit x86 assembler on Hurd by default.
      It was already enabled in the CMake-based build.

    * Translations: Add Arabic man page translations.

For the changelog of previous versions please see:

    https://github.com/tukaani-project/xz/releases/tag/vM.m.p

The changes are too big to include here, since this package has not been
updated for a while.
@
text
@@


1.1.1.1.2.1
log
@file tests.cmake was added on branch netbsd-11 on 2026-05-07 17:41:50 +0000
@
text
@d1 228
@


1.1.1.1.2.2
log
@Pull up the following, requested by christos in ticket #270:

	external/public-domain/xz/dist/doc/examples/11_file_info.c up to 1.1.1.1
	external/public-domain/xz/dist/po/pt_BR.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/ca.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ca.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/da.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/da.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/eo.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/eo.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/es.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/es.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/fi.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/fi.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/hr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/hr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/hu.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/hu.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/ka.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ka.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/ko.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ko.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/nl.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/nl.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/pt.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/pt.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/pt_BR.po      up to 1.1.1.1
	external/public-domain/xz/dist/po/ro.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ro.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/sr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/sr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/sv.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/sv.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/tr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/tr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/uk.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/uk.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_CN.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_CN.po      up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_TW.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_TW.po      up to 1.1.1.1
	external/public-domain/xz/dist/src/common/my_landlock.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_nonprint.c up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_nonprint.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_wrap.c up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_wrap.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/w32_application.manifest up to 1.1.1.1
	external/public-domain/xz/dist/src/common/w32_application.manifest.comments.txt up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_common.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_x86_clmul.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc32_arm64.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc32_loongarch.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_clmul_consts_gen.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/file_info.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/index_decoder.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/lzip_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/lzip_decoder.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/microlzma_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/microlzma_encoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder_mt.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/string_conversion.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/simple/arm64.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/simple/riscv.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/liblzma_generic.map up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/liblzma_linux.map up to 1.1.1.1
	external/public-domain/xz/dist/src/xz/sandbox.c up to 1.1.1.1
	external/public-domain/xz/dist/src/xz/sandbox.h up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v0-trailing-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v0-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-check-crc32-2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-10.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-9.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-11.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v0-uncomp-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-crc32.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-dict-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-dict-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-magic-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-magic-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-member-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-trailing-magic.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-uncomp-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-3-index-uncomp-overflow.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_big_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-1.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-2.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-3.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-unknown_size-without_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-arm64-lzma2-1.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-arm64-lzma2-2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-empty-bcj-lzma2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v0.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1-trailing-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1-trailing-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v1-v0.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v1-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-known_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-known_size-without_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-unknown_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/unsupported-1-v234.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_alone.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_stream.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_stream_mt.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_encode_stream.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_lzma.dict up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_xz.dict up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_common.h up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_alone.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_stream.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_stream_mt.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_encode_stream.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_abc up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_random up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_text up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_filter_str.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_hardware.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_index_hash.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_lzip_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_memlimit.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_microlzma.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_suffix.sh up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_vli.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/tests.cmake up to 1.1.1.1
	external/public-domain/xz/dist/tests/tests_w32res.rc up to 1.1.1.1
	external/public-domain/xz/dist/tests/tuktest.h  up to 1.1.1.1
	external/public-domain/xz/dist/build-aux/license-check.sh up to 1.1.1.1
	external/public-domain/xz/dist/build-aux/test-driver up to 1.1.1.1
	external/public-domain/xz/dist/cmake/remove-ordinals.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_common.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_cpucores.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_integer.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_large_file_support.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_mbstr.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_physmem.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_progname.cmake up to 1.1.1.1
	external/public-domain/xz/dist/CMakeLists.txt   up to 1.1.1.1
	external/public-domain/xz/dist/COPYING.0BSD     up to 1.1.1.1
	external/public-domain/xz/dist/doxygen/Doxyfile up to 1.1.1.1
	external/public-domain/xz/dist/doxygen/update-doxygen up to 1.1.1.1
	external/public-domain/xz/dist/po4a/po4a.conf   up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ar.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/de.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/fr.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/it.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ko.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/pt_BR.po    up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ro.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/sr.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/sv.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/uk.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/update-po   up to 1.1.1.1
	external/public-domain/xz/dist/po4a/xz-man.pot  up to 1.1.1.1
	external/public-domain/xz/dist/doc/examples_old/xz_pipe_comp.c delete
	external/public-domain/xz/dist/doc/examples_old/xz_pipe_decomp.c delete
	external/public-domain/xz/dist/macosx/build.sh  delete
	external/public-domain/xz/dist/src/liblzma/liblzma.map delete
	external/public-domain/xz/dist/src/liblzma/check/crc32_table.c delete
	external/public-domain/xz/dist/src/liblzma/check/crc64_table.c delete
	external/public-domain/xz/dist/src/liblzma/check/crc_macros.h delete
	external/public-domain/xz/dist/tests/files/good-1-sparc-lzma2.xz.base64 delete
	external/public-domain/xz/dist/tests/files/good-1-x86-lzma2.xz.base64 delete
	external/public-domain/xz/dist/tests/bcj_test.c delete
	external/public-domain/xz/dist/tests/compress_prepared_bcj_sparc.base64 delete
	external/public-domain/xz/dist/tests/compress_prepared_bcj_x86.base64 delete
	external/public-domain/xz/Makefile.inc          up to 1.7
	external/public-domain/xz/prepare-import.sh     up to 1.6
	external/public-domain/xz/bin/lzmainfo/Makefile up to 1.3
	external/public-domain/xz/bin/xz/Makefile       up to 1.8
	external/public-domain/xz/dist/AUTHORS          up to 1.1.1.3
	external/public-domain/xz/dist/COPYING          up to 1.1.1.3
	external/public-domain/xz/dist/ChangeLog        up to 1.1.1.5
	external/public-domain/xz/dist/INSTALL          up to 1.1.1.5
	external/public-domain/xz/dist/NEWS             up to 1.1.1.5
	external/public-domain/xz/dist/PACKAGERS        up to 1.1.1.2
	external/public-domain/xz/dist/README           up to 1.1.1.4
	external/public-domain/xz/dist/THANKS           up to 1.1.1.5
	external/public-domain/xz/dist/TODO             up to 1.1.1.3
	external/public-domain/xz/dist/config.h.in      up to 1.1.1.4
	external/public-domain/xz/dist/configure        up to 1.3
	external/public-domain/xz/dist/configure.ac     up to 1.6
	external/public-domain/xz/dist/build-aux/compile up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/config.guess up to 1.3
	external/public-domain/xz/dist/build-aux/config.rpath up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/config.sub up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/depcomp up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/install-sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/ltmain.sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/manconv.sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/missing up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/version.sh up to 1.1.1.2
	external/public-domain/xz/dist/doc/faq.txt      up to 1.1.1.4
	external/public-domain/xz/dist/doc/lzma-file-format.txt up to 1.1.1.3
	external/public-domain/xz/dist/doc/xz-file-format.txt up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/01_compress_easy.c up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/02_decompress.c up to 1.1.1.3
	external/public-domain/xz/dist/doc/examples/03_compress_custom.c up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/04_compress_easy_mt.c up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_common.m4 up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_cpucores.m4 up to 1.1.1.4
	external/public-domain/xz/dist/m4/tuklib_integer.m4 up to 1.1.1.3
	external/public-domain/xz/dist/m4/tuklib_mbstr.m4 up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_physmem.m4 up to 1.1.1.4
	external/public-domain/xz/dist/m4/tuklib_progname.m4 up to 1.1.1.2
	external/public-domain/xz/dist/po/cs.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/cs.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/de.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/de.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/fr.gmo        up to 1.1.1.4
	external/public-domain/xz/dist/po/fr.po         up to 1.1.1.4
	external/public-domain/xz/dist/po/it.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/it.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/pl.gmo        up to 1.1.1.4
	external/public-domain/xz/dist/po/pl.po         up to 1.1.1.4
	external/public-domain/xz/dist/po/vi.gmo        up to 1.1.1.3
	external/public-domain/xz/dist/po/vi.po         up to 1.1.1.3
	external/public-domain/xz/dist/src/common/common_w32res.rc up to 1.1.1.3
	external/public-domain/xz/dist/src/common/mythread.h up to 1.1.1.3
	external/public-domain/xz/dist/src/common/sysdefs.h up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_config.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_cpucores.c up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_cpucores.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_exit.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_exit.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_gettext.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_integer.h up to 1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr_fw.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr_width.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_open_stdxxx.c up to 1.1.1.3
	external/public-domain/xz/dist/src/common/tuklib_open_stdxxx.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_physmem.c up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_physmem.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_progname.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_progname.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/liblzma.pc.in up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/liblzma_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/validate_map.sh up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/base.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/bcj.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/block.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/check.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/container.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/api/lzma/delta.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/filter.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/hardware.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/api/lzma/index.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/index_hash.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/api/lzma/lzma12.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/stream_flags.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/version.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/api/lzma/vli.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/check.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/check.h up to 1.5
	external/public-domain/xz/dist/src/liblzma/check/crc32_fast.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/check/crc32_small.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_table_be.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_table_le.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_x86.S up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_fast.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_small.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_table_be.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_table_le.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_x86.S up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/sha256.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/alone_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/alone_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/alone_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/auto_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/block_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/block_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_header_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_header_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_util.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/common.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/common.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/easy_buffer_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/easy_decoder_memusage.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/easy_encoder_memusage.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_preset.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_preset.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/filter_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_buffer_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_common.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/filter_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_flags_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_flags_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/hardware_cputhreads.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/hardware_physmem.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/index.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/index.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/index_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/index_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/index_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/index_hash.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/memcmplen.h up to 1.2
	external/public-domain/xz/dist/src/liblzma/common/outqueue.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/outqueue.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_buffer_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/stream_encoder_mt.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_common.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_decoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_decoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_size.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/delta/delta_common.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/delta/delta_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/delta/delta_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/delta/delta_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/delta/delta_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/delta/delta_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/delta/delta_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lz/lz_decoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_hash.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_hash_table.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_mf.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos_table.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_optimum_fast.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_optimum_normal.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_presets.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/rangecoder/price.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/price_table.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/price_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/arm.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/armthumb.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/ia64.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/powerpc.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/simple_coder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/simple_coder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/simple_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/simple_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/simple/sparc.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/x86.c up to 1.1.1.4
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo.1 up to 1.1.1.3
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo.c up to 1.1.1.3
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/args.c    up to 1.4
	external/public-domain/xz/dist/src/xz/args.h    up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/coder.c   up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/coder.h   up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/file_io.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/file_io.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/hardware.c up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/hardware.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/list.c    up to 1.4
	external/public-domain/xz/dist/src/xz/list.h    up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/main.c    up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/main.h    up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/message.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/message.h up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/mytime.c  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/mytime.h  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/options.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/options.h up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/signals.c up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/signals.h up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/suffix.c  up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/suffix.h  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/util.c    up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/util.h    up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/xz.1      up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/xz_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xzdec/lzmadec_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xzdec/xzdec.1 up to 1.1.1.4
	external/public-domain/xz/dist/src/xzdec/xzdec.c up to 1.1.1.4
	external/public-domain/xz/dist/src/xzdec/xzdec_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/tests/create_compress_files.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_bcj_exact_size.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_block_header.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_check.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_compress.sh up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_files.sh up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_filter_flags.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_index.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_scripts.sh up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_stream_flags.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/tests.h    up to 1.1.1.2
	external/public-domain/xz/dist/tests/files/README up to 1.1.1.4
	external/public-domain/xz/dist/tests/files/bad-0cat-alone.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-0cat-header_magic.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-0catpad-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-6.xz.base64 up to 1.1.1.3
	external/public-domain/xz/dist/tests/files/bad-1-check-crc32.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-check-crc64.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-check-sha256.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-6.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-7.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-8.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-vli-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-vli-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-compressed_data_padding.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-0cat-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-0catpad-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-3delta-lzma2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-crc32.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-crc64.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-none.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-sha256.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-delta-lzma2.tiff.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-5.xz.base64 up to 1.1.1.4
	external/public-domain/xz/dist/tests/files/good-2-lzma2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-block_header.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-check.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/include/config.h      up to 1.10
	external/public-domain/xz/lib/Makefile          up to 1.13
	external/public-domain/xz/lib/lzma.expsym       up to 1.3
	external/public-domain/xz/lib/shlib_version     up to 1.4

Update xz to 5.8.3.
@
text
@a0 228
# SPDX-License-Identifier: 0BSD

#############################################################################
#
# Optional file to be included by the top-level CMakeLists.txt to run tests
#
# The CMake rules for the tests are in this separate optional file so
# that it's trivial to just delete the whole "tests" directory and still
# get an otherwise normal CMake-based build. This way it's easy to ensure
# that nothing in the "tests" directory can affect the build process.
#
# Author: Lasse Collin
#
#############################################################################

include(CTest)

if(BUILD_TESTING)
    ################################
    # Windows Application Manifest #
    ################################

    # On Windows (but not on Cygwin or MSYS2) we want to add the
    # application manifest to the test programs so that they are
    # run in the same configuration as the programs that are installed.
    # The same object file can be used for all test programs.
    add_library(tests_w32res OBJECT)

    # CMake requires that even an object library must have at least once
    # source file. Give it a header file that results in no output files.
    target_sources(tests_w32res PRIVATE tests/tests.h)

    # The Ninja Generator requires setting the linker language since it
    # cannot guess the programming language of a header file.
    set_target_properties(tests_w32res PROPERTIES LINKER_LANGUAGE C)

    target_include_directories(tests_w32res PRIVATE src/common
        src/common
        src/liblzma/api
    )

    if(WIN32)
        target_sources(tests_w32res PRIVATE tests/tests_w32res.rc)
        set_source_files_properties(tests/tests_w32res.rc PROPERTIES
            OBJECT_DEPENDS "${W32RES_DEPENDENCIES}"
        )
    endif()

    #################
    # liblzma tests #
    #################

    set(LIBLZMA_TESTS
        test_bcj_exact_size
        test_block_header
        test_check
        test_filter_flags
        test_filter_str
        test_hardware
        test_index
        test_index_hash
        test_lzip_decoder
        test_memlimit
        test_stream_flags
        test_vli
    )

    # MicroLZMA encoder is needed for both encoder and decoder tests.
    # If MicroLZMA decoder is not configured but LZMA1 decoder is, then
    # test_microlzma will fail to compile because this configuration is
    # not possible in the Autotools build, so the test was not made to
    # support it since it would have required additional changes.
    if (XZ_MICROLZMA_ENCODER AND (XZ_MICROLZMA_DECODER
            OR NOT "lzma1" IN_LIST DECODERS))
        list(APPEND LIBLZMA_TESTS test_microlzma)
    endif()

    foreach(TEST IN LISTS LIBLZMA_TESTS)
        add_executable("${TEST}" "tests/${TEST}.c")

        target_include_directories("${TEST}" PRIVATE
            src/common
            src/liblzma/api
            src/liblzma
        )

        target_link_libraries("${TEST}" PRIVATE liblzma tests_w32res)

        # Put the test programs into their own subdirectory so they don't
        # pollute the top-level dir which might contain xz and xzdec.
        set_target_properties("${TEST}" PROPERTIES
            RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/tests_bin"
        )

        add_test(NAME "${TEST}"
                 COMMAND "${CMAKE_CURRENT_BINARY_DIR}/tests_bin/${TEST}"
        )

        # Set srcdir environment variable so that the tests find their
        # input files from the source tree.
        #
        # Set the return code for skipped tests to match Automake convention.
        set_tests_properties("${TEST}" PROPERTIES
            ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
            SKIP_RETURN_CODE 77
        )
    endforeach()


    ###########################
    # Command line tool tests #
    ###########################

    # Since the CMake-based build doesn't use config.h, the test scripts
    # cannot grep the contents of config.h to know which features have
    # been disabled. When config.h is missing, they assume that all
    # features are enabled. Thus, check if certain groups of features have
    # been disabled and then possibly skip some of the tests entirely instead
    # of letting them fail.
    set(SUPPORTED_FILTERS_SORTED "${SUPPORTED_FILTERS}")
    list(SORT SUPPORTED_FILTERS_SORTED)

    set(ENCODERS_SORTED "${XZ_ENCODERS}")
    list(SORT ENCODERS_SORTED)

    if("${ENCODERS_SORTED}" STREQUAL "${SUPPORTED_FILTERS_SORTED}")
        set(HAVE_ALL_ENCODERS ON)
    else()
        set(HAVE_ALL_ENCODERS OFF)
    endif()

    set(DECODERS_SORTED "${XZ_DECODERS}")
    list(SORT DECODERS_SORTED)

    if("${DECODERS_SORTED}" STREQUAL "${SUPPORTED_FILTERS_SORTED}")
        set(HAVE_ALL_DECODERS ON)
    else()
        set(HAVE_ALL_DECODERS OFF)
    endif()

    set(SUPPORTED_CHECKS_SORTED "${SUPPORTED_CHECKS}")
    list(SORT SUPPORTED_CHECKS_SORTED)

    set(XZ_CHECKS_SORTED "${XZ_CHECKS}")
    list(SORT XZ_CHECKS_SORTED)

    if("${SUPPORTED_CHECKS_SORTED}" STREQUAL "${XZ_CHECKS_SORTED}")
        set(HAVE_ALL_CHECKS ON)
    else()
        set(HAVE_ALL_CHECKS OFF)
    endif()

    # test_scripts.sh only needs LZMA2 decoder and CRC32.
    if(ENABLE_SCRIPTS)
        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_scripts")

        add_test(NAME test_scripts.sh
            COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_scripts.sh" ".."
            WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_scripts"
        )

        set_tests_properties(test_scripts.sh PROPERTIES
            ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
            SKIP_RETURN_CODE 77
        )
    endif()

    # test_suffix.sh only needs LZMA2 encoder and decoder.
    if(UNIX AND HAVE_ENCODERS AND HAVE_DECODERS)
        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_suffix")

        add_test(NAME test_suffix.sh
            COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_suffix.sh" ".."
            WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_suffix"
        )

        set_tests_properties(test_suffix.sh PROPERTIES
            SKIP_RETURN_CODE 77
        )
    endif()

    # The test_compress.sh based tests compress and decompress using different
    # filters so run it only if all encoders and decoders have been enabled.
    if(UNIX AND HAVE_ALL_ENCODERS AND HAVE_ALL_DECODERS)
        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_compress")

        add_executable(create_compress_files tests/create_compress_files.c)
        target_link_libraries(create_compress_files PRIVATE tests_w32res)
        target_include_directories(create_compress_files PRIVATE src/common)
        set_target_properties(create_compress_files PROPERTIES
                              RUNTIME_OUTPUT_DIRECTORY test_compress)

        foreach(T compress_generated_abc
                  compress_generated_text
                  compress_generated_random)
            add_test(NAME "test_${T}"
                COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_compress.sh"
                        "${T}" ".."
                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_compress"
            )

            set_tests_properties("test_${T}" PROPERTIES
                ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
                SKIP_RETURN_CODE 77
            )
        endforeach()
    endif()

    # test_files.sh decompresses files that use different filters and
    # check types so run it only if support for all of them has been enabled.
    if(UNIX AND HAVE_ALL_DECODERS AND HAVE_ALL_CHECKS AND XZ_LZIP_DECODER)
        # test_files.sh doesn't make any temporary files but it
        # must not be run at the top-level build directory because
        # it checks if ../config.h exists. We don't want to read
        # files outside the build directory!
        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_files")

        add_test(NAME test_files.sh
            COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_files.sh" ".."
            WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_files"
        )

        set_tests_properties(test_files.sh PROPERTIES
            ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
            SKIP_RETURN_CODE 77
        )
    endif()
endif()
@


