1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00

CI updates

This commit is contained in:
Markus F.X.J. Oberhumer 2025-09-18 12:03:48 +02:00
parent 3b71139426
commit 466ceb4a1f
5 changed files with 44 additions and 39 deletions

View File

@ -296,6 +296,7 @@ jobs:
- { os: macos-14, gcc: gcc-13, gxx: g++-13, testsuite: true }
# { os: macos-15, gcc: gcc-14, gxx: g++-14, testsuite: true }
- { os: macos-15, testsuite: true }
- { os: macos-26, gcc: gcc-15, gxx: g++-15, testsuite: true }
name: ${{ format('{0} {1}{2}', matrix.os, matrix.xcode_version && 'xcode-' || '', matrix.xcode_version) }}
runs-on: ${{ matrix.os }}
steps:
@ -320,7 +321,7 @@ jobs:
echo "UPX_DEBUG_FORCE_PACK_MACOS=1" >> $GITHUB_ENV
case "${{ matrix.os }}" in
# TODO FIXME: UPX on macos-13+ is broken => disable run-packed for now
macos-1[345]) echo "UPX_CONFIG_DISABLE_RUN_PACKED_TEST=ON" >> $GITHUB_ENV ;;
macos-[12][3456]*) echo "UPX_CONFIG_DISABLE_RUN_PACKED_TEST=ON" >> $GITHUB_ENV ;;
esac
- uses: actions/checkout@v5
with: { submodules: true }

View File

