Skip to content

Commit de04a8b

Browse files
authored
Merge pull request #1672 from mayeut/drop-musllinux_1_1
Drop musllinux_1_1 support / Don't pre-install PyPy 3.9
2 parents 2f07c30 + 121c3e3 commit de04a8b

File tree

9 files changed

+28
-53
lines changed

9 files changed

+28
-53
lines changed

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
strategy:
3737
fail-fast: false
3838
matrix:
39-
policy: ["manylinux2014", "musllinux_1_1", "musllinux_1_2"]
39+
policy: ["manylinux2014", "musllinux_1_2"]
4040
platform: ["i686", "x86_64"]
4141
include:
4242
- policy: "manylinux_2_28"

.travis.yml

-8
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,6 @@ jobs:
4545
env: POLICY="manylinux_2_28" PLATFORM="s390x"
4646
- arch: ppc64le
4747
env: POLICY="manylinux_2_28" PLATFORM="ppc64le"
48-
- arch: arm64-graviton2
49-
virt: vm
50-
group: edge
51-
env: POLICY="musllinux_1_1" PLATFORM="aarch64"
52-
- arch: s390x
53-
env: POLICY="musllinux_1_1" PLATFORM="s390x"
54-
- arch: ppc64le
55-
env: POLICY="musllinux_1_1" PLATFORM="ppc64le"
5648
- arch: arm64-graviton2
5749
virt: vm
5850
group: edge

README.rst

+7-7
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@ The manylinux project supports:
3737

3838
- ``manylinux_2_28`` images for ``x86_64``, ``aarch64``, ``ppc64le`` and ``s390x``.
3939

40-
- ``musllinux_1_1`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le`` and ``s390x``.
41-
42-
- ``musllinux_1_2`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le`` and ``s390x``.
40+
- ``musllinux_1_2`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le``, ``s390x`` and ``armv7l``.
4341

4442

4543
Wheel packages compliant with those tags can be uploaded to
@@ -187,8 +185,10 @@ Toolchain: GCC 13
187185
- armv7l image: ``quay.io/pypa/musllinux_1_2_armv7l``
188186

189187

190-
musllinux_1_1 (Alpine Linux 3.12 based)
191-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
188+
musllinux_1_1 (Alpine Linux 3.12 based - EOL)
189+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
190+
191+
Support for ``musllinux_1_1`` has `ended on November 1st, 2024 <https://github.com/pypa/manylinux/issues/1629>`_.
192192

193193
Toolchain: GCC 9
194194

@@ -199,7 +199,7 @@ Toolchain: GCC 9
199199
- s390x image: ``quay.io/pypa/musllinux_1_1_s390x``
200200

201201

202-
All images are rebuilt using GitHub Actions / Travis-CI on every commit to this
202+
All supported images are rebuilt using GitHub Actions / Travis-CI on every commit to this
203203
repository; see the
204204
`docker/ <https://github.com/pypa/manylinux/tree/main/docker>`_
205205
directory for source code.
@@ -208,7 +208,7 @@ directory for source code.
208208
Image content
209209
~~~~~~~~~~~~~
210210

211-
All images currently contain:
211+
All supported images currently contain:
212212

213213
- 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
214214
``/opt/python/<python tag>-<abi tag>``. The directories are named

build.sh

-5
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,6 @@ elif [ "${POLICY}" == "manylinux_2_28" ]; then
5454
DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-12/root"
5555
PREPEND_PATH="${DEVTOOLSET_ROOTPATH}/usr/bin:"
5656
LD_LIBRARY_PATH_ARG="${DEVTOOLSET_ROOTPATH}/usr/lib64:${DEVTOOLSET_ROOTPATH}/usr/lib:${DEVTOOLSET_ROOTPATH}/usr/lib64/dyninst:${DEVTOOLSET_ROOTPATH}/usr/lib/dyninst"
57-
elif [ "${POLICY}" == "musllinux_1_1" ]; then
58-
BASEIMAGE="${MULTIARCH_PREFIX}alpine:3.12"
59-
DEVTOOLSET_ROOTPATH=
60-
PREPEND_PATH=
61-
LD_LIBRARY_PATH_ARG=
6257
elif [ "${POLICY}" == "musllinux_1_2" ]; then
6358
BASEIMAGE="${MULTIARCH_PREFIX}alpine:3.20"
6459
DEVTOOLSET_ROOTPATH=

