From f74c225338cc2b2c832bb9bf5c4c202cc17f8b8b Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Tue, 14 Nov 2023 19:15:34 +0100 Subject: [PATCH] CI updates --- .github/workflows/ci.yml | 7 +- .../static-analyzer-clang-analyzer.yml | 5 +- .../workflows/static-analyzer-clang-tidy.yml | 5 +- .github/workflows/static-analyzer-codeql.yml | 5 +- .github/workflows/test-alpine-linux.yml | 5 +- .github/workflows/test-cmake-default.yml | 5 +- .github/workflows/test-unused.yml | 5 +- .github/workflows/test-yaml-check.yml | 5 +- .github/workflows/weekly-ci-bs-by-hand.yml | 5 +- .../weekly-ci-bs-cmake-macos-xcode.yml | 5 +- .../weekly-ci-bs-cmake-windows-make.yml | 5 +- .../weekly-ci-bs-cmake-windows-ninja.yml | 5 +- .../weekly-ci-bs-cmake-windows-nmake.yml | 9 +- .github/workflows/weekly-ci-bs-misc.yml | 5 +- .../workflows/weekly-ci-cc-alpine-linux.yml | 6 +- .../workflows/weekly-ci-cc-alpine-mingw.yml | 6 +- .github/workflows/weekly-ci-cc-llvm-mingw.yml | 6 +- .github/workflows/weekly-ci-cc-zigcc.yml | 5 +- .github/workflows/weekly-ci-rt-checkers.yml | 5 +- CMakeLists.txt | 51 +++-- Makefile | 2 + misc/cmake/try_compile/std_lock_guard.cpp | 10 + misc/make/Makefile-extra.mk | 15 +- .../cross-compile-upx-ubuntu/packages.txt | 182 +++++++++--------- misc/podman/rebuild-stubs/packages.txt | 8 +- src/Makefile | 4 + src/check/dt_check.cpp | 8 +- src/conf.h | 6 - 28 files changed, 228 insertions(+), 162 deletions(-) create mode 100644 misc/cmake/try_compile/std_lock_guard.cpp diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 18adfb6f..aba94c4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,8 +9,9 @@ name: 'CI' on: [push, workflow_dispatch] env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive UPX_CMAKE_BUILD_FLAGS: --verbose # 2023-11-08 @@ -157,7 +158,7 @@ jobs: run: | # testsuite needs working "readlink -en" and "sha256sum -b" if ! test -e /usr/local/opt/coreutils/libexec/gnubin/readlink; then - echo "===== brew leaves:"; brew leaves; echo "===== brew list:"; brew list + echo "===== brew leaves:"; brew leaves; echo "===== brew list:"; brew list --versions # only run "brew update" if needed if ! brew install coreutils; then brew update && brew install coreutils; fi fi diff --git a/.github/workflows/static-analyzer-clang-analyzer.yml b/.github/workflows/static-analyzer-clang-analyzer.yml index b98907aa..c3032199 100644 --- a/.github/workflows/static-analyzer-clang-analyzer.yml +++ b/.github/workflows/static-analyzer-clang-analyzer.yml @@ -5,8 +5,9 @@ on: schedule: [cron: '10 4 * * 3'] # run weekly Wednesday 04:10 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/.github/workflows/static-analyzer-clang-tidy.yml b/.github/workflows/static-analyzer-clang-tidy.yml index 5c7c6bb6..e3655052 100644 --- a/.github/workflows/static-analyzer-clang-tidy.yml +++ b/.github/workflows/static-analyzer-clang-tidy.yml @@ -5,8 +5,9 @@ on: schedule: [cron: '30 4 * * 3'] # run weekly Wednesday 04:30 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/.github/workflows/static-analyzer-codeql.yml b/.github/workflows/static-analyzer-codeql.yml index 44787ee5..076d9e81 100644 --- a/.github/workflows/static-analyzer-codeql.yml +++ b/.github/workflows/static-analyzer-codeql.yml @@ -5,8 +5,9 @@ on: schedule: [cron: '50 4 * * 3'] # run weekly Wednesday 04:50 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/.github/workflows/test-alpine-linux.yml b/.github/workflows/test-alpine-linux.yml index 7a19f0f5..da3fa9bb 100644 --- a/.github/workflows/test-alpine-linux.yml +++ b/.github/workflows/test-alpine-linux.yml @@ -6,8 +6,9 @@ name: 'Test - Minimal Alpine build' on: [workflow_dispatch] env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/.github/workflows/test-cmake-default.yml b/.github/workflows/test-cmake-default.yml index 9bac0a3c..293cb055 100644 --- a/.github/workflows/test-cmake-default.yml +++ b/.github/workflows/test-cmake-default.yml @@ -3,8 +3,9 @@ name: 'Test - CMake default build type' on: [workflow_dispatch] env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/.github/workflows/test-unused.yml b/.github/workflows/test-unused.yml index 877e079c..2a618239 100644 --- a/.github/workflows/test-unused.yml +++ b/.github/workflows/test-unused.yml @@ -3,8 +3,9 @@ name: 'Test - Unused' on: [workflow_dispatch] env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/.github/workflows/test-yaml-check.yml b/.github/workflows/test-yaml-check.yml index f3ca5996..2b491f3f 100644 --- a/.github/workflows/test-yaml-check.yml +++ b/.github/workflows/test-yaml-check.yml @@ -3,8 +3,9 @@ name: 'Test - YAML check' on: [workflow_dispatch] env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/.github/workflows/weekly-ci-bs-by-hand.yml b/.github/workflows/weekly-ci-bs-by-hand.yml index 5e7c9faf..81e114ef 100644 --- a/.github/workflows/weekly-ci-bs-by-hand.yml +++ b/.github/workflows/weekly-ci-bs-by-hand.yml @@ -6,8 +6,9 @@ on: schedule: [cron: '00 1 * * 3'] # run weekly Wednesday 01:00 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive VERBOSE: 1 diff --git a/.github/workflows/weekly-ci-bs-cmake-macos-xcode.yml b/.github/workflows/weekly-ci-bs-cmake-macos-xcode.yml index 53e9d1ed..b4512d9d 100644 --- a/.github/workflows/weekly-ci-bs-cmake-macos-xcode.yml +++ b/.github/workflows/weekly-ci-bs-cmake-macos-xcode.yml @@ -6,8 +6,9 @@ on: schedule: [cron: '10 1 * * 3'] # run weekly Wednesday 01:10 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/.github/workflows/weekly-ci-bs-cmake-windows-make.yml b/.github/workflows/weekly-ci-bs-cmake-windows-make.yml index c8b024a0..69bd84a3 100644 --- a/.github/workflows/weekly-ci-bs-cmake-windows-make.yml +++ b/.github/workflows/weekly-ci-bs-cmake-windows-make.yml @@ -6,8 +6,9 @@ on: schedule: [cron: '20 1 * * 3'] # run weekly Wednesday 01:20 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive UPX_CMAKE_BUILD_FLAGS: --verbose UPX_CMAKE_CONFIG_FLAGS: -G "Unix Makefiles" diff --git a/.github/workflows/weekly-ci-bs-cmake-windows-ninja.yml b/.github/workflows/weekly-ci-bs-cmake-windows-ninja.yml index 6f48806c..02e8e2be 100644 --- a/.github/workflows/weekly-ci-bs-cmake-windows-ninja.yml +++ b/.github/workflows/weekly-ci-bs-cmake-windows-ninja.yml @@ -6,8 +6,9 @@ on: schedule: [cron: '30 1 * * 3'] # run weekly Wednesday 01:30 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive UPX_CMAKE_BUILD_FLAGS: --verbose UPX_CMAKE_CONFIG_FLAGS: -G Ninja diff --git a/.github/workflows/weekly-ci-bs-cmake-windows-nmake.yml b/.github/workflows/weekly-ci-bs-cmake-windows-nmake.yml index 3acf60c0..135e5402 100644 --- a/.github/workflows/weekly-ci-bs-cmake-windows-nmake.yml +++ b/.github/workflows/weekly-ci-bs-cmake-windows-nmake.yml @@ -6,8 +6,9 @@ on: schedule: [cron: '40 1 * * 3'] # run weekly Wednesday 01:40 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: @@ -43,7 +44,7 @@ jobs: shell: cmd run: | set X=${{ matrix.clang_cl && '-DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl' || '' }} - cmake -S . -B build/debug -G "NMake Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Debug %X% + cmake -S . -B build/debug -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug %X% cd build/debug nmake dir *.exe @@ -52,7 +53,7 @@ jobs: shell: cmd run: | set X=${{ matrix.clang_cl && '-DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl' || '' }} - cmake -S . -B build/release -G "NMake Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON %X% + cmake -S . -B build/release -G "NMake Makefiles" %X% cd build/release nmake dir *.exe diff --git a/.github/workflows/weekly-ci-bs-misc.yml b/.github/workflows/weekly-ci-bs-misc.yml index feac7555..644586a4 100644 --- a/.github/workflows/weekly-ci-bs-misc.yml +++ b/.github/workflows/weekly-ci-bs-misc.yml @@ -6,8 +6,9 @@ on: schedule: [cron: '50 1 * * 3'] # run weekly Wednesday 01:50 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive UPX_CMAKE_BUILD_FLAGS: --verbose diff --git a/.github/workflows/weekly-ci-cc-alpine-linux.yml b/.github/workflows/weekly-ci-cc-alpine-linux.yml index dff83f9b..dd09b064 100644 --- a/.github/workflows/weekly-ci-cc-alpine-linux.yml +++ b/.github/workflows/weekly-ci-cc-alpine-linux.yml @@ -15,10 +15,10 @@ on: schedule: [cron: '00 2 * * 3'] # run weekly Wednesday 02:00 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive - UPX_CMAKE_CONFIG_FLAGS: -DCMAKE_VERBOSE_MAKEFILE=ON UPX_TESTSUITE_LEVEL: 4 jobs: diff --git a/.github/workflows/weekly-ci-cc-alpine-mingw.yml b/.github/workflows/weekly-ci-cc-alpine-mingw.yml index 60267574..799b9367 100644 --- a/.github/workflows/weekly-ci-cc-alpine-mingw.yml +++ b/.github/workflows/weekly-ci-cc-alpine-mingw.yml @@ -6,10 +6,10 @@ on: schedule: [cron: '20 2 * * 3'] # run weekly Wednesday 02:20 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive - UPX_CMAKE_CONFIG_FLAGS: -DCMAKE_VERBOSE_MAKEFILE=ON jobs: job-alpine-mingw: # uses cmake + make diff --git a/.github/workflows/weekly-ci-cc-llvm-mingw.yml b/.github/workflows/weekly-ci-cc-llvm-mingw.yml index a3d21c33..56a3afe4 100644 --- a/.github/workflows/weekly-ci-cc-llvm-mingw.yml +++ b/.github/workflows/weekly-ci-cc-llvm-mingw.yml @@ -8,10 +8,10 @@ on: schedule: [cron: '30 2 * * 3'] # run weekly Wednesday 02:30 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive - UPX_CMAKE_CONFIG_FLAGS: -DCMAKE_VERBOSE_MAKEFILE=ON jobs: job-llvm-mingw: # uses cmake + make diff --git a/.github/workflows/weekly-ci-cc-zigcc.yml b/.github/workflows/weekly-ci-cc-zigcc.yml index 2e4f311d..df2266cb 100644 --- a/.github/workflows/weekly-ci-cc-zigcc.yml +++ b/.github/workflows/weekly-ci-cc-zigcc.yml @@ -8,8 +8,9 @@ on: schedule: [cron: '40 2 * * 3'] # run weekly Wednesday 02:40 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive # 2023-11-08 ZIG_DIST_VERSION: 0.12.0-dev.1502+b3462b7ce diff --git a/.github/workflows/weekly-ci-rt-checkers.yml b/.github/workflows/weekly-ci-rt-checkers.yml index 04dc5841..fffd916b 100644 --- a/.github/workflows/weekly-ci-rt-checkers.yml +++ b/.github/workflows/weekly-ci-rt-checkers.yml @@ -8,8 +8,9 @@ on: schedule: [cron: '00 3 * * 3'] # run weekly Wednesday 03:00 UTC workflow_dispatch: env: - CMAKE_REQUIRED_QUIET: "OFF" - CTEST_OUTPUT_ON_FAILURE: "ON" + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' DEBIAN_FRONTEND: noninteractive jobs: diff --git a/CMakeLists.txt b/CMakeLists.txt index 254f5c19..5c207d04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,6 +119,10 @@ upx_cache_bool_vars(ON CMAKE_C_STANDARD_REQUIRED CMAKE_CXX_STANDARD_REQUIRED CMAKE_EXPORT_COMPILE_COMMANDS CMAKE_REQUIRED_QUIET ) +# global CMake settings that default to OFF +upx_cache_bool_vars(OFF + CMAKE_VERBOSE_MAKEFILE +) # internal UPX settings that default to OFF upx_cache_bool_vars(OFF UPX_CONFIG_CMAKE_DISABLE_TEST UPX_CONFIG_CMAKE_DISABLE_INSTALL @@ -418,6 +422,20 @@ upx_cmake_include_hook(4_targets_begin) if(NOT UPX_CONFIG_DISABLE_THREADS) find_package(Threads) endif() +# make sure that threads are indeed fully supported +if(Threads_FOUND) + foreach(f std_lock_guard.cpp) + set(CMAKE_TRY_COMPILE_TARGET_TYPE "EXECUTABLE") + try_compile(result "${CMAKE_CURRENT_BINARY_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}/misc/cmake/try_compile/${f}" + OUTPUT_VARIABLE output) + if(NOT result) + #message(STATUS "${output}") # debug output from try_compile + set(Threads_FOUND OFF) + break() + endif() + endforeach() +endif() if(NOT UPX_CONFIG_DISABLE_BZIP2) upx_add_glob_files(bzip2_SOURCES "vendor/bzip2/*.c") @@ -573,22 +591,21 @@ upx_cmake_include_hook(6_test) if(NOT UPX_CONFIG_CMAKE_DISABLE_TEST) +function(upx_add_test) + set(name "${ARGV0}") + list(REMOVE_AT ARGV 0) + add_test(NAME "${name}" COMMAND ${ARGV}) + set_tests_properties("${name}" PROPERTIES RUN_SERIAL TRUE) # run these tests sequentially +endfunction() + include(CTest) -# TODO later: check CMAKE_CROSSCOMPILING_EMULATOR -if(NOT CMAKE_CROSSCOMPILING) +if(NOT CMAKE_CROSSCOMPILING OR CMAKE_CROSSCOMPILING_EMULATOR) add_test(NAME upx-version COMMAND upx --version) add_test(NAME upx-help COMMAND upx --help) add_test(NAME upx-sysinfo COMMAND upx --sysinfo -v) -endif() -if(NOT CMAKE_CROSSCOMPILING AND NOT UPX_CONFIG_DISABLE_SELF_PACK_TEST) +if(NOT UPX_CONFIG_DISABLE_SELF_PACK_TEST) # IMPORTANT NOTE: these tests can only work if the host executable format is supported by UPX! - function(upx_add_test) - set(name "${ARGV0}") - list(REMOVE_AT ARGV 0) - add_test(NAME "${name}" COMMAND ${ARGV}) - set_tests_properties("${name}" PROPERTIES RUN_SERIAL TRUE) # run these tests sequentially - endfunction() - set(exe ${CMAKE_EXECUTABLE_SUFFIX}) + set(exe "${CMAKE_EXECUTABLE_SUFFIX}") set(upx_self_exe "$") set(fo "--force-overwrite") upx_add_test(upx-self-pack upx -3 "${upx_self_exe}" ${fo} -o upx-packed${exe}) @@ -600,8 +617,9 @@ if(NOT CMAKE_CROSSCOMPILING AND NOT UPX_CONFIG_DISABLE_SELF_PACK_TEST) upx_add_test(upx-fileinfo upx --fileinfo upx-packed${exe} upx-packed-n2b${exe} upx-packed-n2d${exe} upx-packed-n2e${exe} upx-packed-lzma${exe}) upx_add_test(upx-test upx -t upx-packed${exe} upx-packed-n2b${exe} upx-packed-n2d${exe} upx-packed-n2e${exe} upx-packed-lzma${exe}) upx_add_test(upx-unpack upx -d upx-packed${exe} ${fo} -o upx-unpacked${exe}) - upx_add_test(upx-run-unpacked ./upx-unpacked${exe} --version-short) - upx_add_test(upx-run-packed ./upx-packed${exe} --version-short) + upx_add_test(upx-run-unpacked ${CMAKE_CROSSCOMPILING_EMULATOR} ./upx-unpacked${exe} --version-short) + upx_add_test(upx-run-packed ${CMAKE_CROSSCOMPILING_EMULATOR} ./upx-packed${exe} --version-short) +endif() # UPX_CONFIG_DISABLE_SELF_PACK_TEST endif() endif() # UPX_CONFIG_CMAKE_DISABLE_TEST @@ -646,13 +664,16 @@ upx_cmake_include_hook(8_summary) print_var(CMAKE_VERSION UPX_CONFIG_CMAKE_MINIMUM_REQUIRED_VERSION CMAKE_GENERATOR) if(NOT UPX_CONFIG_CMAKE_DISABLE_PRINT_INFO) print_var(CMAKE_HOST_SYSTEM_NAME CMAKE_HOST_SYSTEM_VERSION) -print_var(CMAKE_SYSTEM_NAME CMAKE_SYSTEM_VERSION CMAKE_CROSSCOMPILING) +print_var(CMAKE_SYSTEM_NAME CMAKE_SYSTEM_VERSION CMAKE_CROSSCOMPILING CMAKE_CROSSCOMPILING_EMULATOR) print_var(CMAKE_C_COMPILER_ID CMAKE_C_COMPILER_VERSION CMAKE_C_COMPILER_FRONTEND_VARIANT CMAKE_C_COMPILER_ARCHITECTURE_ID CMAKE_C_PLATFORM_ID CMAKE_C_COMPILER_ABI) print_var(CMAKE_CXX_COMPILER_ID CMAKE_CXX_COMPILER_VERSION CMAKE_CXX_COMPILER_FRONTEND_VARIANT CMAKE_CXX_COMPILER_ARCHITECTURE_ID CMAKE_CXX_PLATFORM_ID CMAKE_CXX_COMPILER_ABI) -print_var(CMAKE_CROSSCOMPILING_EMULATOR CMAKE_INTERPROCEDURAL_OPTIMIZATION CMAKE_POSITION_INDEPENDENT_CODE CMAKE_TRY_COMPILE_CONFIGURATION) +print_var(CMAKE_INTERPROCEDURAL_OPTIMIZATION CMAKE_POSITION_INDEPENDENT_CODE CMAKE_TRY_COMPILE_CONFIGURATION) print_var(CYGWIN GNUC MINGW MSVC MSVC_FRONTEND MSVC_IDE WIN32 WIN64) endif() # UPX_CONFIG_CMAKE_DISABLE_PRINT_INFO print_var(CMAKE_INSTALL_PREFIX CMAKE_CONFIGURATION_TYPES CMAKE_BUILD_TYPE) +if(Threads_FOUND) + message(STATUS "WITH_THREADS = 1") +endif() if(CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|None|Release)$") message(WARNING "WARNING: unsupported CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}; please use \"Debug\" or \"Release\"") endif() diff --git a/Makefile b/Makefile index b6ef3bab..401ba676 100644 --- a/Makefile +++ b/Makefile @@ -63,6 +63,8 @@ include ./misc/make/Makefile-extra.mk endif # developer convenience +test: $(.DEFAULT_GOAL) + cd $(.DEFAULT_GOAL) && ctest ifneq ($(wildcard /usr/bin/env),) # needs bash, perl, xargs, etc. check-whitespace clang-format run-testsuite run-testsuite-debug run-testsuite-release: PHONY src/Makefile $(MAKE) -C src $@ diff --git a/misc/cmake/try_compile/std_lock_guard.cpp b/misc/cmake/try_compile/std_lock_guard.cpp new file mode 100644 index 00000000..feed2a40 --- /dev/null +++ b/misc/cmake/try_compile/std_lock_guard.cpp @@ -0,0 +1,10 @@ +// Copyright (C) Markus Franz Xaver Johannes Oberhumer + +#include + +static std::mutex lock_mutex; + +int main() { + std::lock_guard lock(lock_mutex); + return 0; +} diff --git a/misc/make/Makefile-extra.mk b/misc/make/Makefile-extra.mk index 612898e4..fffe5b22 100644 --- a/misc/make/Makefile-extra.mk +++ b/misc/make/Makefile-extra.mk @@ -124,36 +124,46 @@ build/extra/cross-linux-gnu-aarch64/debug: PHONY; $(call run_config_and_build, build/extra/cross-linux-gnu-aarch64/release: PHONY; $(call run_config_and_build,$@,Release) build/extra/cross-linux-gnu-aarch64/%: export CC = aarch64-linux-gnu-gcc build/extra/cross-linux-gnu-aarch64/%: export CXX = aarch64-linux-gnu-g++ +build/extra/cross-linux-gnu-aarch64/%: CMAKE_SYSTEM_NAME = Linux +build/extra/cross-linux-gnu-aarch64/%: CMAKE_CROSSCOMPILING_EMULATOR = qemu-aarch64 # cross compiler: Linux glibc arm-linux-gnueabihf build/extra/cross-linux-gnu-arm-eabihf/debug: PHONY; $(call run_config_and_build,$@,Debug) build/extra/cross-linux-gnu-arm-eabihf/release: PHONY; $(call run_config_and_build,$@,Release) build/extra/cross-linux-gnu-arm-eabihf/%: export CC = arm-linux-gnueabihf-gcc build/extra/cross-linux-gnu-arm-eabihf/%: export CXX = arm-linux-gnueabihf-g++ -Wno-psabi +build/extra/cross-linux-gnu-arm-eabihf/%: CMAKE_SYSTEM_NAME = Linux +build/extra/cross-linux-gnu-arm-eabihf/%: CMAKE_CROSSCOMPILING_EMULATOR = qemu-arm # cross compiler: Windows x86 win32 MinGW (i386) build/extra/cross-windows-mingw32/debug: PHONY; $(call run_config_and_build,$@,Debug) build/extra/cross-windows-mingw32/release: PHONY; $(call run_config_and_build,$@,Release) build/extra/cross-windows-mingw32/%: export CC = i686-w64-mingw32-gcc -static -D_WIN32_WINNT=0x0400 build/extra/cross-windows-mingw32/%: export CXX = i686-w64-mingw32-g++ -static -D_WIN32_WINNT=0x0400 +build/extra/cross-windows-mingw32/%: CMAKE_SYSTEM_NAME = Windows +build/extra/cross-windows-mingw32/%: CMAKE_CROSSCOMPILING_EMULATOR = wine # cross compiler: Windows x64 win64 MinGW (amd64) build/extra/cross-windows-mingw64/debug: PHONY; $(call run_config_and_build,$@,Debug) build/extra/cross-windows-mingw64/release: PHONY; $(call run_config_and_build,$@,Release) build/extra/cross-windows-mingw64/%: export CC = x86_64-w64-mingw32-gcc -static -D_WIN32_WINNT=0x0400 build/extra/cross-windows-mingw64/%: export CXX = x86_64-w64-mingw32-g++ -static -D_WIN32_WINNT=0x0400 +build/extra/cross-windows-mingw64/%: CMAKE_SYSTEM_NAME = Windows +build/extra/cross-windows-mingw64/%: CMAKE_CROSSCOMPILING_EMULATOR = wine # cross compiler: macOS arm64 (aarch64) build/extra/cross-darwin-arm64/debug: PHONY; $(call run_config_and_build,$@,Debug) build/extra/cross-darwin-arm64/release: PHONY; $(call run_config_and_build,$@,Release) build/extra/cross-darwin-arm64/%: export CC = clang -target arm64-apple-darwin build/extra/cross-darwin-arm64/%: export CXX = clang++ -target arm64-apple-darwin +build/extra/cross-darwin-arm64/%: CMAKE_SYSTEM_NAME = Darwin # cross compiler: macOS x86_64 (amd64) build/extra/cross-darwin-x86_64/debug: PHONY; $(call run_config_and_build,$@,Debug) build/extra/cross-darwin-x86_64/release: PHONY; $(call run_config_and_build,$@,Release) build/extra/cross-darwin-x86_64/%: export CC = clang -target x86_64-apple-darwin build/extra/cross-darwin-x86_64/%: export CXX = clang++ -target x86_64-apple-darwin +build/extra/cross-darwin-x86_64/%: CMAKE_SYSTEM_NAME = Darwin #*********************************************************************** # C/C++ static analyzers @@ -213,7 +223,7 @@ xtarget/all: xtarget/debug xtarget/release xtarget/debug: build/xtarget/$(UPX_XTARGET)/debug xtarget/release: build/xtarget/$(UPX_XTARGET)/release # set new default -.DEFAULT_GOAL = xtarget/release +.DEFAULT_GOAL = build/xtarget/$(UPX_XTARGET)/release endif endif @@ -235,6 +245,9 @@ build/%: UPX_CMAKE_CONFIG_FLAGS += $(call __add_cmake_config,CMAKE_RANLIB) build/%: UPX_CMAKE_CONFIG_FLAGS += $(call __add_cmake_config,CMAKE_OBJCOPY) build/%: UPX_CMAKE_CONFIG_FLAGS += $(call __add_cmake_config,CMAKE_OBJDUMP) build/%: UPX_CMAKE_CONFIG_FLAGS += $(call __add_cmake_config,CMAKE_STRIP) +# pass common CMake cross compilation settings from environment/make to cmake +build/%: UPX_CMAKE_CONFIG_FLAGS += $(call __add_cmake_config,CMAKE_SYSTEM_NAME) +build/%: UPX_CMAKE_CONFIG_FLAGS += $(call __add_cmake_config,CMAKE_CROSSCOMPILING_EMULATOR) # pass UPX config options from environment/make to cmake; see CMakeLists.txt build/%: UPX_CMAKE_CONFIG_FLAGS += $(call __add_cmake_config,UPX_CONFIG_DISABLE_GITREV) build/%: UPX_CMAKE_CONFIG_FLAGS += $(call __add_cmake_config,UPX_CONFIG_DISABLE_SANITIZE) diff --git a/misc/podman/cross-compile-upx-ubuntu/packages.txt b/misc/podman/cross-compile-upx-ubuntu/packages.txt index cae8a5b2..039c73c4 100644 --- a/misc/podman/cross-compile-upx-ubuntu/packages.txt +++ b/misc/podman/cross-compile-upx-ubuntu/packages.txt @@ -6,7 +6,7 @@ ii acl 2.3.1-1 ii adduser 3.118ubuntu5 all add and remove users and groups ii adwaita-icon-theme 41.0-1ubuntu1 all default icon theme of GNOME (small subset) ii alsa-topology-conf 1.2.5.1-2 all ALSA topology configuration files -ii alsa-ucm-conf 1.2.6.3-1ubuntu1.7 all ALSA Use Case Manager configuration files +ii alsa-ucm-conf 1.2.6.3-1ubuntu1.8 all ALSA Use Case Manager configuration files ii apt 2.4.10 amd64 commandline package manager ii aria2 1.36.0-1 amd64 High speed download utility ii at-spi2-core 2.44.0-3 amd64 Assistive Technology Service Provider Interface (dbus core) @@ -96,7 +96,7 @@ ii cpp-sh4-linux-gnu 4:11.2.0--1ubuntu1 ii cpp-sparc64-linux-gnu 4:11.2.0--1ubuntu1 amd64 GNU C preprocessor (cpp) for the sparc64 architecture ii cpp-x86-64-linux-gnux32 4:11.2.0--1ubuntu1 amd64 GNU C preprocessor (cpp) for the x32 architecture ii cpu-checker 0.7-1.3build1 amd64 tools to help evaluate certain CPU (or BIOS) features -ii curl 7.81.0-1ubuntu1.13 amd64 command line tool for transferring data with URL syntax +ii curl 7.81.0-1ubuntu1.14 amd64 command line tool for transferring data with URL syntax ii dash 0.5.11+git20210903+057cd650a4ed-3build1 amd64 POSIX-compliant shell ii dbus 1.12.20-2ubuntu4.1 amd64 simple interprocess messaging system (daemon and utilities) ii dbus-user-session 1.12.20-2ubuntu4.1 amd64 simple interprocess messaging system (systemd --user integration) @@ -106,7 +106,7 @@ ii debconf 1.5.79ubuntu1 ii debianutils 5.5-1ubuntu2 amd64 Miscellaneous utilities specific to Debian ii dh-elpa-helper 2.0.9ubuntu1 all helper package for emacs lisp extensions ii diffutils 1:3.8-0ubuntu2 amd64 File comparison utilities -ii distro-info-data 0.52ubuntu0.4 all information about the distributions' releases (data files) +ii distro-info-data 0.52ubuntu0.5 all information about the distributions' releases (data files) ii dmsetup 2:1.02.175-2.1ubuntu4 amd64 Linux Kernel Device Mapper userspace library ii dpkg 1.21.1ubuntu2.2 amd64 Debian package management system ii e2fsprogs 1.46.5-2ubuntu1.1 amd64 ext2/ext3/ext4 file system utilities @@ -279,7 +279,7 @@ ii ipxe-qemu 1.21.1+git-20220113.fbbdc3926-0ubu ii ipxe-qemu-256k-compat-efi-roms 1.0.0+git-20150424.a25a16d-0ubuntu4 all PXE boot firmware - Compat EFI ROM images for qemu ii iso-codes 4.9.0-1 all ISO language, territory, currency, script codes and their translations ii jq 1.6-2.1ubuntu3 amd64 lightweight and flexible command-line JSON processor -ii krb5-locales 1.19.2-2ubuntu0.2 all internationalization support for MIT Kerberos +ii krb5-locales 1.19.2-2ubuntu0.3 all internationalization support for MIT Kerberos ii less 590-1ubuntu0.22.04.1 amd64 pager program similar to more ii lib32asan6 11.4.0-1ubuntu1~22.04 amd64 AddressSanitizer -- a fast memory error detector (32bit) ii lib32atomic1 12.3.0-1ubuntu1~22.04 amd64 support library providing __atomic built-in functions (32bit) @@ -372,17 +372,17 @@ ii libbsd0:i386 0.11.5-1 ii libbz2-1.0:amd64 1.0.8-5build1 amd64 high-quality block-sorting file compressor library - runtime ii libbz2-1.0:i386 1.0.8-5build1 i386 high-quality block-sorting file compressor library - runtime ii libc-ares2:amd64 1.18.1-1ubuntu0.22.04.2 amd64 asynchronous name resolver -ii libc-bin 2.35-0ubuntu3.3 amd64 GNU C Library: Binaries -ii libc-dev-bin 2.35-0ubuntu3.3 amd64 GNU C Library: Development binaries +ii libc-bin 2.35-0ubuntu3.4 amd64 GNU C Library: Binaries +ii libc-dev-bin 2.35-0ubuntu3.4 amd64 GNU C Library: Development binaries ii libc6-arm64-cross 2.35-0ubuntu1cross3 all GNU C Library: Shared libraries (for cross-compiling) ii libc6-armel-cross 2.35-0ubuntu1cross3 all GNU C Library: Shared libraries (for cross-compiling) ii libc6-armhf-cross 2.35-0ubuntu1cross3 all GNU C Library: Shared libraries (for cross-compiling) -ii libc6-dbg:amd64 2.35-0ubuntu3.3 amd64 GNU C Library: detached debugging symbols +ii libc6-dbg:amd64 2.35-0ubuntu3.4 amd64 GNU C Library: detached debugging symbols ii libc6-dev-arm64-cross 2.35-0ubuntu1cross3 all GNU C Library: Development Libraries and Header Files (for cross-compiling) ii libc6-dev-armel-cross 2.35-0ubuntu1cross3 all GNU C Library: Development Libraries and Header Files (for cross-compiling) ii libc6-dev-armhf-cross 2.35-0ubuntu1cross3 all GNU C Library: Development Libraries and Header Files (for cross-compiling) ii libc6-dev-hppa-cross 2.35-0ubuntu3cross4 all GNU C Library: Development Libraries and Header Files (for cross-compiling) -ii libc6-dev-i386 2.35-0ubuntu3.3 amd64 GNU C Library: 32-bit development libraries for AMD64 +ii libc6-dev-i386 2.35-0ubuntu3.4 amd64 GNU C Library: 32-bit development libraries for AMD64 ii libc6-dev-i386-cross 2.35-0ubuntu1cross3 all GNU C Library: Development Libraries and Header Files (for cross-compiling) ii libc6-dev-m68k-cross 2.35-0ubuntu3cross4 all GNU C Library: Development Libraries and Header Files (for cross-compiling) ii libc6-dev-mips-cross 2.35-0ubuntu1cross1 all GNU C Library: Development Libraries and Header Files (for cross-compiling) @@ -396,11 +396,11 @@ ii libc6-dev-riscv64-cross 2.35-0ubuntu3cross4 ii libc6-dev-s390x-cross 2.35-0ubuntu1cross3 all GNU C Library: Development Libraries and Header Files (for cross-compiling) ii libc6-dev-sh4-cross 2.35-0ubuntu3cross4 all GNU C Library: Development Libraries and Header Files (for cross-compiling) ii libc6-dev-sparc64-cross 2.35-0ubuntu3cross4 all GNU C Library: Development Libraries and Header Files (for cross-compiling) -ii libc6-dev-x32 2.35-0ubuntu3.3 amd64 GNU C Library: X32 ABI Development Libraries for AMD64 +ii libc6-dev-x32 2.35-0ubuntu3.4 amd64 GNU C Library: X32 ABI Development Libraries for AMD64 ii libc6-dev-x32-cross 2.35-0ubuntu3cross4 all GNU C Library: Development Libraries and Header Files (for cross-compiling) -ii libc6-dev:amd64 2.35-0ubuntu3.3 amd64 GNU C Library: Development Libraries and Header Files +ii libc6-dev:amd64 2.35-0ubuntu3.4 amd64 GNU C Library: Development Libraries and Header Files ii libc6-hppa-cross 2.35-0ubuntu3cross4 all GNU C Library: Shared libraries (for cross-compiling) -ii libc6-i386 2.35-0ubuntu3.3 amd64 GNU C Library: 32-bit shared libraries for AMD64 +ii libc6-i386 2.35-0ubuntu3.4 amd64 GNU C Library: 32-bit shared libraries for AMD64 ii libc6-i386-cross 2.35-0ubuntu1cross3 all GNU C Library: Shared libraries (for cross-compiling) ii libc6-m68k-cross 2.35-0ubuntu3cross4 all GNU C Library: Shared libraries (for cross-compiling) ii libc6-mips-cross 2.35-0ubuntu1cross1 all GNU C Library: Shared libraries (for cross-compiling) @@ -414,12 +414,12 @@ ii libc6-riscv64-cross 2.35-0ubuntu3cross4 ii libc6-s390x-cross 2.35-0ubuntu1cross3 all GNU C Library: Shared libraries (for cross-compiling) ii libc6-sh4-cross 2.35-0ubuntu3cross4 all GNU C Library: Shared libraries (for cross-compiling) ii libc6-sparc64-cross 2.35-0ubuntu3cross4 all GNU C Library: Shared libraries (for cross-compiling) -ii libc6-x32 2.35-0ubuntu3.3 amd64 GNU C Library: X32 ABI Shared libraries for AMD64 +ii libc6-x32 2.35-0ubuntu3.4 amd64 GNU C Library: X32 ABI Shared libraries for AMD64 ii libc6-x32-cross 2.35-0ubuntu3cross4 all GNU C Library: Shared libraries (for cross-compiling) ii libc6.1-alpha-cross 2.35-0ubuntu3cross4 all GNU C Library: Shared libraries (for cross-compiling) ii libc6.1-dev-alpha-cross 2.35-0ubuntu3cross4 all GNU C Library: Development Libraries and Header Files (for cross-compiling) -ii libc6:amd64 2.35-0ubuntu3.3 amd64 GNU C Library: Shared libraries -ii libc6:i386 2.35-0ubuntu3.3 i386 GNU C Library: Shared libraries +ii libc6:amd64 2.35-0ubuntu3.4 amd64 GNU C Library: Shared libraries +ii libc6:i386 2.35-0ubuntu3.4 i386 GNU C Library: Shared libraries ii libcaca0:amd64 0.99.beta19-2.2ubuntu4 amd64 colour ASCII art library ii libcaca0:i386 0.99.beta19-2.2ubuntu4 i386 colour ASCII art library ii libcacard0:amd64 1:2.8.0-3build2 amd64 Virtual Common Access Card (CAC) Emulator (runtime library) @@ -450,9 +450,9 @@ ii libctf-nobfd0:amd64 2.38-4ubuntu2.3 ii libctf0:amd64 2.38-4ubuntu2.3 amd64 Compact C Type Format library (runtime, BFD dependency) ii libcups2:amd64 2.4.1op1-1ubuntu4.7 amd64 Common UNIX Printing System(tm) - Core library ii libcups2:i386 2.4.1op1-1ubuntu4.7 i386 Common UNIX Printing System(tm) - Core library -ii libcurl3-gnutls:amd64 7.81.0-1ubuntu1.13 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour) -ii libcurl4:amd64 7.81.0-1ubuntu1.13 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour) -ii libcurl4:i386 7.81.0-1ubuntu1.13 i386 easy-to-use client-side URL transfer library (OpenSSL flavour) +ii libcurl3-gnutls:amd64 7.81.0-1ubuntu1.14 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour) +ii libcurl4:amd64 7.81.0-1ubuntu1.14 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour) +ii libcurl4:i386 7.81.0-1ubuntu1.14 i386 easy-to-use client-side URL transfer library (OpenSSL flavour) ii libdatrie1:amd64 0.2.13-2 amd64 Double-array trie library ii libdatrie1:i386 0.2.13-2 i386 Double-array trie library ii libdaxctl1:amd64 72.1-1 amd64 Utility library for managing the device DAX subsystem @@ -625,8 +625,8 @@ ii libgraphite2-3:amd64 1.3.14-1build2 ii libgraphite2-3:i386 1.3.14-1build2 i386 Font rendering engine for Complex Scripts -- library ii libgsm1:amd64 1.0.19-1 amd64 Shared libraries for GSM speech compressor ii libgsm1:i386 1.0.19-1 i386 Shared libraries for GSM speech compressor -ii libgssapi-krb5-2:amd64 1.19.2-2ubuntu0.2 amd64 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism -ii libgssapi-krb5-2:i386 1.19.2-2ubuntu0.2 i386 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism +ii libgssapi-krb5-2:amd64 1.19.2-2ubuntu0.3 amd64 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism +ii libgssapi-krb5-2:i386 1.19.2-2ubuntu0.3 i386 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism ii libgstreamer-plugins-base1.0-0:amd64 1.20.1-1ubuntu0.1 amd64 GStreamer libraries from the "base" set ii libgstreamer-plugins-base1.0-0:i386 1.20.1-1ubuntu0.1 i386 GStreamer libraries from the "base" set ii libgstreamer-plugins-good1.0-0:amd64 1.20.3-0ubuntu1.1 amd64 GStreamer development files for libraries from the "good" set @@ -680,15 +680,15 @@ ii libjpeg8:i386 8c-2ubuntu10 ii libjq1:amd64 1.6-2.1ubuntu3 amd64 lightweight and flexible command-line JSON processor - shared library ii libjson-c5:amd64 0.15-3~ubuntu1.22.04.2 amd64 JSON manipulation library - shared library ii libjsoncpp25:amd64 1.9.5-3 amd64 library for reading and writing JSON for C++ -ii libk5crypto3:amd64 1.19.2-2ubuntu0.2 amd64 MIT Kerberos runtime libraries - Crypto Library -ii libk5crypto3:i386 1.19.2-2ubuntu0.2 i386 MIT Kerberos runtime libraries - Crypto Library +ii libk5crypto3:amd64 1.19.2-2ubuntu0.3 amd64 MIT Kerberos runtime libraries - Crypto Library +ii libk5crypto3:i386 1.19.2-2ubuntu0.3 i386 MIT Kerberos runtime libraries - Crypto Library ii libkeyutils1:amd64 1.6.1-2ubuntu3 amd64 Linux Key Management Utilities (library) ii libkeyutils1:i386 1.6.1-2ubuntu3 i386 Linux Key Management Utilities (library) ii libkmod2:amd64 29-1ubuntu1 amd64 libkmod shared library -ii libkrb5-3:amd64 1.19.2-2ubuntu0.2 amd64 MIT Kerberos runtime libraries -ii libkrb5-3:i386 1.19.2-2ubuntu0.2 i386 MIT Kerberos runtime libraries -ii libkrb5support0:amd64 1.19.2-2ubuntu0.2 amd64 MIT Kerberos runtime libraries - Support library -ii libkrb5support0:i386 1.19.2-2ubuntu0.2 i386 MIT Kerberos runtime libraries - Support library +ii libkrb5-3:amd64 1.19.2-2ubuntu0.3 amd64 MIT Kerberos runtime libraries +ii libkrb5-3:i386 1.19.2-2ubuntu0.3 i386 MIT Kerberos runtime libraries +ii libkrb5support0:amd64 1.19.2-2ubuntu0.3 amd64 MIT Kerberos runtime libraries - Support library +ii libkrb5support0:i386 1.19.2-2ubuntu0.3 i386 MIT Kerberos runtime libraries - Support library ii liblcms2-2:amd64 2.12~rc1-2build2 amd64 Little CMS 2 color management library ii liblcms2-2:i386 2.12~rc1-2build2 i386 Little CMS 2 color management library ii libldap-2.5-0:amd64 2.5.16+dfsg-0ubuntu0.22.04.1 amd64 OpenLDAP libraries @@ -740,7 +740,7 @@ ii libnl-route-3-200:amd64 3.5.0-0.1 ii libnsl-dev:amd64 1.3.0-2build2 amd64 libnsl development files ii libnsl2:amd64 1.3.0-2build2 amd64 Public client interface for NIS(YP) and NIS+ ii libnspr4:amd64 2:4.32-3build1 amd64 NetScape Portable Runtime Library -ii libnss-systemd:amd64 249.11-0ubuntu3.10 amd64 nss module providing dynamic user and group name resolution +ii libnss-systemd:amd64 249.11-0ubuntu3.11 amd64 nss module providing dynamic user and group name resolution ii libnss3:amd64 2:3.68.2-0ubuntu1.2 amd64 Network Security Service libraries ii libnuma1:amd64 2.0.14-3ubuntu2 amd64 Libraries for controlling NUMA policy ii libobjc-11-dev:amd64 11.4.0-1ubuntu1~22.04 amd64 Runtime library for GNU Objective-C applications (development files) @@ -765,7 +765,7 @@ ii libpam-cap:amd64 1:2.44-1ubuntu0.22.04.1 ii libpam-modules-bin 1.4.0-11ubuntu2.3 amd64 Pluggable Authentication Modules for PAM - helper binaries ii libpam-modules:amd64 1.4.0-11ubuntu2.3 amd64 Pluggable Authentication Modules for PAM ii libpam-runtime 1.4.0-11ubuntu2.3 all Runtime support for the PAM library -ii libpam-systemd:amd64 249.11-0ubuntu3.10 amd64 system and service manager - PAM module +ii libpam-systemd:amd64 249.11-0ubuntu3.11 amd64 system and service manager - PAM module ii libpam0g:amd64 1.4.0-11ubuntu2.3 amd64 Pluggable Authentication Modules library ii libpango-1.0-0:amd64 1.50.6+ds-2ubuntu1 amd64 Layout and rendering of internationalized text ii libpango-1.0-0:i386 1.50.6+ds-2ubuntu1 i386 Layout and rendering of internationalized text @@ -844,8 +844,8 @@ ii libslang2:amd64 2.3.2-5build4 ii libslang2:i386 2.3.2-5build4 i386 S-Lang programming library - runtime version ii libslirp0:amd64 4.6.1-1build1 amd64 General purpose TCP-IP emulator library ii libsmartcols1:amd64 2.37.2-4ubuntu3 amd64 smart column output alignment library -ii libsndfile1:amd64 1.0.31-2build1 amd64 Library for reading/writing audio files -ii libsndfile1:i386 1.0.31-2build1 i386 Library for reading/writing audio files +ii libsndfile1:amd64 1.0.31-2ubuntu0.1 amd64 Library for reading/writing audio files +ii libsndfile1:i386 1.0.31-2ubuntu0.1 i386 Library for reading/writing audio files ii libsndio7.0:amd64 1.8.1-1.1 amd64 Small audio and MIDI framework from OpenBSD, runtime libraries ii libsndio7.0:i386 1.8.1-1.1 i386 Small audio and MIDI framework from OpenBSD, runtime libraries ii libsodium23:amd64 1.0.18-1build2 amd64 Network communication, cryptography and signaturing library @@ -863,8 +863,8 @@ ii libss2:amd64 1.46.5-2ubuntu1.1 ii libssh-4:amd64 0.9.6-2ubuntu0.22.04.1 amd64 tiny C SSH library (OpenSSL flavor) ii libssh-4:i386 0.9.6-2ubuntu0.22.04.1 i386 tiny C SSH library (OpenSSL flavor) ii libssh2-1:amd64 1.10.0-3 amd64 SSH2 client-side library -ii libssl3:amd64 3.0.2-0ubuntu1.10 amd64 Secure Sockets Layer toolkit - shared libraries -ii libssl3:i386 3.0.2-0ubuntu1.10 i386 Secure Sockets Layer toolkit - shared libraries +ii libssl3:amd64 3.0.2-0ubuntu1.12 amd64 Secure Sockets Layer toolkit - shared libraries +ii libssl3:i386 3.0.2-0ubuntu1.12 i386 Secure Sockets Layer toolkit - shared libraries ii libstb0:amd64 0.0~git20210910.af1a5bc+ds-1 amd64 single-file image and audio processing libraries for C/C++ ii libstb0:i386 0.0~git20210910.af1a5bc+ds-1 i386 single-file image and audio processing libraries for C/C++ ii libstdc++-10-dev-mips-cross 10.3.0-1ubuntu1cross2 all GNU Standard C++ Library v3 (development files) (mips) @@ -908,8 +908,8 @@ ii libstdc++6-sparc64-cross 12.3.0-1ubuntu1~22.04cross1 ii libstdc++6-x32-cross 12.3.0-1ubuntu1~22.04cross1 all GNU Standard C++ Library v3 (x32) ii libstdc++6:amd64 12.3.0-1ubuntu1~22.04 amd64 GNU Standard C++ Library v3 ii libstdc++6:i386 12.3.0-1ubuntu1~22.04 i386 GNU Standard C++ Library v3 -ii libsystemd0:amd64 249.11-0ubuntu3.10 amd64 systemd utility library -ii libsystemd0:i386 249.11-0ubuntu3.10 i386 systemd utility library +ii libsystemd0:amd64 249.11-0ubuntu3.11 amd64 systemd utility library +ii libsystemd0:i386 249.11-0ubuntu3.11 i386 systemd utility library ii libtag1v5-vanilla:amd64 1.11.1+dfsg.1-3ubuntu3 amd64 audio meta-data library - vanilla flavour ii libtag1v5-vanilla:i386 1.11.1+dfsg.1-3ubuntu3 i386 audio meta-data library - vanilla flavour ii libtag1v5:amd64 1.11.1+dfsg.1-3ubuntu3 amd64 audio meta-data library @@ -921,8 +921,8 @@ ii libthai0:amd64 0.1.29-1build1 ii libthai0:i386 0.1.29-1build1 i386 Thai language support library ii libtheora0:amd64 1.1.1+dfsg.1-15ubuntu4 amd64 Theora Video Compression Codec ii libtheora0:i386 1.1.1+dfsg.1-15ubuntu4 i386 Theora Video Compression Codec -ii libtiff5:amd64 4.3.0-6ubuntu0.5 amd64 Tag Image File Format (TIFF) library -ii libtiff5:i386 4.3.0-6ubuntu0.5 i386 Tag Image File Format (TIFF) library +ii libtiff5:amd64 4.3.0-6ubuntu0.6 amd64 Tag Image File Format (TIFF) library +ii libtiff5:i386 4.3.0-6ubuntu0.6 i386 Tag Image File Format (TIFF) library ii libtime-duration-perl 1.21-1 all module for rounded or exact English expression of durations ii libtimedate-perl 2.3300-2 all collection of modules to manipulate date/time information ii libtinfo-dev:amd64 6.3-2ubuntu0.1 amd64 transitional package for libncurses-dev @@ -949,8 +949,8 @@ ii libubsan1-s390x-cross 12.3.0-1ubuntu1~22.04cross1 ii libubsan1-sparc64-cross 12.3.0-1ubuntu1~22.04cross1 all UBSan -- undefined behaviour sanitizer (runtime) ii libubsan1-x32-cross 12.3.0-1ubuntu1~22.04cross1 all UBSan -- undefined behaviour sanitizer (runtime) ii libubsan1:amd64 12.3.0-1ubuntu1~22.04 amd64 UBSan -- undefined behaviour sanitizer (runtime) -ii libudev1:amd64 249.11-0ubuntu3.10 amd64 libudev shared library -ii libudev1:i386 249.11-0ubuntu3.10 i386 libudev shared library +ii libudev1:amd64 249.11-0ubuntu3.11 amd64 libudev shared library +ii libudev1:i386 249.11-0ubuntu3.11 i386 libudev shared library ii libunistring2:amd64 1.0-1 amd64 Unicode string library for C ii libunistring2:i386 1.0-1 i386 Unicode string library for C ii libunwind8:amd64 1.3.2-2build2.1 amd64 library to determine the call-chain of a program - runtime @@ -976,8 +976,8 @@ ii libvorbis0a:amd64 1.3.7-1build2 ii libvorbis0a:i386 1.3.7-1build2 i386 decoder library for Vorbis General Audio Compression Codec ii libvorbisenc2:amd64 1.3.7-1build2 amd64 encoder library for Vorbis General Audio Compression Codec ii libvorbisenc2:i386 1.3.7-1build2 i386 encoder library for Vorbis General Audio Compression Codec -ii libvpx7:amd64 1.11.0-2ubuntu2 amd64 VP8 and VP9 video codec (shared library) -ii libvpx7:i386 1.11.0-2ubuntu2 i386 VP8 and VP9 video codec (shared library) +ii libvpx7:amd64 1.11.0-2ubuntu2.2 amd64 VP8 and VP9 video codec (shared library) +ii libvpx7:i386 1.11.0-2ubuntu2.2 i386 VP8 and VP9 video codec (shared library) ii libvte-2.91-0:amd64 0.68.0-1 amd64 Terminal emulator widget for GTK+ 3.0 - runtime files ii libvte-2.91-common 0.68.0-1 amd64 Terminal emulator widget for GTK+ 3.0 - common files ii libvulkan1:amd64 1.3.204.1-2 amd64 Vulkan loader library @@ -996,11 +996,11 @@ ii libwebp7:amd64 1.2.2-2ubuntu0.22.04.2 ii libwebp7:i386 1.2.2-2ubuntu0.22.04.2 i386 Lossy compression of digital photographic images ii libwine:amd64 6.0.3~repack-1 amd64 Windows API implementation - library ii libwine:i386 6.0.3~repack-1 i386 Windows API implementation - library -ii libx11-6:amd64 2:1.7.5-1ubuntu0.2 amd64 X11 client-side library -ii libx11-6:i386 2:1.7.5-1ubuntu0.2 i386 X11 client-side library -ii libx11-data 2:1.7.5-1ubuntu0.2 all X11 client-side library -ii libx11-xcb1:amd64 2:1.7.5-1ubuntu0.2 amd64 Xlib/XCB interface library -ii libx11-xcb1:i386 2:1.7.5-1ubuntu0.2 i386 Xlib/XCB interface library +ii libx11-6:amd64 2:1.7.5-1ubuntu0.3 amd64 X11 client-side library +ii libx11-6:i386 2:1.7.5-1ubuntu0.3 i386 X11 client-side library +ii libx11-data 2:1.7.5-1ubuntu0.3 all X11 client-side library +ii libx11-xcb1:amd64 2:1.7.5-1ubuntu0.3 amd64 Xlib/XCB interface library +ii libx11-xcb1:i386 2:1.7.5-1ubuntu0.3 i386 Xlib/XCB interface library ii libx32asan6 11.4.0-1ubuntu1~22.04 amd64 AddressSanitizer -- a fast memory error detector (x32) ii libx32atomic1 12.3.0-1ubuntu1~22.04 amd64 support library providing __atomic built-in functions (x32) ii libx32gcc-11-dev 11.4.0-1ubuntu1~22.04 amd64 GCC support library (x32 development files) @@ -1054,8 +1054,8 @@ ii libxkbcommon0:i386 1.4.0-1 ii libxml2-dev:amd64 2.9.13+dfsg-1ubuntu0.3 amd64 GNOME XML library - development files ii libxml2:amd64 2.9.13+dfsg-1ubuntu0.3 amd64 GNOME XML library ii libxml2:i386 2.9.13+dfsg-1ubuntu0.3 i386 GNOME XML library -ii libxpm4:amd64 1:3.5.12-1ubuntu0.22.04.1 amd64 X11 pixmap library -ii libxpm4:i386 1:3.5.12-1ubuntu0.22.04.1 i386 X11 pixmap library +ii libxpm4:amd64 1:3.5.12-1ubuntu0.22.04.2 amd64 X11 pixmap library +ii libxpm4:i386 1:3.5.12-1ubuntu0.22.04.2 i386 X11 pixmap library ii libxrandr2:amd64 2:1.5.2-1build1 amd64 X11 RandR extension library ii libxrandr2:i386 2:1.5.2-1build1 i386 X11 RandR extension library ii libxrender1:amd64 1:0.9.10-1build4 amd64 X Rendering Extension client library @@ -1098,7 +1098,7 @@ ii linux-libc-dev-s390x-cross 5.15.0-22.22cross3 ii linux-libc-dev-sh4-cross 5.15.0-22.22cross4 all Linux Kernel Headers for development (for cross-compiling) ii linux-libc-dev-sparc64-cross 5.15.0-22.22cross4 all Linux Kernel Headers for development (for cross-compiling) ii linux-libc-dev-x32-cross 5.15.0-22.22cross4 all Linux Kernel Headers for development (for cross-compiling) -ii linux-libc-dev:amd64 5.15.0-84.93 amd64 Linux Kernel Headers for development +ii linux-libc-dev:amd64 5.15.0-88.98 amd64 Linux Kernel Headers for development ii lldb-14 1:14.0.0-1ubuntu1.1 amd64 Next generation, high-performance debugger ii llvm-14 1:14.0.0-1ubuntu1.1 amd64 Modular compiler and toolchain technologies ii llvm-14-dev 1:14.0.0-1ubuntu1.1 amd64 Modular compiler and toolchain technologies, libraries and headers @@ -1131,7 +1131,7 @@ ii networkd-dispatcher 2.1-2ubuntu0.22.04.2 ii ninja-build 1.10.1-1 amd64 small build system closest in spirit to Make ii ocl-icd-libopencl1:amd64 2.2.14-3 amd64 Generic OpenCL ICD Loader ii ocl-icd-libopencl1:i386 2.2.14-3 i386 Generic OpenCL ICD Loader -ii openssl 3.0.2-0ubuntu1.10 amd64 Secure Sockets Layer toolkit - cryptographic utility +ii openssl 3.0.2-0ubuntu1.12 amd64 Secure Sockets Layer toolkit - cryptographic utility ii ovmf 2022.02-3ubuntu0.22.04.1 all UEFI firmware for 64-bit x86 virtual machines ii p7zip 16.02+dfsg-8 amd64 7zr file archiver with high compression ratio ii parallel 20210822+ds-2 all build and execute command lines from standard input in parallel @@ -1153,28 +1153,31 @@ ii python3-gi 3.42.1-0ubuntu1 ii python3-lldb-14 1:14.0.0-1ubuntu1.1 amd64 Next generation, high-performance debugger, python3 lib ii python3-minimal 3.10.6-1~22.04 amd64 minimal subset of the Python language (default python3 version) ii python3-pkg-resources 59.6.0-1.2ubuntu0.22.04.1 all Package Discovery and Resource Access using pkg_resources +ii python3-pyasn1 0.4.8-1 all ASN.1 library for Python (Python 3 module) +ii python3-pycryptodome 3.11.0+dfsg1-3build1 amd64 cryptographic Python library (Python 3) ii python3-pygments 2.11.2+dfsg-2 all syntax highlighting package written in Python 3 ii python3-six 1.16.0-3ubuntu1 all Python 2 and 3 compatibility library (Python 3 interface) ii python3-yaml 5.4.1-1ubuntu1 amd64 YAML parser and emitter for Python3 +ii python3-zstd 1.5.0.2-1build1 amd64 python bindings to Yann Collet ZSTD compression library ii python3.10 3.10.12-1~22.04.2 amd64 Interactive high-level object-oriented language (version 3.10) ii python3.10-minimal 3.10.12-1~22.04.2 amd64 Minimal subset of the Python language (version 3.10) -ii qemu-block-extra 1:6.2+dfsg-2ubuntu6.13 amd64 extra block backend modules for qemu-system and qemu-utils +ii qemu-block-extra 1:6.2+dfsg-2ubuntu6.15 amd64 extra block backend modules for qemu-system and qemu-utils ii qemu-efi-aarch64 2022.02-3ubuntu0.22.04.1 all UEFI firmware for 64-bit ARM virtual machines ii qemu-efi-arm 2022.02-3ubuntu0.22.04.1 all UEFI firmware for 32-bit ARM virtual machines -ii qemu-system 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries -ii qemu-system-arm 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (arm) -ii qemu-system-common 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (common files) -ii qemu-system-data 1:6.2+dfsg-2ubuntu6.13 all QEMU full system emulation (data files) -ii qemu-system-gui 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (user interface and audio support) -ii qemu-system-mips 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (mips) -ii qemu-system-misc 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (miscellaneous) -ii qemu-system-ppc 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (ppc) -ii qemu-system-s390x 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (s390x) -ii qemu-system-sparc 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (sparc) -ii qemu-system-x86 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU full system emulation binaries (x86) -ii qemu-user 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU user mode emulation binaries -ii qemu-user-binfmt 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU user mode binfmt registration for qemu-user -ii qemu-utils 1:6.2+dfsg-2ubuntu6.13 amd64 QEMU utilities +ii qemu-system 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries +ii qemu-system-arm 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (arm) +ii qemu-system-common 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (common files) +ii qemu-system-data 1:6.2+dfsg-2ubuntu6.15 all QEMU full system emulation (data files) +ii qemu-system-gui 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (user interface and audio support) +ii qemu-system-mips 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (mips) +ii qemu-system-misc 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (miscellaneous) +ii qemu-system-ppc 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (ppc) +ii qemu-system-s390x 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (s390x) +ii qemu-system-sparc 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (sparc) +ii qemu-system-x86 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU full system emulation binaries (x86) +ii qemu-user 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU user mode emulation binaries +ii qemu-user-binfmt 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU user mode binfmt registration for qemu-user +ii qemu-utils 1:6.2+dfsg-2ubuntu6.15 amd64 QEMU utilities ii re2c 3.0-1 amd64 lexer generator for C, C++, Go and Rust ii readline-common 8.1.2-1 all GNU readline and history libraries, common files ii ripgrep 13.0.0-2ubuntu0.1 amd64 Recursively searches directories for a regex pattern @@ -1187,9 +1190,9 @@ ii sensible-utils 0.0.17 ii session-migration 0.3.6 amd64 Tool to migrate in user session settings ii shared-mime-info 2.1-2 amd64 FreeDesktop.org shared MIME database and spec ii sysstat 12.5.2-2ubuntu0.2 amd64 system performance tools for Linux -ii systemd 249.11-0ubuntu3.10 amd64 system and service manager -ii systemd-sysv 249.11-0ubuntu3.10 amd64 system and service manager - SysV links -ii systemd-timesyncd 249.11-0ubuntu3.10 amd64 minimalistic service to synchronize local time with NTP servers +ii systemd 249.11-0ubuntu3.11 amd64 system and service manager +ii systemd-sysv 249.11-0ubuntu3.11 amd64 system and service manager - SysV links +ii systemd-timesyncd 249.11-0ubuntu3.11 amd64 minimalistic service to synchronize local time with NTP servers ii sysvinit-utils 3.01-1ubuntu1 amd64 System-V-like utilities ii tar 1.34+dfsg-1ubuntu0.1.22.04.1 amd64 GNU version of the tar archiving utility ii time 1.9-0.1build2 amd64 GNU time program for measuring CPU resource usage @@ -1202,9 +1205,9 @@ ii usrmerge 25ubuntu2 ii util-linux 2.37.2-4ubuntu3 amd64 miscellaneous system utilities ii uuid-runtime 2.37.2-4ubuntu3 amd64 runtime components for the Universally Unique ID library ii valgrind 1:3.18.1-1ubuntu2 amd64 instrumentation framework for building dynamic analysis tools -ii vim 2:8.2.3995-1ubuntu2.11 amd64 Vi IMproved - enhanced vi editor -ii vim-common 2:8.2.3995-1ubuntu2.11 all Vi IMproved - Common files -ii vim-runtime 2:8.2.3995-1ubuntu2.11 all Vi IMproved - Runtime files +ii vim 2:8.2.3995-1ubuntu2.13 amd64 Vi IMproved - enhanced vi editor +ii vim-common 2:8.2.3995-1ubuntu2.13 all Vi IMproved - Common files +ii vim-runtime 2:8.2.3995-1ubuntu2.13 all Vi IMproved - Runtime files ii wget 1.21.2-2ubuntu1 amd64 retrieves files from the web ii wine 6.0.3~repack-1 all Windows API implementation - standard suite ii wine32:i386 6.0.3~repack-1 i386 Windows API implementation - 32-bit binary loader @@ -1212,7 +1215,7 @@ ii wine64 6.0.3~repack-1 ii x11-common 1:7.7+23ubuntu2 all X Window System (X.Org) infrastructure ii xdg-user-dirs 0.17-2ubuntu4 amd64 tool to manage well known user directories ii xkb-data 2.33-1 all X Keyboard Extension (XKB) configuration data -ii xxd 2:8.2.3995-1ubuntu2.11 amd64 tool to make (or reverse) a hex dump +ii xxd 2:8.2.3995-1ubuntu2.13 amd64 tool to make (or reverse) a hex dump ii xz-utils 5.2.5-2ubuntu1 amd64 XZ-format compression utilities ii yash 2.51-1 amd64 yet another shell ii zip 3.0-12build2 amd64 Archiver for .zip files @@ -1227,7 +1230,7 @@ ii zstd 1.4.8+dfsg-3build1 ||/ Name Version Architecture Description Packages sorted by Installed-Size: - 8369189 ===== TOTAL (1221 packages) + 8373937 ===== TOTAL (1224 packages) 545062 libwine amd64 474522 libwine i386 270995 llvm-14-dev amd64 @@ -1287,7 +1290,7 @@ Packages sorted by Installed-Size: 34707 libicu70 i386 34444 libicu70 amd64 33103 qemu-system-ppc amd64 - 32781 vim-runtime all + 32782 vim-runtime all 31850 g++-11-x86-64-linux-gnux32 amd64 31850 g++-11-i686-linux-gnu amd64 31553 libgl1-mesa-dri i386 @@ -1406,7 +1409,7 @@ Packages sorted by Installed-Size: 9866 cmake-data all 9512 clang-tidy-14 amd64 9203 libgcc-11-dev-x32-cross all - 9153 qemu-system-common amd64 + 9152 qemu-system-common amd64 8871 binutils-riscv64-linux-gnu amd64 8427 libasan6-riscv64-cross all 8248 libc6-dev-x32 amd64 @@ -1424,7 +1427,7 @@ Packages sorted by Installed-Size: 7532 libasan6-arm64-cross all 7518 libasan6 amd64 7299 libtsan0-arm64-cross all - 7261 libc6-dev-i386 amd64 + 7262 libc6-dev-i386 amd64 7255 libtsan0 amd64 7204 libasan6-armel-cross all 7161 libasan6-powerpc-cross all @@ -1435,7 +1438,7 @@ Packages sorted by Installed-Size: 7072 qemu-utils amd64 6988 libx32gcc-11-dev amd64 6821 libasan6-armhf-cross all - 6781 linux-libc-dev amd64 + 6802 linux-libc-dev amd64 6748 gstreamer1.0-plugins-good amd64 6733 dpkg amd64 6667 lib32asan6 amd64 @@ -1462,8 +1465,8 @@ Packages sorted by Installed-Size: 6050 linux-libc-dev-sh4-cross all 6035 linux-libc-dev-riscv64-cross all 5905 python3.10-minimal amd64 - 5850 libssl3 i386 - 5824 libssl3 amd64 + 5854 libssl3 i386 + 5828 libssl3 amd64 5768 libpython3.10 amd64 5587 ubuntu-mono all 5576 libgcc-11-dev-sparc64-cross all @@ -1486,10 +1489,11 @@ Packages sorted by Installed-Size: 4147 ripgrep amd64 4082 libglib2.0-0 amd64 4024 python3-pygments all - 3925 vim amd64 + 3930 vim amd64 3804 libnss3 amd64 3689 lldb-14 amd64 3643 python2.7-minimal amd64 + 3542 python3-pycryptodome amd64 3506 re2c amd64 3487 gojq amd64 3405 libmpfr6 amd64 @@ -1500,10 +1504,10 @@ Packages sorted by Installed-Size: 3261 liblsan0-ppc64-cross all 3247 libstdc++6-ppc64-cross all 3181 libapt-pkg6.0 amd64 - 3142 libvpx7 i386 + 3147 libvpx7 i386 3139 libhwasan0-arm64-cross all 3135 liblsan0-ppc64el-cross all - 3127 libvpx7 amd64 + 3128 libvpx7 amd64 3102 libstdc++6-ppc64el-cross all 3013 libboost-regex1.74.0 amd64 2984 libgstreamer1.0-0 amd64 @@ -1599,15 +1603,15 @@ Packages sorted by Installed-Size: 1483 libsamplerate0 i386 1472 sysstat amd64 1464 bash-completion all - 1455 libx11-6 i386 + 1456 libx11-6 i386 1445 hyperfine amd64 1436 libobjc-11-dev amd64 + 1430 libx11-data all 1429 yash amd64 - 1429 libx11-data all 1425 libp11-kit0 i386 1408 llvm-14-runtime amd64 1388 procps amd64 - 1386 libx11-6 amd64 + 1387 libx11-6 amd64 1380 libepoxy0 amd64 1373 libslang2 i386 1354 libgcrypt20 amd64 @@ -1669,6 +1673,7 @@ Packages sorted by Installed-Size: 771 libcurl3-gnutls amd64 759 libdw1 i386 747 python3-gi amd64 + 743 python3-zstd amd64 735 libsoup2.4-1 amd64 735 libsepol2 amd64 729 libdw1 amd64 @@ -1709,6 +1714,7 @@ Packages sorted by Installed-Size: 595 libthai-data all 595 libgmp10 i386 592 zlib1g-dev amd64 + 585 alsa-ucm-conf all 583 libvorbisenc2 i386 583 libnl-route-3-200 amd64 582 dbus amd64 @@ -1721,7 +1727,6 @@ Packages sorted by Installed-Size: 565 libldap-2.5-0 amd64 564 libssh-4 i386 563 libpango-1.0-0 amd64 - 560 alsa-ucm-conf all 558 libtinfo6 amd64 558 libodbc2 i386 557 libmount1 i386 @@ -1795,11 +1800,12 @@ Packages sorted by Installed-Size: 394 base-files amd64 393 ncurses-base all 392 libopus0 amd64 + 390 python3-pyasn1 all 390 ca-certificates all 389 mount amd64 388 libexif12 amd64 382 libmount1 amd64 - 380 vim-common all + 381 vim-common all 379 libfaudio0 amd64 376 unzip amd64 375 fontconfig amd64 @@ -1887,7 +1893,7 @@ Packages sorted by Installed-Size: 282 libfuse3-3 amd64 282 libflac8 amd64 281 libflac8 i386 - 278 xxd amd64 + 279 xxd amd64 278 libz-mingw-w64 all 277 libgomp1-armel-cross all 276 at-spi2-core amd64 @@ -2181,10 +2187,10 @@ Packages sorted by Installed-Size: 86 libraw1394-11 amd64 86 libiec61883-0 i386 85 libxcb-render0 i386 + 85 libx11-xcb1 i386 + 85 libx11-xcb1 amd64 85 libwayland-client0 amd64 85 libgsm1 amd64 - 84 libx11-xcb1 i386 - 84 libx11-xcb1 amd64 84 libdrm-amdgpu1 amd64 84 file amd64 83 sysvinit-utils amd64 diff --git a/misc/podman/rebuild-stubs/packages.txt b/misc/podman/rebuild-stubs/packages.txt index 22997670..95ef39c6 100644 --- a/misc/podman/rebuild-stubs/packages.txt +++ b/misc/podman/rebuild-stubs/packages.txt @@ -137,7 +137,7 @@ ii libgnutls30:amd64 3.7.3-4ubuntu1.2 amd64 ii libgomp1:amd64 12.3.0-1ubuntu1~22.04 amd64 GCC OpenMP (GOMP) support library ii libgpg-error0:amd64 1.43-3 amd64 GnuPG development runtime library ii libgpm2:amd64 1.20.7-10build1 amd64 General Purpose Mouse - shared library -ii libgssapi-krb5-2:amd64 1.19.2-2ubuntu0.2 amd64 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism +ii libgssapi-krb5-2:amd64 1.19.2-2ubuntu0.3 amd64 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism ii libhiredis0.14:amd64 0.14.1-2 amd64 minimalistic C client library for Redis ii libhogweed6:amd64 3.7.3-1build2 amd64 low level cryptographic library (public-key cryptos) ii libicu70:amd64 70.1-2 amd64 International Components for Unicode @@ -150,10 +150,10 @@ ii libitm1:amd64 12.3.0-1ubuntu1~22.04 amd64 ii libjansson4:amd64 2.13.1-1.1build3 amd64 C library for encoding, decoding and manipulating JSON data ii libjq1:amd64 1.6-2.1ubuntu3 amd64 lightweight and flexible command-line JSON processor - shared library ii libjsoncpp25:amd64 1.9.5-3 amd64 library for reading and writing JSON for C++ -ii libk5crypto3:amd64 1.19.2-2ubuntu0.2 amd64 MIT Kerberos runtime libraries - Crypto Library +ii libk5crypto3:amd64 1.19.2-2ubuntu0.3 amd64 MIT Kerberos runtime libraries - Crypto Library ii libkeyutils1:amd64 1.6.1-2ubuntu3 amd64 Linux Key Management Utilities (library) -ii libkrb5-3:amd64 1.19.2-2ubuntu0.2 amd64 MIT Kerberos runtime libraries -ii libkrb5support0:amd64 1.19.2-2ubuntu0.2 amd64 MIT Kerberos runtime libraries - Support library +ii libkrb5-3:amd64 1.19.2-2ubuntu0.3 amd64 MIT Kerberos runtime libraries +ii libkrb5support0:amd64 1.19.2-2ubuntu0.3 amd64 MIT Kerberos runtime libraries - Support library ii libldap-2.5-0:amd64 2.5.16+dfsg-0ubuntu0.22.04.1 amd64 OpenLDAP libraries ii liblsan0:amd64 12.3.0-1ubuntu1~22.04 amd64 LeakSanitizer -- a memory leak detector (runtime) ii liblz4-1:amd64 1.9.3-2build2 amd64 Fast LZ compression algorithm library - runtime diff --git a/src/Makefile b/src/Makefile index 48820ce7..be822b46 100644 --- a/src/Makefile +++ b/src/Makefile @@ -39,6 +39,10 @@ $(top_srcdir)/build/debug/upx: PHONY $(top_srcdir)/build/release/upx: PHONY $(MAKE) -C $(top_srcdir) build/release +# convenience +test: $(top_srcdir)/$(.DEFAULT_GOAL) + cd $(top_srcdir)/$(.DEFAULT_GOAL) && ctest + # # "make run-testsuite" # see https://github.com/upx/upx-testsuite.git diff --git a/src/check/dt_check.cpp b/src/check/dt_check.cpp index b5671ce5..575e4aff 100644 --- a/src/check/dt_check.cpp +++ b/src/check/dt_check.cpp @@ -617,13 +617,13 @@ TEST_CASE("libc snprintf") { intmax_t im = ll; uintmax_t um = llu; snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%jd", -4, 0, 0, 0, 0, 0, 0, 0, 4, im); - CHECK_EQ(strcmp(buf, "-4.0.0.0.0.0.0.0.4.-1"), 0); + WARN_EQ(strcmp(buf, "-4.0.0.0.0.0.0.0.4.-1"), 0); snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%ju", -5, 0, 0, 0, 0, 0, 0, 0, 5, um); - CHECK_EQ(strcmp(buf, "-5.0.0.0.0.0.0.0.5.18446744073709551615"), 0); + WARN_EQ(strcmp(buf, "-5.0.0.0.0.0.0.0.5.18446744073709551615"), 0); snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%jx", -6, 0, 0, 0, 0, 0, 0, 0, 6, um); - CHECK_EQ(strcmp(buf, "-6.0.0.0.0.0.0.0.6.ffffffffffffffff"), 0); + WARN_EQ(strcmp(buf, "-6.0.0.0.0.0.0.0.6.ffffffffffffffff"), 0); snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%#jx", -7, 0, 0, 0, 0, 0, 0, 0, 7, um); - CHECK_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0); + WARN_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0); } #if 0 diff --git a/src/conf.h b/src/conf.h index 1aca6443..5f3594ab 100644 --- a/src/conf.h +++ b/src/conf.h @@ -83,12 +83,6 @@ ACC_COMPILE_TIME_ASSERT_HEADER((char) (-1) == 255) #endif // UPX_CONFIG_DISABLE_WSTRICT // multithreading (UPX currently does not use multithreading) -#if (WITH_THREADS) && defined(_WIN32) && defined(__GLIBCXX__) -#if !defined(_GLIBCXX_HAS_GTHREADS) -#error "broken MinGW installation: missing _GLIBCXX_HAS_GTHREADS" -#undef WITH_THREADS -#endif -#endif #if (WITH_THREADS) #define upx_thread_local thread_local #define upx_std_atomic(Type) std::atomic