@ -4,7 +4,7 @@ Desired=Unknown/Install/Remove/Purge/Hold
ii 7zip 23.01+dfsg-11 amd64 7-Zip file archiver with a high compression ratio
ii apt 2.8.3 amd64 commandline package manager
ii aria2 1.37.0+debian-1build3 amd64 High speed download utility
ii base-files 13ubuntu10.2 amd64 Debian base system miscellaneous files
ii base-files 13ubuntu10.3 amd64 Debian base system miscellaneous files
ii base-passwd 3.6.3build1 amd64 Debian base system master password and group files
ii bash 5.2.21-2ubuntu4 amd64 GNU Bourne Again SHell
ii bash-completion 1:2.11-8 all programmable completion for the bash shell
@ -26,7 +26,7 @@ ii ccache 4.9.1-1 amd64
ii chrpath 0.16-2build1 amd64 Tool to edit the rpath in ELF binaries
ii cmake 3.28.3-1build7 amd64 cross-platform, open-source make system
ii cmake-data 3.28.3-1build7 all CMake data files (modules, templates and documentation)
ii coreutils 9.4-3ubuntu6 amd64 GNU core utilities
ii coreutils 9.4-3ubuntu6.1 amd64 GNU core utilities
ii cpio 2.15+dfsg-1ubuntu2 amd64 GNU cpio -- a program to manage archives of files
ii cpp 4:13.2.0-7ubuntu1 amd64 GNU C preprocessor (cpp)
ii cpp-13 13.3.0-6ubuntu2~24.04 amd64 GNU C preprocessor
@ -209,16 +209,16 @@ ii libpam-runtime 1.5.3-5ubuntu5.4 all
ii libpam0g:amd64 1.5.3-5ubuntu5.4 amd64 Pluggable Authentication Modules library
ii libpcre2-32-0:amd64 10.42-4ubuntu2.1 amd64 New Perl Compatible Regular Expression Library - 32 bit runtime files
ii libpcre2-8-0:amd64 10.42-4ubuntu2.1 amd64 New Perl Compatible Regular Expression Library- 8 bit runtime files
ii libperl5.38t64:amd64 5.38.2-3.2ubuntu0.1 amd64 shared Perl library
ii libperl5.38t64:amd64 5.38.2-3.2ubuntu0.2 amd64 shared Perl library
ii libpipeline1:amd64 1.5.7-2 amd64 Unix process pipeline manipulation library
ii libpopt0:amd64 1.19+dfsg-1build1 amd64 lib for parsing cmdline parameters
ii libproc2-0:amd64 2:4.0.4-4ubuntu3.2 amd64 library for accessing process information from /proc
ii libpsl5t64:amd64 0.21.2-1.1build1 amd64 Library for Public Suffix List (shared libraries)
ii libpython2.7-minimal:amd64 2.7.18-8+deb11u1 amd64 Minimal subset of the Python language (version 2.7)
ii libpython3-stdlib:amd64 3.12.3-0ubuntu2 amd64 interactive high-level object-oriented language (default python3 version)
ii libpython3.12-minimal:amd64 3.12.3-1ubuntu0.7 amd64 Minimal subset of the Python language (version 3.12)
ii libpython3.12-stdlib:amd64 3.12.3-1ubuntu0.7 amd64 Interactive high-level object-oriented language (standard library, version 3.12)
ii libpython3.12t64:amd64 3.12.3-1ubuntu0.7 amd64 Shared Python runtime library (version 3.12)
ii libpython3.12-minimal:amd64 3.12.3-1ubuntu0.8 amd64 Minimal subset of the Python language (version 3.12)
ii libpython3.12-stdlib:amd64 3.12.3-1ubuntu0.8 amd64 Interactive high-level object-oriented language (standard library, version 3.12)
ii libpython3.12t64:amd64 3.12.3-1ubuntu0.8 amd64 Shared Python runtime library (version 3.12)
ii libquadmath0:amd64 14.2.0-4ubuntu2~24.04 amd64 GCC Quad-Precision Math Library
ii libreadline8t64:amd64 8.2-4build1 amd64 GNU readline and history libraries, run-time libraries
ii librhash0:amd64 1.4.3-3build1 amd64 shared library for hash functions computing
@ -237,7 +237,7 @@ ii libsigsegv2:amd64 2.14-1ubuntu2 amd64
ii libsmartcols1:amd64 2.39.3-9ubuntu6.3 amd64 smart column output alignment library
ii libsource-highlight-common 3.1.9-4.3build1 all architecture-independent files for source highlighting library
ii libsource-highlight4t64:amd64 3.1.9-4.3build1 amd64 source highlighting library
ii libsqlite3-0:amd64 3.45.1-1ubuntu2.3 amd64 SQLite 3 shared library
ii libsqlite3-0:amd64 3.45.1-1ubuntu2.4 amd64 SQLite 3 shared library
ii libss2:amd64 1.47.0-2.4~exp1ubuntu4.1 amd64 command-line interface parsing library
ii libssh-4:amd64 0.10.6-2ubuntu0.1 amd64 tiny C SSH library (OpenSSL flavor)
ii libssh2-1t64:amd64 1.11.0-4.1build2 amd64 SSH2 client-side library
@ -280,12 +280,12 @@ ii libx32ubsan1 14.2.0-4ubuntu2~24.04 amd64
ii libxau6:amd64 1:1.0.9-1build6 amd64 X11 authorisation library
ii libxcb1:amd64 1.15-1ubuntu2 amd64 X C Binding
ii libxdmcp6:amd64 1:1.1.3-0ubuntu6 amd64 X11 Display Manager Control Protocol library
ii libxml2:amd64 2.9.14+dfsg-1.3ubuntu3.3 amd64 GNOME XML library
ii libxml2:amd64 2.9.14+dfsg-1.3ubuntu3.5 amd64 GNOME XML library
ii libxxhash0:amd64 0.8.2-2build1 amd64 shared library for xxhash
ii libyaml-0-2:amd64 0.2.5-1build1 amd64 Fast YAML 1.1 parser and emitter library
ii libzstd-dev:amd64 1.5.5+dfsg2-2build1.1 amd64 fast lossless compression algorithm -- development files
ii libzstd1:amd64 1.5.5+dfsg2-2build1.1 amd64 fast lossless compression algorithm
ii linux-libc-dev:amd64 6.8.0-64.67 amd64 Linux Kernel Headers for development
ii linux-libc-dev:amd64 6.8.0-79.79 amd64 Linux Kernel Headers for development
ii login 1:4.13+dfsg1-4ubuntu3.2 amd64 system login tools
ii logsave 1.47.0-2.4~exp1ubuntu4.1 amd64 save the output of a command in a log file
ii lsb-release 12.0-2 all Linux Standard Base version reporting utility (minimal implementation)
@ -318,9 +318,9 @@ ii patch 2.7.6-7build3 amd64
ii patchelf 0.18.0-1.1build1 amd64 modify properties of ELF executables
ii patchutils 0.4.2-1build3 amd64 Utilities to work with patches
ii pax-utils 1.3.7-1 amd64 Security-focused ELF files checking tool
ii perl 5.38.2-3.2ubuntu0.1 amd64 Larry Wall's Practical Extraction and Report Language
ii perl-base 5.38.2-3.2ubuntu0.1 amd64 minimal Perl system
ii perl-modules-5.38 5.38.2-3.2ubuntu0.1 all Core Perl modules
ii perl 5.38.2-3.2ubuntu0.2 amd64 Larry Wall's Practical Extraction and Report Language
ii perl-base 5.38.2-3.2ubuntu0.2 amd64 minimal Perl system
ii perl-modules-5.38 5.38.2-3.2ubuntu0.2 all Core Perl modules
ii procps 2:4.0.4-4ubuntu3.2 amd64 /proc file system utilities
ii proot 5.1.0-1.3 amd64 emulate chroot, bind mount and binfmt_misc for non-root users
ii python2.7-minimal 2.7.18-8+deb11u1 amd64 Minimal subset of the Python language (version 2.7)
@ -337,8 +337,8 @@ ii python3-tomli-w 1.0.0-2 all
ii python3-xmltodict 0.13.0-1 all Makes working with XML feel like you are working with JSON (Python 3)
ii python3-yaml 6.0.1-2build2 amd64 YAML parser and emitter for Python3
ii python3-zstd 1.5.5.1-1build1 amd64 python bindings to Yann Collet ZSTD compression library
ii python3.12 3.12.3-1ubuntu0.7 amd64 Interactive high-level object-oriented language (version 3.12)
ii python3.12-minimal 3.12.3-1ubuntu0.7 amd64 Minimal subset of the Python language (version 3.12)
ii python3.12 3.12.3-1ubuntu0.8 amd64 Interactive high-level object-oriented language (version 3.12)
ii python3.12-minimal 3.12.3-1ubuntu0.8 amd64 Minimal subset of the Python language (version 3.12)
ii re2c 3.1-1build1 amd64 lexer generator for C, C++, Go and Rust
ii readline-common 8.2-4build1 all GNU readline and history libraries, common files
ii ripgrep 14.1.0-1 amd64 Recursively searches directories for a regex pattern
@ -358,6 +358,7 @@ ii tzdata 2025b-0ubuntu0.24.04.1 all
ii ubuntu-keyring 2023.11.28.1 all GnuPG keys of the Ubuntu archive
ii ucf 3.0043+nmu1 all Update Configuration File(s): preserve user changes to config files
ii universal-ctags 5.9.20210829.0-1 amd64 build tag file indexes of source code definitions
ii unminimize 0.2.1 amd64 Un-minimize your minimial images or setup
ii unzip 6.0-28ubuntu4.1 amd64 De-archiver for .zip files
ii util-linux 2.39.3-9ubuntu6.3 amd64 miscellaneous system utilities
ii valgrind 1:3.22.0-0ubuntu3 amd64 instrumentation framework for building dynamic analysis tools
@ -378,7 +379,7 @@ ii zstd 1.5.5+dfsg2-2build1.1 amd64
||/ Name Version Architecture Description
Packages sorted by Installed-Size:
1023146 ===== TOTAL (372 packages)
1023180 ===== TOTAL (373 packages)
76943 valgrind amd64
61333 gcc-13-x86-64-linux-gnu amd64
44381 gh amd64
@ -386,7 +387,7 @@ Packages sorted by Installed-Size:
35919 libicu74 amd64
33545 g++-13-x86-64-linux-gnu amd64
30811 cpp-13-x86-64-linux-gnu amd64
29327 libperl5.38t64 amd64
29333 libperl5.38t64 amd64
21815 neovim-runtime all
21692 git amd64
21662 libstdc++-13-dev amd64
@ -406,16 +407,16 @@ Packages sorted by Installed-Size:
10791 libasan8 amd64
9704 libx32asan8 amd64
9539 lib32asan8 amd64
9022 libpython3.12-stdlib amd64
9023 libpython3.12-stdlib amd64
8924 libpython3.12t64 amd64
8902 libtsan2 amd64
8335 libmagic-mgc amd64
8296 lib32gcc-13-dev amd64
8119 libc6-dev-x32 amd64
7926 python3.12-minimal amd64
7927 python3.12-minimal amd64
7913 perl-base amd64
7531 libx32gcc-13-dev amd64
7460 linux-libc-dev amd64
7468 linux-libc-dev amd64
7226 lib32stdc++-13-dev amd64
7059 libx32stdc++-13-dev amd64
7024 direnv amd64
@ -427,7 +428,7 @@ Packages sorted by Installed-Size:
6158 7zip amd64
5219 bat amd64
5210 ripgrep amd64
5180 libpython3.12-minimal amd64
5181 libpython3.12-minimal amd64
4897 libhwasan0 amd64
4341 ncurses-term all
4244 minify amd64
@ -519,7 +520,7 @@ Packages sorted by Installed-Size:
761 libzstd1 amd64
751 libsepol2 amd64
745 libsource-highlight4t64 amd64
736 python3.12 amd64
737 python3.12 amd64
732 xz-utils amd64
708 tar amd64
672 perl amd64
@ -743,6 +744,7 @@ Packages sorted by Installed-Size:
20 cpp-x86-64-linux-gnu amd64
17 lsb-release all
17 libaudit-common all
16 unminimize amd64
13 g++ amd64
11 g++-x86-64-linux-gnu amd64
11 cpp-13 amd64

