CI updates

This commit is contained in:
Markus F.X.J. Oberhumer
2023-11-17 11:50:52 +01:00
parent 46029bb8a0
commit e79c790264
15 changed files with 87 additions and 45 deletions
+7 -3
View File
@@ -6,6 +6,10 @@
ifeq ($(UPX_MAKEFILE_EXTRA_MK_INCLUDED),)
UPX_MAKEFILE_EXTRA_MK_INCLUDED := 1
override check_defined = $(foreach 1,$1,$(if $(filter undefined,$(origin $1)),$(error ERROR: variable '$1' is not defined),))
override check_undefined = $(foreach 1,$1,$(if $(filter undefined,$(origin $1)),,$(error ERROR: variable '$1' is already defined)))
$(call check_undefined,run_config_and_build)
#***********************************************************************
# extra builds: some pre-defined build configurations
#***********************************************************************
@@ -223,7 +227,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 = build/xtarget/$(UPX_XTARGET)/release
.DEFAULT_GOAL = build/xtarget/$(UPX_XTARGET)/release
endif
endif
@@ -265,7 +269,7 @@ endif # bug work-around
SUBMODULES = doctest lzma-sdk ucl valgrind zlib
dummy := $(foreach m,$(SUBMODULES),$(if $(wildcard vendor/$m/[CL]*),$m,\
$(error ERROR: missing git submodule '$m'; run 'git submodule update --init')))
$(foreach 1,$(SUBMODULES),$(if $(wildcard vendor/$1/[CL]*),,\
$(error ERROR: missing git submodule '$1'; run 'git submodule update --init')))
endif # UPX_MAKEFILE_EXTRA_MK_INCLUDED
@@ -9,7 +9,7 @@ argv0=$0; argv0abs="$(readlink -fn "$argv0")"; argv0dir="$(dirname "$argv0abs")"
# NOTE: this image is based on rebuild-stubs/upx-stubtools-20221212-v6,
# so you have to create that image first
# WARNING: we install many packages, so the resulting image needs A LOT of disk space!
image=upx-cross-compile-ubuntu2204-20230721-v1
image=upx-cross-compile-ubuntu2204-20230721-v2
[[ $1 == --print-image ]] && echo "$image" && exit 0
podman build -t "$image" -f "$argv0dir/Dockerfile" "$argv0dir"
@@ -2,7 +2,7 @@
# so you have to create that image first
# WARNING: we install many packages, so the resulting image needs A LOT of disk space!
FROM localhost/upx-stubtools-20221212-v6
ENV UPX_CONTAINER_IMAGE_NAME=upx-cross-compile-ubuntu2204-20230721-v1
ENV UPX_CONTAINER_IMAGE_NAME=upx-cross-compile-ubuntu2204-20230721-v2
ARG DEBIAN_FRONTEND=noninteractive
USER root
@@ -34,6 +34,8 @@ RUN apt-get update && apt-get upgrade -y \
# Windows cross compilers
g++-mingw-w64-i686 \
g++-mingw-w64-x86-64 \
# make sure that we use posix-threads (pthreads) and NOT win32-threads
&& for f in i686-w64-mingw32-g++ i686-w64-mingw32-gcc x86_64-w64-mingw32-g++ x86_64-w64-mingw32-gcc; do update-alternatives --set $f /usr/bin/$f-posix; done \
&& true
RUN apt-get install -y \
# clang-14 and tools
+9 -7
View File
@@ -7,7 +7,7 @@ ii adduser 3.118ubuntu5
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.8 all ALSA Use Case Manager configuration files
ii apt 2.4.10 amd64 commandline package manager
ii apt 2.4.11 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)
ii base-files 12ubuntu4.4 amd64 Debian base system miscellaneous files
@@ -297,7 +297,7 @@ ii libacl1:amd64 2.3.1-1
ii libaio1:amd64 0.3.112-13build1 amd64 Linux kernel AIO access library - shared library
ii libapparmor1:amd64 3.0.4-2ubuntu2.2 amd64 changehat AppArmor library
ii libapparmor1:i386 3.0.4-2ubuntu2.2 i386 changehat AppArmor library
ii libapt-pkg6.0:amd64 2.4.10 amd64 package management runtime library
ii libapt-pkg6.0:amd64 2.4.11 amd64 package management runtime library
ii libarchive13:amd64 3.6.0-1ubuntu1 amd64 Multi-format archive and compression library (shared library)
ii libargon2-1:amd64 0~20171227-0.3 amd64 memory-hard hashing function - runtime library
ii libaria2-0:amd64 1.36.0-1 amd64 C++ library interface to aria2
@@ -792,7 +792,7 @@ ii libpmemobj1:amd64 1.11.1-3build1
ii libpng16-16:amd64 1.6.37-3build5 amd64 PNG library - runtime (version 1.6)
ii libpng16-16:i386 1.6.37-3build5 i386 PNG library - runtime (version 1.6)
ii libpopt0:amd64 1.18-3build1 amd64 lib for parsing cmdline parameters
ii libprocps8:amd64 2:3.3.17-6ubuntu2 amd64 library for accessing process information from /proc
ii libprocps8:amd64 2:3.3.17-6ubuntu2.1 amd64 library for accessing process information from /proc
ii libproxy1v5:amd64 0.4.17-2 amd64 automatic proxy configuration management library (shared)
ii libproxy1v5:i386 0.4.17-2 i386 automatic proxy configuration management library (shared)
ii libpsl5:amd64 0.21.0-1.2build2 amd64 Library for Public Suffix List (shared libraries)
@@ -1138,12 +1138,13 @@ ii parallel 20210822+ds-2
ii passwd 1:4.8.1-2ubuntu2.1 amd64 change and administer password and group data
ii patch 2.7.6-7build2 amd64 Apply a diff file to an original
ii patchelf 0.14.3-1 amd64 modify properties of ELF executables
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 procps 2:3.3.17-6ubuntu2 amd64 /proc file system utilities
ii procps 2:3.3.17-6ubuntu2.1 amd64 /proc file system utilities
ii publicsuffix 20211207.1025-1 all accurate, machine-readable list of domain name suffixes
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)
@@ -1230,7 +1231,7 @@ ii zstd 1.4.8+dfsg-3build1
||/ Name Version Architecture Description
Packages sorted by Installed-Size:
8373937 ===== TOTAL (1224 packages)
8374158 ===== TOTAL (1225 packages)
545062 libwine amd64
474522 libwine i386
270995 llvm-14-dev amd64
@@ -1485,8 +1486,8 @@ Packages sorted by Installed-Size:
4249 ncurses-term all
4236 xkb-data all
4204 llvm-14-linker-tools amd64
4156 apt amd64
4147 ripgrep amd64
4141 apt amd64
4082 libglib2.0-0 amd64
4024 python3-pygments all
3930 vim amd64
@@ -1503,7 +1504,7 @@ Packages sorted by Installed-Size:
3333 libxml2-dev amd64
3261 liblsan0-ppc64-cross all
3247 libstdc++6-ppc64-cross all
3181 libapt-pkg6.0 amd64
3198 libapt-pkg6.0 amd64
3147 libvpx7 i386
3139 libhwasan0-arm64-cross all
3135 liblsan0-ppc64el-cross all
@@ -1973,6 +1974,7 @@ Packages sorted by Installed-Size:
221 libxcb1 i386
221 bfs amd64
220 libidn2-0 amd64
219 patchutils amd64
219 libtirpc3 amd64
219 librhash0 amd64
217 libasound2-data all
+1 -1
View File
@@ -15,7 +15,7 @@ RUN dpkg --add-architecture i386 \
# the full UPX binary inside the container via CMake:
7zip bfs busybox bzip2 cabextract ccache chrpath cmake cpio curl elfutils fd-find file fzf \
g++ gawk gdb gojq ht htop hyperfine jq libzstd-dev lsb-release lz4 lzip lzop \
mksh moreutils ninja-build p7zip parallel patch patchelf pax-utils paxctl \
mksh moreutils ninja-build p7zip parallel patch patchelf patchutils pax-utils paxctl \
python3 python3-pyasn1 python3-pycryptodome python3-zstd \
re2c ripgrep rsync screen universal-ctags unzip vim yash zip zlib1g-dev zsh zstd \
# extra packages for compiling with "gcc -m32" and and "gcc -mx32":
+9 -7
View File
@@ -3,7 +3,7 @@ Packages:
Desired=Unknown/Install/Remove/Purge/Hold
ii 7zip 21.07+dfsg-4 amd64 7-Zip file archiver with a high compression ratio
ii adduser 3.118ubuntu5 all add and remove users and groups
ii apt 2.4.10 amd64 commandline package manager
ii apt 2.4.11 amd64 commandline package manager
ii aria2 1.36.0-1 amd64 High speed download utility
ii base-files 12ubuntu4.4 amd64 Debian base system miscellaneous files
ii base-passwd 3.5.52build1 amd64 Debian base system master password and group files
@@ -78,7 +78,7 @@ ii lib32stdc++-11-dev 11.4.0-1ubuntu1~22.04 amd64
ii lib32stdc++6 12.3.0-1ubuntu1~22.04 amd64 GNU Standard C++ Library v3 (32 bit Version)
ii lib32ubsan1 12.3.0-1ubuntu1~22.04 amd64 UBSan -- undefined behaviour sanitizer (32bit)
ii libacl1:amd64 2.3.1-1 amd64 access control list - shared library
ii libapt-pkg6.0:amd64 2.4.10 amd64 package management runtime library
ii libapt-pkg6.0:amd64 2.4.11 amd64 package management runtime library
ii libarchive13:amd64 3.6.0-1ubuntu1 amd64 Multi-format archive and compression library (shared library)
ii libaria2-0:amd64 1.36.0-1 amd64 C++ library interface to aria2
ii libasan6:amd64 11.4.0-1ubuntu1~22.04 amd64 AddressSanitizer -- a fast memory error detector
@@ -186,7 +186,7 @@ ii libpcre2-8-0:amd64 10.39-3ubuntu0.1 amd64
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 libpopt0:amd64 1.18-3build1 amd64 lib for parsing cmdline parameters
ii libprocps8:amd64 2:3.3.17-6ubuntu2 amd64 library for accessing process information from /proc
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)
@@ -278,12 +278,13 @@ ii parallel 20210822+ds-2 all
ii passwd 1:4.8.1-2ubuntu2.1 amd64 change and administer password and group data
ii patch 2.7.6-7build2 amd64 Apply a diff file to an original
ii patchelf 0.14.3-1 amd64 modify properties of ELF executables
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 procps 2:3.3.17-6ubuntu2 amd64 /proc file system utilities
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)
ii python3 3.10.6-1~22.04 amd64 interactive high-level object-oriented language (default python3 version)
@@ -330,7 +331,7 @@ ii zstd 1.4.8+dfsg-3build1 amd64
||/ Name Version Architecture Description
Packages sorted by Installed-Size:
754091 ===== TOTAL (324 packages)
754312 ===== TOTAL (325 packages)
52747 gcc-11 amd64
34444 libicu70 amd64
32782 vim-runtime all
@@ -372,8 +373,8 @@ Packages sorted by Installed-Size:
5768 libpython3.10 amd64
5103 libpython3.10-minimal amd64
4249 ncurses-term all
4156 apt amd64
4147 ripgrep amd64
4141 apt amd64
4082 libglib2.0-0 amd64
3930 vim amd64
3643 python2.7-minimal amd64
@@ -383,7 +384,7 @@ Packages sorted by Installed-Size:
3405 libmpfr6 amd64
3399 util-linux amd64
3347 libaria2-0 amd64
3181 libapt-pkg6.0 amd64
3198 libapt-pkg6.0 amd64
3013 libboost-regex1.74.0 amd64
2961 liblsan0 amd64
2943 parallel all
@@ -542,6 +543,7 @@ Packages sorted by Installed-Size:
225 libcrypt1 amd64
221 bfs amd64
220 libidn2-0 amd64
219 patchutils amd64
219 libtirpc3 amd64
219 librhash0 amd64
214 dash amd64