From 5d3f99e661189aa9d3c1956f121a8d97e9a8b978 Mon Sep 17 00:00:00 2001 From: mayeut Date: Tue, 3 Sep 2024 16:13:13 +0200 Subject: [PATCH 1/3] Drop musllinux_1_1 support --- .github/workflows/build.yml | 2 +- .travis.yml | 8 -------- README.rst | 14 +++++++------- build.sh | 5 ----- docker/build_scripts/install-runtime-packages.sh | 9 --------- tests/run_tests.sh | 4 ++-- 6 files changed, 10 insertions(+), 32 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7364c196d..d1354ac9c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,7 +36,7 @@ jobs: strategy: fail-fast: false matrix: - policy: ["manylinux2014", "musllinux_1_1", "musllinux_1_2"] + policy: ["manylinux2014", "musllinux_1_2"] platform: ["i686", "x86_64"] include: - policy: "manylinux_2_28" diff --git a/.travis.yml b/.travis.yml index 0c88e2fcb..32963ecbb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,14 +45,6 @@ jobs: env: POLICY="manylinux_2_28" PLATFORM="s390x" - arch: ppc64le env: POLICY="manylinux_2_28" PLATFORM="ppc64le" - - arch: arm64-graviton2 - virt: vm - group: edge - env: POLICY="musllinux_1_1" PLATFORM="aarch64" - - arch: s390x - env: POLICY="musllinux_1_1" PLATFORM="s390x" - - arch: ppc64le - env: POLICY="musllinux_1_1" PLATFORM="ppc64le" - arch: arm64-graviton2 virt: vm group: edge diff --git a/README.rst b/README.rst index 42c4d2a82..d4c597404 100644 --- a/README.rst +++ b/README.rst @@ -37,9 +37,7 @@ The manylinux project supports: - ``manylinux_2_28`` images for ``x86_64``, ``aarch64``, ``ppc64le`` and ``s390x``. -- ``musllinux_1_1`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le`` and ``s390x``. - -- ``musllinux_1_2`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le`` and ``s390x``. +- ``musllinux_1_2`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le``, ``s390x`` and ``armv7l``. Wheel packages compliant with those tags can be uploaded to @@ -187,8 +185,10 @@ Toolchain: GCC 13 - armv7l image: ``quay.io/pypa/musllinux_1_2_armv7l`` -musllinux_1_1 (Alpine Linux 3.12 based) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +musllinux_1_1 (Alpine Linux 3.12 based - EOL) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Support for ``musllinux_1_1`` has `ended on November 1st, 2024 `_. Toolchain: GCC 9 @@ -199,7 +199,7 @@ Toolchain: GCC 9 - s390x image: ``quay.io/pypa/musllinux_1_1_s390x`` -All images are rebuilt using GitHub Actions / Travis-CI on every commit to this +All supported images are rebuilt using GitHub Actions / Travis-CI on every commit to this repository; see the `docker/ `_ directory for source code. @@ -208,7 +208,7 @@ directory for source code. Image content ~~~~~~~~~~~~~ -All images currently contain: +All supported images currently contain: - CPython 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.13t and PyPy 3.7, 3.8, 3.9, 3.10 installed in ``/opt/python/-``. The directories are named diff --git a/build.sh b/build.sh index 06f1e075a..867fad05c 100755 --- a/build.sh +++ b/build.sh @@ -54,11 +54,6 @@ elif [ "${POLICY}" == "manylinux_2_28" ]; then DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-12/root" PREPEND_PATH="${DEVTOOLSET_ROOTPATH}/usr/bin:" LD_LIBRARY_PATH_ARG="${DEVTOOLSET_ROOTPATH}/usr/lib64:${DEVTOOLSET_ROOTPATH}/usr/lib:${DEVTOOLSET_ROOTPATH}/usr/lib64/dyninst:${DEVTOOLSET_ROOTPATH}/usr/lib/dyninst" -elif [ "${POLICY}" == "musllinux_1_1" ]; then - BASEIMAGE="${MULTIARCH_PREFIX}alpine:3.12" - DEVTOOLSET_ROOTPATH= - PREPEND_PATH= - LD_LIBRARY_PATH_ARG= elif [ "${POLICY}" == "musllinux_1_2" ]; then BASEIMAGE="${MULTIARCH_PREFIX}alpine:3.20" DEVTOOLSET_ROOTPATH= diff --git a/docker/build_scripts/install-runtime-packages.sh b/docker/build_scripts/install-runtime-packages.sh index 1d63e64ca..0c8ecf772 100755 --- a/docker/build_scripts/install-runtime-packages.sh +++ b/docker/build_scripts/install-runtime-packages.sh @@ -138,15 +138,6 @@ if [ "${BASE_POLICY}" == "manylinux" ]; then echo "/usr/local/lib" > /etc/ld.so.conf.d/00-manylinux.conf ldconfig else - if [ ! -f /etc/pam.d/chsh ]; then - cat < /etc/pam.d/chsh -#%PAM-1.0 -auth sufficient pam_rootok.so -auth sufficient pam_shells.so -account required pam_permit.so -password include base-password -EOF - fi # set the default shell to bash chsh -s /bin/bash root useradd -D -s /bin/bash diff --git a/tests/run_tests.sh b/tests/run_tests.sh index 88c5ce1df..e6d978cd3 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -131,7 +131,7 @@ pipx install --pip-args='--no-python-version-warning --no-input' nox nox --version tar --version | grep "GNU tar" # we stopped installing sqlite3 after manylinux_2_28 / musllinux_1_2 -if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then +if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then sqlite3 --version fi @@ -144,7 +144,7 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then eval "$(ssh-agent -k)" fi -if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then +if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then # sqlite compilation tests, intended to ensure appropriate headers, pkg_config, etc. # are available for downstream compile against installed tools source_dir="${MY_DIR}/ctest" From 024803aa0a97b48a83de9f63a6cbabeddad27182 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sat, 21 Sep 2024 14:27:15 +0200 Subject: [PATCH 2/3] Don't pre-install PyPy 3.9 --- docker/Dockerfile | 1 - tests/run_tests.sh | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 426fb2273..9488badec 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -159,7 +159,6 @@ RUN --mount=type=bind,target=/build_cpython36,from=build_cpython36 \ mkdir -p /opt/_internal && \ cp -rf /build_cpython*/opt/_internal/* /opt/_internal/ && \ manylinux-entrypoint /opt/_internal/build_scripts/finalize.sh \ - pp39-pypy39_pp73 \ pp310-pypy310_pp73 ENV SSL_CERT_FILE=/opt/_internal/certs.pem diff --git a/tests/run_tests.sh b/tests/run_tests.sh index e6d978cd3..f1fd6f9da 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -11,10 +11,10 @@ if [ "${AUDITWHEEL_POLICY:0:10}" == "musllinux_" ]; then EXPECTED_PYTHON_COUNT_ALL=9 else if [ "${AUDITWHEEL_ARCH}" == "x86_64" ] || [ "${AUDITWHEEL_ARCH}" == "aarch64" ]; then - EXPECTED_PYTHON_COUNT=11 + EXPECTED_PYTHON_COUNT=10 EXPECTED_PYTHON_COUNT_ALL=14 elif [ "${AUDITWHEEL_ARCH}" == "i686" ]; then - EXPECTED_PYTHON_COUNT=11 + EXPECTED_PYTHON_COUNT=10 EXPECTED_PYTHON_COUNT_ALL=13 else EXPECTED_PYTHON_COUNT=9 From 121c3e31a71872de4ca507cad24dadb697c9fcda Mon Sep 17 00:00:00 2001 From: mayeut Date: Sat, 26 Oct 2024 11:05:42 +0200 Subject: [PATCH 3/3] Update swig --- docker/build_scripts/finalize.sh | 1 - docker/build_scripts/requirements-tools/swig | 33 ++++++++++---------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/docker/build_scripts/finalize.sh b/docker/build_scripts/finalize.sh index de5000e9a..915f3a5a4 100755 --- a/docker/build_scripts/finalize.sh +++ b/docker/build_scripts/finalize.sh @@ -83,7 +83,6 @@ pipx upgrade-shared --pip-args="--no-index --find-links=/tmp/pinned-wheels" for TOOL_PATH in $(find ${MY_DIR}/requirements-tools -type f); do TOOL=$(basename ${TOOL_PATH}) case ${AUDITWHEEL_PLAT}-${TOOL} in - musllinux*_armv7l-swig) apk add --no-cache ${TOOL};; musllinux*_s390x-uv) continue;; # uv doesn't provide musl s390x wheels due to Rust issues *) pipx install --pip-args="--require-hashes -r ${TOOL_PATH} --only-binary" ${TOOL};; esac diff --git a/docker/build_scripts/requirements-tools/swig b/docker/build_scripts/requirements-tools/swig index bc438e98e..3fff07264 100644 --- a/docker/build_scripts/requirements-tools/swig +++ b/docker/build_scripts/requirements-tools/swig @@ -1,20 +1,19 @@ # This file was autogenerated by uv via the following command: # nox -s update_python_dependencies -swig==4.2.1 \ - --hash=sha256:0cd1812ef95a806eec82ee74b601aa0afd616beffb4227afe090bdc12f690286 \ - --hash=sha256:23d2f90145b32e74f7386b5a99168ecd3000fad232530866c2b390325a39da19 \ - --hash=sha256:2482156f6fba8a8a720246a95d203530834e3d8da981f904ef71c1a7e9d68efe \ - --hash=sha256:30bfb7d8f4bc6ae843c9f36825abfe1fbdadf0982cbb119af64da3f750c01620 \ - --hash=sha256:3b19337ab24aa5483bea5a36282e454c18ed03af1ada0efd92d02c1bea96dbd1 \ - --hash=sha256:3b7389a1c86d39637b7364f11a1dd8cfb52b1ebba40a2356d2ded74498f4cff7 \ - --hash=sha256:41cbe797f6ba49fc600c629928e1afd2632be23bc7d1603543360234e1773dae \ - --hash=sha256:4f8931d0f33a91a611f084a26ecf1364845b5ff8b417db2b99cc8b8a4d8215e3 \ - --hash=sha256:5c4d8e3c928d5efba698b4610a9292b51a0597958ced79506f76f102ac621184 \ - --hash=sha256:5c8826b415d6feaca2bbf1f4bd0ff900d6dbb9ddd3b1850f95129b8aac1eb44b \ - --hash=sha256:6f30b409d20b1e96f5432bf94e0106cf68596884b6da70323d5a21b8f43e3f3b \ - --hash=sha256:7ce1fd4518ca0a63b809177ed8e0ec11ab485f8ebb66752605c978b964e75b5b \ - --hash=sha256:9f3482aadf1d6ce3122a84fcd854c32dd5031dd65dba5d5dd9f73deb7333c505 \ - --hash=sha256:bfe68d1c8294632bc6e9a1be7abfb3daafce0794d8dfa94fbccd6326073124b8 \ - --hash=sha256:c7b2db2ccff556dbfc88ef98773b3524b18bc4077ea1d7a5d7339c3a1f3f70dc \ - --hash=sha256:cdbb1748132ce99defaf4ebf1736c457fb13788183264af28f17d0d477e109ba +swig==4.2.1.post0 \ + --hash=sha256:45c5865529061d48dc83a88d953ddc16515bb9083d5886e69547ef9a2c0df657 \ + --hash=sha256:63f5264b8381e30b61b8a4b4e0687826d2ec3bcfacbdec300eabf7d807eace44 \ + --hash=sha256:6ebaf656ac7345dbf231d7019e9223619eeaf37885e8617afb01f6ceb746a125 \ + --hash=sha256:82a0e0f85afef3db2f36ce02dbbb38e3797edf47091ca2941ee6325eb9fb693d \ + --hash=sha256:92c11267dd66ba5a3f3eab5d4a33f5b4766157b37898479ee2cfb352d9b71689 \ + --hash=sha256:a124b2ea71e4986bde1b728497693ce709d9c949a3e9df8646a96e798ad72e54 \ + --hash=sha256:a234bbd400653faf4a742a6cbc40c993cb73bd493d7bd7783bbd428b32661a72 \ + --hash=sha256:a5ae629fcbb14ac6e00312fe19468e41fbbd7fa08398327db4543be2f05c2773 \ + --hash=sha256:b1984af33541a967feb6c05409cfaf6a76fbd0c785cc68e2138696cded2fc156 \ + --hash=sha256:b86510c1de65c7029d1797c22ace20da0ec79c04908b8f7f38b60858fb5b48ac \ + --hash=sha256:bf1d1887355b235e7e817b2c5f7195e5152c2355daa326a2b6e6e5e54bf47859 \ + --hash=sha256:ceb0f0e0d78fb5993d2765cc96b80fd66209ea43264836d5af5ecc82cdf8f992 \ + --hash=sha256:d4cace0447a70154fd0217b1fe85c835501ddc3f45fd60571a1c45fdca282891 \ + --hash=sha256:ebb0bda0be53e58ccd3eaef1ea6bfb00fc645f590d4bc05157310414ea4f4824 \ + --hash=sha256:ebcc382cf1e276c3e88357689de51a7b088ac72a7b0db6c71edabab9aa91e0d8 # via -r .nox/update_python_dependencies/tmp/swig.in