diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d394373b..ba798be69 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,7 +53,7 @@ jobs: reduced = [ ("x86_64", "ubuntu-24.04", ("manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2")), ("aarch64", "ubuntu-24.04-arm", ("manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2")), - ("i686", "ubuntu-24.04", ("manylinux2014", "musllinux_1_2")), + ("i686", "ubuntu-24.04", ("manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2")), ("armv7l", "ubuntu-24.04-arm", ("manylinux_2_31", "musllinux_1_2")), ("s390x", "ubuntu-24.04", ("musllinux_1_2",)), ] diff --git a/README.rst b/README.rst index 7d295b14e..a9ff398b0 100644 --- a/README.rst +++ b/README.rst @@ -34,9 +34,9 @@ The manylinux project supports: - ``manylinux2014`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le`` and ``s390x``. -- ``manylinux_2_28`` images for ``x86_64``, ``aarch64``, ``ppc64le`` and ``s390x``. +- ``manylinux_2_28`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le`` and ``s390x``. -- ``manylinux_2_34`` images for ``x86_64``, ``aarch64``, ``ppc64le`` and ``s390x``. +- ``manylinux_2_34`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le`` and ``s390x``. - ``musllinux_1_2`` images for ``x86_64``, ``i686``, ``aarch64``, ``ppc64le``, ``s390x`` and ``armv7l``. @@ -107,6 +107,7 @@ See https://github.com/pypa/manylinux/issues/1725 Toolchain: GCC 14 - x86_64 image: ``quay.io/pypa/manylinux_2_34_x86_64`` +- i686 image: ``quay.io/pypa/manylinux_2_34_i686`` - aarch64 image: ``quay.io/pypa/manylinux_2_34_aarch64`` - ppc64le image: ``quay.io/pypa/manylinux_2_34_ppc64le`` - s390x image: ``quay.io/pypa/manylinux_2_34_s390x`` @@ -157,6 +158,7 @@ manylinux_2_28 (AlmaLinux 8 based) Toolchain: GCC 14 - x86_64 image: ``quay.io/pypa/manylinux_2_28_x86_64`` +- i686 image: ``quay.io/pypa/manylinux_2_28_i686`` - aarch64 image: ``quay.io/pypa/manylinux_2_28_aarch64`` - ppc64le image: ``quay.io/pypa/manylinux_2_28_ppc64le`` - s390x image: ``quay.io/pypa/manylinux_2_28_s390x`` diff --git a/build.sh b/build.sh index 1d57a3079..adb5a5d8d 100755 --- a/build.sh +++ b/build.sh @@ -34,7 +34,7 @@ if [ "${POLICY}" == "manylinux2014" ]; then LD_LIBRARY_PATH_ARG="${DEVTOOLSET_ROOTPATH}/usr/lib64:${DEVTOOLSET_ROOTPATH}/usr/lib:${DEVTOOLSET_ROOTPATH}/usr/lib64/dyninst:${DEVTOOLSET_ROOTPATH}/usr/lib/dyninst:/usr/local/lib64" fi elif [ "${POLICY}" == "manylinux_2_28" ]; then - BASEIMAGE="almalinux:8" + BASEIMAGE="quay.io/almalinuxorg/almalinux:8" DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-14/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" @@ -44,7 +44,7 @@ elif [ "${POLICY}" == "manylinux_2_31" ]; then PREPEND_PATH= LD_LIBRARY_PATH_ARG= elif [ "${POLICY}" == "manylinux_2_34" ]; then - BASEIMAGE="almalinux:9" + BASEIMAGE="quay.io/almalinuxorg/almalinux:9" DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-14/root" PREPEND_PATH="/usr/local/bin:${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" diff --git a/deploy_multiarch.sh b/deploy_multiarch.sh index 707d852b1..cb8d3fc43 100755 --- a/deploy_multiarch.sh +++ b/deploy_multiarch.sh @@ -32,9 +32,8 @@ for IMAGE in "${IMAGES[@]}"; do case ${IMAGE} in manylinux_2_31) ARCHS=("armv7l");; - manylinux2014) ARCHS=("x86_64" "i686" "aarch64" "ppc64le" "s390x");; musllinux_1_2) ARCHS=("x86_64" "i686" "aarch64" "armv7l" "ppc64le" "s390x");; - *) ARCHS=("x86_64" "aarch64" "ppc64le" "s390x");; + *) ARCHS=("x86_64" "i686" "aarch64" "ppc64le" "s390x");; esac LATEST_MANIFEST= diff --git a/docker/build_scripts/install-runtime-packages.sh b/docker/build_scripts/install-runtime-packages.sh index e8f2d365c..7aca68ba9 100755 --- a/docker/build_scripts/install-runtime-packages.sh +++ b/docker/build_scripts/install-runtime-packages.sh @@ -119,7 +119,11 @@ elif [ "${OS_ID_LIKE}" == "rhel" ]; then BASE_TOOLS+=(glibc-locale-source glibc-langpack-en hardlink hostname libcurl libnsl libxcrypt which) echo "tsflags=nodocs" >> /etc/dnf/dnf.conf dnf -y upgrade - dnf -y install dnf-plugins-core epel-release + EPEL=epel-release + if [ "${AUDITWHEEL_ARCH}" == "i686" ]; then + EPEL= + fi + dnf -y install dnf-plugins-core ${EPEL} if [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then dnf config-manager --set-enabled powertools else @@ -160,3 +164,7 @@ else chsh -s /bin/bash root useradd -D -s /bin/bash fi + +if [ "${OS_ID_LIKE}-${AUDITWHEEL_ARCH}" == "rhel-i686" ] && [ -f /usr/bin/i686-redhat-linux-gnu-pkg-config ] && [ ! -f /usr/bin/i386-redhat-linux-gnu-pkg-config ]; then + ln -s i686-redhat-linux-gnu-pkg-config /usr/bin/i386-redhat-linux-gnu-pkg-config +fi