docker/Dockerfile

-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ RUN --mount=type=bind,target=/build_cpython36,from=build_cpython36 \
159159
mkdir -p /opt/_internal && \
160160
cp -rf /build_cpython*/opt/_internal/* /opt/_internal/ && \
161161
manylinux-entrypoint /opt/_internal/build_scripts/finalize.sh \
162-
pp39-pypy39_pp73 \
163162
pp310-pypy310_pp73
164163

165164
ENV SSL_CERT_FILE=/opt/_internal/certs.pem

docker/build_scripts/finalize.sh

-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ pipx upgrade-shared --pip-args="--no-index --find-links=/tmp/pinned-wheels"
8383
for TOOL_PATH in $(find ${MY_DIR}/requirements-tools -type f); do
8484
TOOL=$(basename ${TOOL_PATH})
8585
case ${AUDITWHEEL_PLAT}-${TOOL} in
86-
musllinux*_armv7l-swig) apk add --no-cache ${TOOL};;
8786
musllinux*_s390x-uv) continue;; # uv doesn't provide musl s390x wheels due to Rust issues
8887
*) pipx install --pip-args="--require-hashes -r ${TOOL_PATH} --only-binary" ${TOOL};;
8988
esac

docker/build_scripts/install-runtime-packages.sh

-9
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,6 @@ if [ "${BASE_POLICY}" == "manylinux" ]; then
138138
echo "/usr/local/lib" > /etc/ld.so.conf.d/00-manylinux.conf
139139
ldconfig
140140
else
141-
if [ ! -f /etc/pam.d/chsh ]; then
142-
cat <<EOF > /etc/pam.d/chsh
143-
#%PAM-1.0
144-
auth sufficient pam_rootok.so
145-
auth sufficient pam_shells.so
146-
account required pam_permit.so
147-
password include base-password
148-
EOF
149-
fi
150141
# set the default shell to bash
151142
chsh -s /bin/bash root
152143
useradd -D -s /bin/bash
+16-17
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
# This file was autogenerated by uv via the following command:
22
# nox -s update_python_dependencies
3-
swig==4.2.1 \
4-
--hash=sha256:0cd1812ef95a806eec82ee74b601aa0afd616beffb4227afe090bdc12f690286 \
5-
--hash=sha256:23d2f90145b32e74f7386b5a99168ecd3000fad232530866c2b390325a39da19 \
6-
--hash=sha256:2482156f6fba8a8a720246a95d203530834e3d8da981f904ef71c1a7e9d68efe \
7-
--hash=sha256:30bfb7d8f4bc6ae843c9f36825abfe1fbdadf0982cbb119af64da3f750c01620 \
8-
--hash=sha256:3b19337ab24aa5483bea5a36282e454c18ed03af1ada0efd92d02c1bea96dbd1 \
9-
--hash=sha256:3b7389a1c86d39637b7364f11a1dd8cfb52b1ebba40a2356d2ded74498f4cff7 \
10-
--hash=sha256:41cbe797f6ba49fc600c629928e1afd2632be23bc7d1603543360234e1773dae \
11-
--hash=sha256:4f8931d0f33a91a611f084a26ecf1364845b5ff8b417db2b99cc8b8a4d8215e3 \
12-
--hash=sha256:5c4d8e3c928d5efba698b4610a9292b51a0597958ced79506f76f102ac621184 \
13-
--hash=sha256:5c8826b415d6feaca2bbf1f4bd0ff900d6dbb9ddd3b1850f95129b8aac1eb44b \
14-
--hash=sha256:6f30b409d20b1e96f5432bf94e0106cf68596884b6da70323d5a21b8f43e3f3b \
15-
--hash=sha256:7ce1fd4518ca0a63b809177ed8e0ec11ab485f8ebb66752605c978b964e75b5b \
16-
--hash=sha256:9f3482aadf1d6ce3122a84fcd854c32dd5031dd65dba5d5dd9f73deb7333c505 \
17-
--hash=sha256:bfe68d1c8294632bc6e9a1be7abfb3daafce0794d8dfa94fbccd6326073124b8 \
18-
--hash=sha256:c7b2db2ccff556dbfc88ef98773b3524b18bc4077ea1d7a5d7339c3a1f3f70dc \
19-
--hash=sha256:cdbb1748132ce99defaf4ebf1736c457fb13788183264af28f17d0d477e109ba
3+
swig==4.2.1.post0 \
4+
--hash=sha256:45c5865529061d48dc83a88d953ddc16515bb9083d5886e69547ef9a2c0df657 \
5+
--hash=sha256:63f5264b8381e30b61b8a4b4e0687826d2ec3bcfacbdec300eabf7d807eace44 \
6+
--hash=sha256:6ebaf656ac7345dbf231d7019e9223619eeaf37885e8617afb01f6ceb746a125 \
7+
--hash=sha256:82a0e0f85afef3db2f36ce02dbbb38e3797edf47091ca2941ee6325eb9fb693d \
8+
--hash=sha256:92c11267dd66ba5a3f3eab5d4a33f5b4766157b37898479ee2cfb352d9b71689 \
9+
--hash=sha256:a124b2ea71e4986bde1b728497693ce709d9c949a3e9df8646a96e798ad72e54 \
10+
--hash=sha256:a234bbd400653faf4a742a6cbc40c993cb73bd493d7bd7783bbd428b32661a72 \
11+
--hash=sha256:a5ae629fcbb14ac6e00312fe19468e41fbbd7fa08398327db4543be2f05c2773 \
12+
--hash=sha256:b1984af33541a967feb6c05409cfaf6a76fbd0c785cc68e2138696cded2fc156 \
13+
--hash=sha256:b86510c1de65c7029d1797c22ace20da0ec79c04908b8f7f38b60858fb5b48ac \
14+
--hash=sha256:bf1d1887355b235e7e817b2c5f7195e5152c2355daa326a2b6e6e5e54bf47859 \
15+
--hash=sha256:ceb0f0e0d78fb5993d2765cc96b80fd66209ea43264836d5af5ecc82cdf8f992 \
16+
--hash=sha256:d4cace0447a70154fd0217b1fe85c835501ddc3f45fd60571a1c45fdca282891 \
17+
--hash=sha256:ebb0bda0be53e58ccd3eaef1ea6bfb00fc645f590d4bc05157310414ea4f4824 \
18+
--hash=sha256:ebcc382cf1e276c3e88357689de51a7b088ac72a7b0db6c71edabab9aa91e0d8
2019
# via -r .nox/update_python_dependencies/tmp/swig.in

tests/run_tests.sh

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ if [ "${AUDITWHEEL_POLICY:0:10}" == "musllinux_" ]; then
1111
EXPECTED_PYTHON_COUNT_ALL=9
1212
else
1313
if [ "${AUDITWHEEL_ARCH}" == "x86_64" ] || [ "${AUDITWHEEL_ARCH}" == "aarch64" ]; then
14-
EXPECTED_PYTHON_COUNT=11
14+
EXPECTED_PYTHON_COUNT=10
1515
EXPECTED_PYTHON_COUNT_ALL=14
1616
elif [ "${AUDITWHEEL_ARCH}" == "i686" ]; then
17-
EXPECTED_PYTHON_COUNT=11
17+
EXPECTED_PYTHON_COUNT=10
1818
EXPECTED_PYTHON_COUNT_ALL=13
1919
else
2020
EXPECTED_PYTHON_COUNT=9
@@ -131,7 +131,7 @@ pipx install --pip-args='--no-python-version-warning --no-input' nox
131131
nox --version
132132
tar --version | grep "GNU tar"
133133
# we stopped installing sqlite3 after manylinux_2_28 / musllinux_1_2
134-
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then
134+
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then
135135
sqlite3 --version
136136
fi
137137

@@ -144,7 +144,7 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
144144
eval "$(ssh-agent -k)"
145145
fi
146146

147-
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then
147+
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "musllinux_1_2" ]; then
148148
# sqlite compilation tests, intended to ensure appropriate headers, pkg_config, etc.
149149
# are available for downstream compile against installed tools
150150
source_dir="${MY_DIR}/ctest"

0 commit comments

Comments
 (0)