View File

@ -39,12 +39,13 @@ struct PackHeader final {
~PackHeader() noexcept = default;
void reset() noexcept;
int set_method(int m, unsigned offset = 0); // check, then assign
int getPackHeaderSize() const;
void putPackHeader(SPAN_S(byte) p) const;
bool decodePackHeaderFromBuf(SPAN_S(const byte) b, int blen);
int getPackHeaderSize() const;
// fields stored in compressed file => see stub/src/include/header.S
// enum { magic = UPX_MAGIC_LE32 };
int version;
@ -63,7 +64,6 @@ struct PackHeader final {
int n_mru; // specific name for filter ctojr
};
int header_checksum;
int set_method(int m, unsigned offset = 0); // check, then assign
// support fields for verifying decompression
unsigned saved_u_adler;

View File

@ -529,7 +529,7 @@ protected:
};
enum { IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS = 20 };
enum { IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT = 0x001 };
struct DebugDir *dbgCET;
struct DebugDir *dbgCET = nullptr;
};
class PeFile32 : public PeFile {

View File

@ -329,19 +329,21 @@ void do_one_file(const char *const iname, char *const oname) may_throw {
}
// handle command - actual work starts HERE
PackMaster pm(&fi, opt);
if (opt->cmd == CMD_COMPRESS)
pm.pack(&fo);
else if (opt->cmd == CMD_DECOMPRESS)
pm.unpack(&fo);
else if (opt->cmd == CMD_TEST)
pm.test();
else if (opt->cmd == CMD_LIST)
pm.list();
else if (opt->cmd == CMD_FILEINFO)
pm.fileInfo();
else
throwInternalError("invalid command");
{
PackMaster pm(&fi, opt);
if (opt->cmd == CMD_COMPRESS)
pm.pack(&fo);
else if (opt->cmd == CMD_DECOMPRESS)
pm.unpack(&fo);
else if (opt->cmd == CMD_TEST)
pm.test();
else if (opt->cmd == CMD_LIST)
pm.list();
else if (opt->cmd == CMD_FILEINFO)
pm.fileInfo();
else
throwInternalError("invalid command");
}
// copy time stamp
if (oname[0] && opt->preserve_timestamp && fo.isOpen())