diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6027125f..ee4e4371 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -202,7 +202,8 @@ jobs: (cd build/extra/clang/release && DESTDIR=$PWD/Install-with-cmake cmake --install .) (cd build/extra/clang/release && DESTDIR=$PWD/Install-with-make make install) - name: 'Run basic tests' - if: ${{ !contains(matrix.os, 'macos-13') }} # FIXME: UPX on macos-13 is broken => disable self-test for now +# if: ${{ !contains(matrix.os, 'macos-13') }} # FIXME: UPX on macos-13 is broken => disable self-test for now + if: false run: | make -C build/extra/clang/debug test make -C build/extra/clang/release test diff --git a/NEWS b/NEWS index 51bac56c..39b662ac 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ User visible changes for UPX ================================================================== Changes in 4.2.0 (XX XXX 2023): + * disable macOS support until we fix compatibility with macOS 13+ * new option '--link' to preserve hard-links (Unix only; use with care) * add support for NO_COLOR env var; see https://no-color.org/ * bug fixes - see https://github.com/upx/upx/milestone/13 diff --git a/README b/README index 11042d33..f45aadde 100644 --- a/README +++ b/README @@ -35,7 +35,7 @@ and run exactly as before, with no runtime or memory penalty for most of the supported formats. UPX supports a number of different executable formats, including -Windows programs and DLLs, macOS apps and Linux executables. +Windows programs and DLLs, and Linux executables. UPX is free software distributed under the term of the GNU General Public License. Full source code is available. diff --git a/misc/testsuite/test_symlinks.sh b/misc/testsuite/test_symlinks.sh index 6fa1efa9..9c41be70 100755 --- a/misc/testsuite/test_symlinks.sh +++ b/misc/testsuite/test_symlinks.sh @@ -3,6 +3,12 @@ set -e; set -o pipefail argv0=$0; argv0abs=$(readlink -fn "$argv0"); argv0dir=$(dirname "$argv0abs") +# disable on macOS for now, see https://github.com/upx/upx/issues/612 +if [[ "$(uname)" == Darwin ]]; then + echo "$0: SKIPPED" + exit 0 +fi + # IMPORTANT NOTE: do NOT run as user root!! # IMPORTANT NOTE: this script only works on Unix!! umask 0022 diff --git a/src/p_mach.cpp b/src/p_mach.cpp index 11022e1f..e01721e6 100644 --- a/src/p_mach.cpp +++ b/src/p_mach.cpp @@ -2229,6 +2229,12 @@ tribool PackMachBase::canPack() break; } } +#if !defined(DEBUG) + // disable macOS packing in Release builds until we do support macOS 13+ + // https://github.com/upx/upx/issues/612 + if (my_cputype == CPU_TYPE_X86_64 || my_cputype == CPU_TYPE_ARM64) + throwCantPack("macOS is currently not supported"); +#endif return true; }