diff --git a/CMakeLists.txt b/CMakeLists.txt index c7d2de9c..7bc98a2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,7 @@ # - print summary # CMake version check; using a somewhat current CMake version is highly recommended +file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/.upx_cmake_config_done.txt") if(DEFINED UPX_CONFIG_CMAKE_MINIMUM_REQUIRED_VERSION) cmake_minimum_required(VERSION "${UPX_CONFIG_CMAKE_MINIMUM_REQUIRED_VERSION}" FATAL_ERROR) else() @@ -29,7 +30,6 @@ macro(upx_cmake_include_hook section) include("${CMAKE_CURRENT_SOURCE_DIR}/misc/cmake/hooks/CMakeLists.${section}.txt" OPTIONAL) include("${CMAKE_CURRENT_SOURCE_DIR}/maint/make/CMakeLists.${section}.txt" OPTIONAL) endmacro() -file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/.upx_cmake_config_done.txt") #*********************************************************************** # options @@ -61,6 +61,8 @@ option(UPX_CONFIG_DISABLE_SELF_PACK_TEST "Do not test packing UPX with itself" O # init #*********************************************************************** +set(UPX_VERSION_STRING "4.3.0") + upx_cmake_include_hook(2_init) # Disallow in-source builds. Note that you will still have to manually @@ -74,7 +76,7 @@ if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/.git") endif() # util -function(print_var) +function(upx_print_var) # ARGV foreach(var_name ${ARGV}) if(DEFINED ${var_name} AND NOT ",${${var_name}}," STREQUAL ",,") if(${var_name}) @@ -83,40 +85,42 @@ function(print_var) endif() endforeach() endfunction() -function(print_have_symbol) +function(upx_print_have_symbol) # ARGV foreach(symbol ${ARGV}) - set(var_name "HAVE_symbol_${symbol}") - check_symbol_exists(${symbol} "stddef.h" ${var_name}) - if(${var_name}) + set(cache_var_name "HAVE_symbol_${symbol}") + check_symbol_exists(${symbol} "limits.h;stddef.h;stdint.h" ${cache_var_name}) + if(${cache_var_name}) message(STATUS "HAVE ${symbol}") endif() endforeach() endfunction() # useful for CI jobs: allow settings via environment and cache result -function(upx_cache_bool_vars) +function(upx_cache_bool_vars) # ARGV set(default_value "${ARGV0}") list(REMOVE_AT ARGV 0) foreach(var_name ${ARGV}) set(value ${default_value}) - if(DEFINED UPX_CACHE_${var_name}) # cached - set(value "${UPX_CACHE_${var_name}}") + if(DEFINED UPX_CACHE_VALUE_${var_name}) # check cache + set(value "${UPX_CACHE_VALUE_${var_name}}") elseif(DEFINED ${var_name}) # defined via "cmake -DXXX=YYY" set(value "${${var_name}}") - elseif("$ENV{${var_name}}" MATCHES "^(0|1|OFF|ON|FALSE|TRUE)$") # environment + elseif("$ENV{${var_name}}" MATCHES "^(0|1|OFF|ON|FALSE|TRUE)$") # check environment set(value "$ENV{${var_name}}") - set(UPX_CACHE_ORIGIN_FROM_ENV_${var_name} TRUE CACHE INTERNAL "" FORCE) + set(UPX_CACHE_ORIGIN_FROM_ENV_${var_name} TRUE CACHE INTERNAL "" FORCE) # for info below endif() + # convert to bool if(value) set(value ON) else() set(value OFF) endif() + # store result if(UPX_CACHE_ORIGIN_FROM_ENV_${var_name}) message(STATUS "setting from environment: ${var_name} = ${value}") endif() - set(${var_name} "${value}" PARENT_SCOPE) - set(UPX_CACHE_${var_name} "${value}" CACHE INTERNAL "" FORCE) + set(${var_name} "${value}" PARENT_SCOPE) # store result + set(UPX_CACHE_VALUE_${var_name} "${value}" CACHE INTERNAL "" FORCE) # and store in cache endforeach() endfunction() @@ -187,7 +191,7 @@ if(NOT is_multi_config AND NOT CMAKE_BUILD_TYPE) endif() # CMake init -project(upx VERSION 4.3.0 LANGUAGES C CXX) +project(upx VERSION "${UPX_VERSION_STRING}" LANGUAGES C CXX) # set the default multi-config build type to "Release" if(is_multi_config) @@ -273,7 +277,7 @@ if(MSVC_FRONTEND) set(warn_WX -wd5105 ${warn_WX}) endif() -function(upx_add_definitions_with_prefix) +function(upx_add_definitions_with_prefix) # ARGV set(flag_prefix "${ARGV0}") if(flag_prefix MATCHES "^empty$") # need "empty" to work around bug in old CMake versions set(flag_prefix "") @@ -282,9 +286,9 @@ function(upx_add_definitions_with_prefix) set(failed "") foreach(f ${ARGV}) set(flag "${flag_prefix}${f}") - string(REGEX REPLACE "[^0-9a-zA-Z_]" "_" cache_var "HAVE_CFLAG_${flag}") - check_c_compiler_flag("${flag}" ${cache_var}) - if(${cache_var}) + string(REGEX REPLACE "[^0-9a-zA-Z_]" "_" cache_var_name "HAVE_CFLAG_${flag}") + check_c_compiler_flag("${flag}" ${cache_var_name}) + if(${cache_var_name}) #message(STATUS "add_definitions: ${flag}") add_definitions("${flag}") else() @@ -294,7 +298,7 @@ function(upx_add_definitions_with_prefix) set(failed_flags "${failed}" PARENT_SCOPE) # return value endfunction() -function(upx_add_definitions) +function(upx_add_definitions) # ARGV set(failed_flags "") if(MSVC_FRONTEND AND CMAKE_C_COMPILER_ID MATCHES "Clang") # for clang-cl try "-clang:" flag prefix first @@ -341,7 +345,7 @@ if(NOT CMAKE_C_COMPILER_ID MATCHES "^MSVC") endif() # compile a target with -O2 optimization even in Debug build -function(upx_compile_target_debug_with_O2) +function(upx_compile_target_debug_with_O2) # ARGV foreach(t ${ARGV}) if(MSVC_FRONTEND) # MSVC uses some Debug compilation options like -RTC1 that are incompatible with -O2 @@ -352,7 +356,7 @@ function(upx_compile_target_debug_with_O2) endfunction() # compile a source file with -O2 optimization even in Debug build; messy because of CMake limitations -function(upx_compile_source_debug_with_O2) +function(upx_compile_source_debug_with_O2) # ARGV set(flags "$<$:-O2>") if(${CMAKE_VERSION} VERSION_LESS "3.8") # 3.8: The COMPILE_FLAGS source file property learned to support generator expressions @@ -380,7 +384,7 @@ function(upx_compile_source_debug_with_O2) endfunction() # sanitize a target: this needs proper support from your compiler AND toolchain -function(upx_sanitize_target) +function(upx_sanitize_target) # ARGV foreach(t ${ARGV}) if(UPX_CONFIG_DISABLE_SANITIZE) # no-op @@ -403,7 +407,7 @@ function(upx_sanitize_target) endfunction() # util to add wildcard expansions to a variable -function(upx_add_glob_files) +function(upx_add_glob_files) # ARGV set(var_name ${ARGV0}) list(REMOVE_AT ARGV 0) file(GLOB files ${ARGV}) @@ -420,11 +424,11 @@ if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/.git") if(WIN32 OR MINGW OR CYGWIN) if(CMAKE_C_COMPILER_ID MATCHES "(Clang|GNU)") # runtime library: msvcrt vs ucrt vs cygwin - print_have_symbol(__CRTDLL__ __CYGWIN__ __CYGWIN32__ __CYGWIN64__ __MINGW32__ __MINGW64__ __MINGW64_VERSION_MAJOR __MSVCRT__ _UCRT _WIN32 _WIN64) + upx_print_have_symbol(__CRTDLL__ __CYGWIN__ __CYGWIN32__ __CYGWIN64__ __MINGW32__ __MINGW64__ __MINGW64_VERSION_MAJOR __MSVCRT__ _UCRT _WIN32 _WIN64) # exception handing: SJLJ (setjmp/longjmp) vs DWARF vs SEH - print_have_symbol(__GCC_HAVE_DWARF2_CFI_ASM __SEH__ __USING_SJLJ_EXCEPTIONS__) + upx_print_have_symbol(__GCC_HAVE_DWARF2_CFI_ASM __SEH__ __USING_SJLJ_EXCEPTIONS__) # threads: win32 vs posix/pthread/winpthreads vs mcfgthread - print_have_symbol(_REENTRANT __USING_MCFGTHREAD__) + upx_print_have_symbol(_REENTRANT __USING_MCFGTHREAD__) endif() endif() endif() @@ -609,7 +613,7 @@ upx_cmake_include_hook(6_test) if(NOT UPX_CONFIG_CMAKE_DISABLE_TEST) -function(upx_add_test) +function(upx_add_test) # ARGV set(name "${ARGV0}") list(REMOVE_AT ARGV 0) add_test(NAME "${name}" COMMAND ${ARGV}) @@ -680,16 +684,16 @@ endif() # UPX_CONFIG_CMAKE_DISABLE_INSTALL upx_cmake_include_hook(8_summary) -print_var(CMAKE_VERSION UPX_CONFIG_CMAKE_MINIMUM_REQUIRED_VERSION CMAKE_GENERATOR) +upx_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 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_INTERPROCEDURAL_OPTIMIZATION CMAKE_POSITION_INDEPENDENT_CODE CMAKE_TRY_COMPILE_CONFIGURATION) -print_var(CYGWIN GNUC MINGW MSVC MSVC_FRONTEND MSVC_IDE WIN32 WIN64) +upx_print_var(CMAKE_HOST_SYSTEM_NAME CMAKE_HOST_SYSTEM_VERSION) +upx_print_var(CMAKE_SYSTEM_NAME CMAKE_SYSTEM_VERSION CMAKE_CROSSCOMPILING CMAKE_CROSSCOMPILING_EMULATOR) +upx_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) +upx_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) +upx_print_var(CMAKE_INTERPROCEDURAL_OPTIMIZATION CMAKE_POSITION_INDEPENDENT_CODE CMAKE_TRY_COMPILE_CONFIGURATION) +upx_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) +upx_print_var(CMAKE_INSTALL_PREFIX CMAKE_CONFIGURATION_TYPES CMAKE_BUILD_TYPE) if(Threads_FOUND) message(STATUS "WITH_THREADS = 1") elseif(UPX_CONFIG_REQUIRE_THREADS) diff --git a/Makefile b/Makefile index c5b17351..819c1a49 100644 --- a/Makefile +++ b/Makefile @@ -66,7 +66,7 @@ endif CTEST = ctest test:: $(.DEFAULT_GOAL) PHONY cd $(.DEFAULT_GOAL) && $(CTEST) -ifneq ($(wildcard /usr/bin/env),) # needs bash, perl, xargs, etc. +ifneq ($(wildcard /usr/bin/env),) # needs Unix utils like bash, perl, sed, xargs, etc. check-whitespace clang-format run-testsuite run-testsuite-debug run-testsuite-release: src/Makefile PHONY $(MAKE) -C src $@ endif diff --git a/doc/Makefile b/doc/Makefile index 472360c4..3dcbf4d8 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,5 +1,6 @@ # -# UPX doc Makefile - needs GNU make, pod2html, pod2man and pod2text +# UPX doc Makefile - needs GNU make, sed, pod2html, pod2man and pod2text +# Copyright (C) Markus Franz Xaver Johannes Oberhumer # BUILT_SOURCES = upx.1 upx-doc.html upx-doc.txt @@ -24,6 +25,9 @@ DETAB2 := sed -e 's/$(tab)/ /g' #*********************************************************************** .DEFAULT_GOAL = all +.PHONY: PHONY +.SECONDEXPANSION: +.SUFFIXES: all: $(BUILT_SOURCES) PHONY @@ -34,7 +38,6 @@ mostlyclean clean distclean maintainer-clean: PHONY # rules #*********************************************************************** -.SUFFIXES: .SUFFIXES: .1 .html .man .pod .ps .tex .txt %.1 : %.pod @@ -68,4 +71,3 @@ mostlyclean clean distclean maintainer-clean: PHONY $(BUILT_SOURCES): $(top_srcdir)/src/version.h $(MAKEFILE_LIST) .DELETE_ON_ERROR: $(BUILT_SOURCES) -.PHONY: PHONY diff --git a/doc/upx.1 b/doc/upx.1 index 49d42fe9..90894d9e 100644 --- a/doc/upx.1 +++ b/doc/upx.1 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "UPX 1" -.TH UPX 1 "2023-11-02" "upx 4.3.0" " " +.TH UPX 1 "2023-12-19" "upx 4.3.0" " " .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/misc/podman/rebuild-stubs/packages.txt b/misc/podman/rebuild-stubs/packages.txt index 22d3b0f1..321acdc2 100644 --- a/misc/podman/rebuild-stubs/packages.txt +++ b/misc/podman/rebuild-stubs/packages.txt @@ -10,9 +10,9 @@ ii base-passwd 3.5.52build1 amd64 ii bash 5.1-6ubuntu1 amd64 GNU Bourne Again SHell ii bash-completion 1:2.11-5ubuntu1 all programmable completion for the bash shell ii bfs 2.3.1-1 amd64 Breadth-first version of find(1) -ii binutils 2.38-4ubuntu2.3 amd64 GNU assembler, linker and binary utilities -ii binutils-common:amd64 2.38-4ubuntu2.3 amd64 Common files for the GNU assembler, linker and binary utilities -ii binutils-x86-64-linux-gnu 2.38-4ubuntu2.3 amd64 GNU binary utilities, for x86-64-linux-gnu target +ii binutils 2.38-4ubuntu2.4 amd64 GNU assembler, linker and binary utilities +ii binutils-common:amd64 2.38-4ubuntu2.4 amd64 Common files for the GNU assembler, linker and binary utilities +ii binutils-x86-64-linux-gnu 2.38-4ubuntu2.4 amd64 GNU binary utilities, for x86-64-linux-gnu target ii bsdutils 1:2.37.2-4ubuntu3 amd64 basic utilities from 4.4BSD-Lite ii busybox 1:1.30.1-7ubuntu3 amd64 Tiny utilities for small and embedded systems ii bzip2 1.0.8-5build1 amd64 high-quality block-sorting file compressor - utilities @@ -26,7 +26,7 @@ ii coreutils 8.32-4.1ubuntu1 amd64 ii cpio 2.13+dfsg-7 amd64 GNU cpio -- a program to manage archives of files ii cpp 4:11.2.0-1ubuntu1 amd64 GNU C preprocessor (cpp) ii cpp-11 11.4.0-1ubuntu1~22.04 amd64 GNU C preprocessor -ii curl 7.81.0-1ubuntu1.14 amd64 command line tool for transferring data with URL syntax +ii curl 7.81.0-1ubuntu1.15 amd64 command line tool for transferring data with URL syntax ii dash 0.5.11+git20210903+057cd650a4ed-3build1 amd64 POSIX-compliant shell ii debconf 1.5.79ubuntu1 all Debian configuration management system ii debianutils 5.5-1ubuntu2 amd64 Miscellaneous utilities specific to Debian @@ -88,22 +88,22 @@ ii libattr1:amd64 1:2.5.1-1build1 amd64 ii libaudit-common 1:3.0.7-1build1 all Dynamic library for security auditing - common files ii libaudit1:amd64 1:3.0.7-1build1 amd64 Dynamic library for security auditing ii libbabeltrace1:amd64 1.5.8-2build1 amd64 Babeltrace conversion libraries -ii libbinutils:amd64 2.38-4ubuntu2.3 amd64 GNU binary utilities (private shared library) +ii libbinutils:amd64 2.38-4ubuntu2.4 amd64 GNU binary utilities (private shared library) ii libblkid1:amd64 2.37.2-4ubuntu3 amd64 block device ID library ii libboost-regex1.74.0:amd64 1.74.0-14ubuntu3 amd64 regular expression library for C++ ii libbrotli1:amd64 1.0.9-2build6 amd64 library implementing brotli encoder and decoder (shared libraries) ii libbsd0:amd64 0.11.5-1 amd64 utility functions from BSD systems - shared library ii libbz2-1.0:amd64 1.0.8-5build1 amd64 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.4 amd64 GNU C Library: Binaries -ii libc-dev-bin 2.35-0ubuntu3.4 amd64 GNU C Library: Development binaries -ii libc6-dev-i386 2.35-0ubuntu3.4 amd64 GNU C Library: 32-bit 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:amd64 2.35-0ubuntu3.4 amd64 GNU C Library: Development Libraries and Header Files -ii libc6-i386 2.35-0ubuntu3.4 amd64 GNU C Library: 32-bit shared libraries for AMD64 -ii libc6-x32 2.35-0ubuntu3.4 amd64 GNU C Library: X32 ABI Shared libraries for AMD64 -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 libc-bin 2.35-0ubuntu3.5 amd64 GNU C Library: Binaries +ii libc-dev-bin 2.35-0ubuntu3.5 amd64 GNU C Library: Development binaries +ii libc6-dev-i386 2.35-0ubuntu3.5 amd64 GNU C Library: 32-bit development libraries for AMD64 +ii libc6-dev-x32 2.35-0ubuntu3.5 amd64 GNU C Library: X32 ABI Development Libraries for AMD64 +ii libc6-dev:amd64 2.35-0ubuntu3.5 amd64 GNU C Library: Development Libraries and Header Files +ii libc6-i386 2.35-0ubuntu3.5 amd64 GNU C Library: 32-bit shared libraries for AMD64 +ii libc6-x32 2.35-0ubuntu3.5 amd64 GNU C Library: X32 ABI Shared libraries for AMD64 +ii libc6:amd64 2.35-0ubuntu3.5 amd64 GNU C Library: Shared libraries +ii libc6:i386 2.35-0ubuntu3.5 i386 GNU C Library: Shared libraries ii libcap-ng0:amd64 0.7.9-2.2build3 amd64 An alternate POSIX capabilities library ii libcap2:amd64 1:2.44-1ubuntu0.22.04.1 amd64 POSIX 1003.1e capabilities (library) ii libcc1-0:amd64 12.3.0-1ubuntu1~22.04 amd64 GCC cc1 plugin for GDB @@ -111,10 +111,10 @@ ii libcom-err2:amd64 1.46.5-2ubuntu1.1 amd64 ii libcrypt-dev:amd64 1:4.4.27-1 amd64 libcrypt development files ii libcrypt1:amd64 1:4.4.27-1 amd64 libcrypt shared library ii libcrypt1:i386 1:4.4.27-1 i386 libcrypt shared library -ii libctf-nobfd0:amd64 2.38-4ubuntu2.3 amd64 Compact C Type Format library (runtime, no BFD dependency) -ii libctf0:amd64 2.38-4ubuntu2.3 amd64 Compact C Type Format library (runtime, BFD dependency) -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 libctf-nobfd0:amd64 2.38-4ubuntu2.4 amd64 Compact C Type Format library (runtime, no BFD dependency) +ii libctf0:amd64 2.38-4ubuntu2.4 amd64 Compact C Type Format library (runtime, BFD dependency) +ii libcurl3-gnutls:amd64 7.81.0-1ubuntu1.15 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour) +ii libcurl4:amd64 7.81.0-1ubuntu1.15 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour) ii libdb5.3:amd64 5.3.28+dfsg1-0.8ubuntu3 amd64 Berkeley v5.3 Database Libraries [runtime] ii libdebconfclient0:amd64 0.261ubuntu1 amd64 Debian Configuration Management System (C-implementation library) ii libdebuginfod-common 0.186-1build1 all configuration to enable the Debian debug info server @@ -133,7 +133,7 @@ ii libgdbm-compat4:amd64 1.23-1 amd64 ii libgdbm6:amd64 1.23-1 amd64 GNU dbm database routines (runtime version) ii libglib2.0-0:amd64 2.72.4-0ubuntu2.2 amd64 GLib library of C routines ii libgmp10:amd64 2:6.2.1+dfsg-3ubuntu1 amd64 Multiprecision arithmetic library -ii libgnutls30:amd64 3.7.3-4ubuntu1.2 amd64 GNU TLS library - main runtime library +ii libgnutls30:amd64 3.7.3-4ubuntu1.3 amd64 GNU TLS library - main runtime library 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 @@ -171,7 +171,7 @@ ii libncurses5:amd64 6.3-2ubuntu0.1 amd64 ii libncurses6:amd64 6.3-2ubuntu0.1 amd64 shared libraries for terminal handling ii libncursesw6:amd64 6.3-2ubuntu0.1 amd64 shared libraries for terminal handling (wide character support) ii libnettle8:amd64 3.7.3-1build2 amd64 low level cryptographic library (symmetric and one-way cryptos) -ii libnghttp2-14:amd64 1.43.0-1build3 amd64 library implementing HTTP/2 protocol (shared library) +ii libnghttp2-14:amd64 1.43.0-1ubuntu0.1 amd64 library implementing HTTP/2 protocol (shared library) ii libnl-3-200:amd64 3.5.0-0.1 amd64 library for dealing with netlink sockets ii libnl-genl-3-200:amd64 3.5.0-0.1 amd64 library for dealing with netlink sockets - generic netlink ii libnsl-dev:amd64 1.3.0-2build2 amd64 libnsl development files @@ -184,15 +184,15 @@ ii libpam-runtime 1.4.0-11ubuntu2.3 all ii libpam0g:amd64 1.4.0-11ubuntu2.3 amd64 Pluggable Authentication Modules library ii libpcre2-8-0:amd64 10.39-3ubuntu0.1 amd64 New Perl Compatible Regular Expression Library- 8 bit runtime files ii libpcre3:amd64 2:8.39-13ubuntu0.22.04.1 amd64 Old Perl 5 Compatible Regular Expression Library - runtime files -ii libperl5.34:amd64 5.34.0-3ubuntu1.2 amd64 shared Perl library +ii libperl5.34:amd64 5.34.0-3ubuntu1.3 amd64 shared Perl library ii libpopt0:amd64 1.18-3build1 amd64 lib for parsing cmdline parameters ii libprocps8:amd64 2:3.3.17-6ubuntu2.1 amd64 library for accessing process information from /proc ii libpsl5:amd64 0.21.0-1.2build2 amd64 Library for Public Suffix List (shared libraries) ii libpython2.7-minimal:amd64 2.7.18-13ubuntu1.1 amd64 Minimal subset of the Python language (version 2.7) ii libpython3-stdlib:amd64 3.10.6-1~22.04 amd64 interactive high-level object-oriented language (default python3 version) -ii libpython3.10-minimal:amd64 3.10.12-1~22.04.2 amd64 Minimal subset of the Python language (version 3.10) -ii libpython3.10-stdlib:amd64 3.10.12-1~22.04.2 amd64 Interactive high-level object-oriented language (standard library, version 3.10) -ii libpython3.10:amd64 3.10.12-1~22.04.2 amd64 Shared Python runtime library (version 3.10) +ii libpython3.10-minimal:amd64 3.10.12-1~22.04.3 amd64 Minimal subset of the Python language (version 3.10) +ii libpython3.10-stdlib:amd64 3.10.12-1~22.04.3 amd64 Interactive high-level object-oriented language (standard library, version 3.10) +ii libpython3.10:amd64 3.10.12-1~22.04.3 amd64 Shared Python runtime library (version 3.10) ii libquadmath0:amd64 12.3.0-1ubuntu1~22.04 amd64 GCC Quad-Precision Math Library ii libreadline8:amd64 8.1.2-1 amd64 GNU readline and history libraries, run-time libraries ii librhash0:amd64 1.4.2-1ubuntu1 amd64 shared library for hash functions computing @@ -254,7 +254,7 @@ ii libxxhash0:amd64 0.8.1-1 amd64 ii libyaml-0-2:amd64 0.2.2-1build2 amd64 Fast YAML 1.1 parser and emitter library ii libzstd-dev:amd64 1.4.8+dfsg-3build1 amd64 fast lossless compression algorithm -- development files ii libzstd1:amd64 1.4.8+dfsg-3build1 amd64 fast lossless compression algorithm -ii linux-libc-dev:amd64 5.15.0-88.98 amd64 Linux Kernel Headers for development +ii linux-libc-dev:amd64 5.15.0-91.101 amd64 Linux Kernel Headers for development ii login 1:4.8.1-2ubuntu2.1 amd64 system login tools ii logsave 1.46.5-2ubuntu1.1 amd64 save the output of a command in a log file ii lsb-base 11.1.0ubuntu4 all Linux Standard Base init script functionality @@ -281,9 +281,9 @@ ii patchelf 0.14.3-1 amd64 ii patchutils 0.4.2-1build2 amd64 Utilities to work with patches ii pax-utils 1.2.9-1 amd64 Security-focused ELF files checking tool ii paxctl 0.9-1build1 amd64 new PaX control program for using the PT_PAX_FLAGS marking -ii perl 5.34.0-3ubuntu1.2 amd64 Larry Wall's Practical Extraction and Report Language -ii perl-base 5.34.0-3ubuntu1.2 amd64 minimal Perl system -ii perl-modules-5.34 5.34.0-3ubuntu1.2 all Core Perl modules +ii perl 5.34.0-3ubuntu1.3 amd64 Larry Wall's Practical Extraction and Report Language +ii perl-base 5.34.0-3ubuntu1.3 amd64 minimal Perl system +ii perl-modules-5.34 5.34.0-3ubuntu1.3 all Core Perl modules ii procps 2:3.3.17-6ubuntu2.1 amd64 /proc file system utilities ii python2-minimal 2.7.18-3 amd64 minimal subset of the Python2 language ii python2.7-minimal 2.7.18-13ubuntu1.1 amd64 Minimal subset of the Python language (version 2.7) @@ -292,8 +292,8 @@ ii python3-minimal 3.10.6-1~22.04 amd64 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-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 python3.10 3.10.12-1~22.04.3 amd64 Interactive high-level object-oriented language (version 3.10) +ii python3.10-minimal 3.10.12-1~22.04.3 amd64 Minimal subset of the Python language (version 3.10) 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 @@ -304,7 +304,7 @@ ii sed 4.8-1ubuntu2 amd64 ii sensible-utils 0.0.17 all Utilities for sensible alternative selection ii sysstat 12.5.2-2ubuntu0.2 amd64 system performance tools for Linux 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 tar 1.34+dfsg-1ubuntu0.1.22.04.2 amd64 GNU version of the tar archiving utility ii time 1.9-0.1build2 amd64 GNU time program for measuring CPU resource usage ii ubuntu-keyring 2021.03.26 all GnuPG keys of the Ubuntu archive ii ucf 3.0043 all Update Configuration File(s): preserve user changes to config files @@ -312,11 +312,11 @@ ii universal-ctags 5.9.20210829.0-1 amd64 ii unzip 6.0-26ubuntu3.1 amd64 De-archiver for .zip files ii usrmerge 25ubuntu2 all Convert the system to the merged /usr directories scheme ii util-linux 2.37.2-4ubuntu3 amd64 miscellaneous system utilities -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 vim 2:8.2.3995-1ubuntu2.15 amd64 Vi IMproved - enhanced vi editor +ii vim-common 2:8.2.3995-1ubuntu2.15 all Vi IMproved - Common files +ii vim-runtime 2:8.2.3995-1ubuntu2.15 all Vi IMproved - Runtime files ii wget 1.21.2-2ubuntu1 amd64 retrieves files from the web -ii xxd 2:8.2.3995-1ubuntu2.13 amd64 tool to make (or reverse) a hex dump +ii xxd 2:8.2.3995-1ubuntu2.15 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 @@ -331,12 +331,12 @@ ii zstd 1.4.8+dfsg-3build1 amd64 ||/ Name Version Architecture Description Packages sorted by Installed-Size: - 754312 ===== TOTAL (325 packages) + 754338 ===== TOTAL (325 packages) 52747 gcc-11 amd64 34444 libicu70 amd64 - 32782 vim-runtime all + 32783 vim-runtime all 28891 g++-11 amd64 - 28441 libperl5.34 amd64 + 28445 libperl5.34 amd64 26284 cpp-11 amd64 20742 cmake amd64 18759 libstdc++-11-dev amd64 @@ -344,39 +344,39 @@ Packages sorted by Installed-Size: 17671 perl-modules-5.34 all 15293 zsh-common all 13895 libgcc-11-dev amd64 - 13592 libc6 amd64 + 13593 libc6 amd64 13037 libc6-dev amd64 - 12561 libc6-x32 amd64 - 12479 libc6 i386 - 12200 libc6-i386 amd64 + 12562 libc6-x32 amd64 + 12480 libc6 i386 + 12201 libc6-i386 amd64 11311 gdb amd64 10877 lib32stdc++-11-dev amd64 10439 binutils-x86-64-linux-gnu amd64 10390 libx32stdc++-11-dev amd64 9866 cmake-data all - 8248 libc6-dev-x32 amd64 + 8249 libc6-dev-x32 amd64 8119 libpython3.10-stdlib amd64 7948 lib32gcc-11-dev amd64 - 7730 perl-base amd64 + 7734 perl-base amd64 7518 libasan6 amd64 7262 libc6-dev-i386 amd64 7255 libtsan0 amd64 7128 libmagic-mgc amd64 7112 coreutils amd64 6988 libx32gcc-11-dev amd64 - 6802 linux-libc-dev amd64 + 6810 linux-libc-dev amd64 6733 dpkg amd64 6667 lib32asan6 amd64 6570 libx32asan6 amd64 - 5905 python3.10-minimal amd64 + 5898 python3.10-minimal amd64 5828 libssl3 amd64 5768 libpython3.10 amd64 - 5103 libpython3.10-minimal amd64 + 5106 libpython3.10-minimal amd64 4249 ncurses-term all 4147 ripgrep amd64 4141 apt amd64 4082 libglib2.0-0 amd64 - 3930 vim amd64 + 3931 vim amd64 3643 python2.7-minimal amd64 3542 python3-pycryptodome amd64 3506 re2c amd64 @@ -394,7 +394,7 @@ Packages sorted by Installed-Size: 2755 libstdc++6 amd64 2676 libubsan1 amd64 2662 lib32stdc++6 amd64 - 2537 libc-bin amd64 + 2538 libc-bin amd64 2518 libx32ubsan1 amd64 2510 fd-find amd64 2499 lib32ubsan1 amd64 @@ -453,7 +453,7 @@ Packages sorted by Installed-Size: 686 lib32quadmath0 amd64 683 libpcre3 amd64 646 ncurses-bin amd64 - 632 python3.10 amd64 + 633 python3.10 amd64 621 libpcre2-8-0 amd64 620 findutils amd64 615 libonig5 amd64 @@ -484,8 +484,8 @@ Packages sorted by Installed-Size: 390 python3-pyasn1 all 390 ca-certificates all 389 mount amd64 + 382 vim-common all 382 libmount1 amd64 - 381 vim-common all 376 unzip amd64 372 xz-utils amd64 368 libssh2-1 amd64 @@ -507,18 +507,18 @@ Packages sorted by Installed-Size: 320 libgomp1 amd64 320 libcrypt-dev amd64 318 libncurses5 amd64 + 313 libctf-nobfd0 amd64 312 libpam-runtime all - 312 libctf-nobfd0 amd64 307 libsource-highlight-common all 306 libx32gomp1 amd64 300 libsemanage2 amd64 - 298 libc-dev-bin amd64 + 299 libc-dev-bin amd64 296 libquadmath0 amd64 295 libx32quadmath0 amd64 292 libk5crypto3 amd64 290 pax-utils amd64 290 liblzma5 amd64 - 279 xxd amd64 + 280 xxd amd64 273 gcc-11-base amd64 272 gcc-12-base i386 272 gcc-12-base amd64 @@ -589,8 +589,8 @@ Packages sorted by Installed-Size: 114 bzip2 amd64 113 libss2 amd64 113 lib32itm1 amd64 + 113 binutils amd64 112 libc-ares2 amd64 - 112 binutils amd64 110 libio-pty-perl amd64 105 python2-minimal amd64 105 libx32itm1 amd64 diff --git a/src/Makefile b/src/Makefile index e55d8713..0d713588 100644 --- a/src/Makefile +++ b/src/Makefile @@ -81,7 +81,7 @@ endif # "make check-whitespace" # -ifneq ($(wildcard /usr/bin/env),) # needs bash, perl, xargs, etc. +ifneq ($(wildcard /usr/bin/env),) # needs Unix utils like bash, perl, sed, xargs, etc. CHECK_WHITESPACE = bash $(top_srcdir)/misc/scripts/check_whitespace.sh $(top_srcdir) ifneq ($(wildcard $(top_srcdir)/.git/.),) CHECK_WHITESPACE = bash $(top_srcdir)/misc/scripts/check_whitespace_git.sh $(top_srcdir) diff --git a/src/version.h b/src/version.h index 1f6940b8..5acbea08 100644 --- a/src/version.h +++ b/src/version.h @@ -2,6 +2,6 @@ #define UPX_VERSION_HEX 0x040300 /* 04.03.00 */ #define UPX_VERSION_STRING "4.3.0" #define UPX_VERSION_STRING4 "4.30" -#define UPX_VERSION_DATE "Nov 2nd 2023" -#define UPX_VERSION_DATE_ISO "2023-11-02" +#define UPX_VERSION_DATE "Dec 19th 2023" +#define UPX_VERSION_DATE_ISO "2023-12-19" #define UPX_VERSION_YEAR "2023"