Skip to content

Commit 7fd22ee

Browse files
committed
Add manylinux_2_24 images
1 parent 80f9c6c commit 7fd22ee

File tree

6 files changed

+60
-10
lines changed

6 files changed

+60
-10
lines changed

.github/workflows/build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ jobs:
3232
platform: "x86_64"
3333
- policy: "manylinux2014"
3434
platform: "ppc64le"
35+
- policy: "manylinux_2_24"
36+
platform: "i686"
37+
- policy: "manylinux_2_24"
38+
platform: "x86_64"
39+
- policy: "manylinux_2_24"
40+
platform: "ppc64le"
3541

3642
env:
3743
POLICY: ${{ matrix.policy }}

.travis.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,18 @@ jobs:
2626
virt: vm
2727
group: edge
2828
env: POLICY="manylinux2014" PLATFORM="aarch64"
29+
- arch: s390x
30+
env: POLICY="manylinux2014" PLATFORM="s390x"
2931
#- arch: ppc64le
3032
# env: POLICY="manylinux2014" PLATFORM="ppc64le"
33+
- arch: arm64-graviton2
34+
virt: vm
35+
group: edge
36+
env: POLICY="manylinux_2_24" PLATFORM="aarch64"
3137
- arch: s390x
32-
env: POLICY="manylinux2014" PLATFORM="s390x"
38+
env: POLICY="manylinux_2_24" PLATFORM="s390x"
39+
#- arch: ppc64le
40+
# env: POLICY="manylinux2014" PLATFORM="ppc64le"
3341

3442
before_install:
3543
- if [ -d "${HOME}/buildx-cache/.buildx-cache-${POLICY}_${PLATFORM}" ]; then cp -rlf ${HOME}/buildx-cache/.buildx-cache-${POLICY}_${PLATFORM} ./; fi

build.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ elif [ "${POLICY}" == "manylinux2014" ]; then
5353
else
5454
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:/usr/local/lib"
5555
fi
56+
elif [ "${POLICY}" == "manylinux_2_24" ]; then
57+
BASEIMAGE="${MULTIARCH_PREFIX}debian:9"
58+
DEVTOOLSET_ROOTPATH=
59+
PREPEND_PATH=
60+
LD_LIBRARY_PATH_ARG=
5661
else
5762
echo "Unsupported policy: '${POLICY}'"
5863
exit 1

docker/Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# default to latest supported policy, x86_64
2-
ARG BASEIMAGE=amd64/centos:7
3-
ARG POLICY=manylinux2014
2+
ARG BASEIMAGE=amd64/debian:9
3+
ARG POLICY=manylinux_2_24
44
ARG PLATFORM=x86_64
5-
ARG DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-9/root
6-
ARG 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:/usr/local/lib
7-
ARG PREPEND_PATH=${DEVTOOLSET_ROOTPATH}/usr/bin:
5+
ARG DEVTOOLSET_ROOTPATH=
6+
ARG LD_LIBRARY_PATH_ARG=
7+
ARG PREPEND_PATH=
88

99
FROM $BASEIMAGE AS runtime_base
1010
ARG POLICY

docker/build_scripts/install-build-packages.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,25 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" ==
1616
else
1717
COMPILE_DEPS="${COMPILE_DEPS} libdb-devel"
1818
fi
19+
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
20+
PACKAGE_MANAGER=apt
21+
COMPILE_DEPS="libz-dev libbz2-dev libexpat1-dev libncurses5-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev liblzma-dev openssl libssl-dev libkeyutils-dev libkrb5-dev comerr-dev libidn2-0-dev libcurl4-openssl-dev uuid-dev libffi-dev linux-kernel-headers"
1922
else
2023
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
2124
exit 1
2225
fi
2326

2427

25-
if [ ${PACKAGE_MANAGER} == yum ]; then
28+
if [ "${PACKAGE_MANAGER}" == "yum" ]; then
2629
yum -y install ${COMPILE_DEPS}
2730
yum clean all
2831
rm -rf /var/cache/yum
32+
elif [ "${PACKAGE_MANAGER}" == "apt" ]; then
33+
export DEBIAN_FRONTEND=noninteractive
34+
apt-get update -qq
35+
apt-get install -qq -y --no-install-recommends ${COMPILE_DEPS}
36+
apt-get clean -qq
37+
rm -rf /var/lib/apt/lists/*
2938
else
3039
echo "Not implemented"
3140
exit 1

docker/build_scripts/install-runtime-packages.sh

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ MY_DIR=$(dirname "${BASH_SOURCE[0]}")
2626
# MANYLINUX_DEPS: Install development packages (except for libgcc which is provided by gcc install)
2727
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
2828
MANYLINUX_DEPS="glibc-devel libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel"
29+
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
30+
MANYLINUX_DEPS="libc6-dev libstdc++-6-dev libglib2.0-dev libx11-dev libxext-dev libxrender-dev libgl1-mesa-dev libice-dev libsm-dev"
2931
else
3032
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
3133
exit 1
@@ -39,6 +41,8 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" ==
3941
else
4042
RUNTIME_DEPS="${RUNTIME_DEPS} libdb"
4143
fi
44+
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
45+
RUNTIME_DEPS="zlib1g libbz2-1.0 libexpat1 libncurses5 libreadline7 tk libgdbm3 libdb5.3 libpcap0.8 liblzma5 libssl1.1 libkeyutils1 libkrb5-3 libcomerr2 libidn2-0 libcurl3 uuid libffi6"
4246
else
4347
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
4448
exit 1
@@ -91,14 +95,22 @@ elif [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
9195
# Install mayeut/devtoolset-9 repo to get devtoolset-9
9296
curl -fsSLo /etc/yum.repos.d/mayeut-devtoolset-9.repo https://copr.fedorainfracloud.org/coprs/mayeut/devtoolset-9/repo/custom-1/mayeut-devtoolset-9-custom-1.repo
9397
fi
98+
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
99+
PACKAGE_MANAGER=apt
100+
export DEBIAN_FRONTEND=noninteractive
101+
sed -i 's/none/en_US/g' /etc/apt/apt.conf.d/docker-no-languages
102+
apt-get update -qq
103+
apt-get upgrade -qq -y
104+
apt-get install -qq -y --no-install-recommends ca-certificates gpg curl locales
105+
TOOLCHAIN_DEPS="binutils gcc g++ gfortran"
94106
else
95107
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
96108
exit 1
97109
fi
98110

99111
if ! which localedef &> /dev/null; then
100112
# somebody messed up glibc-common package to squeeze image size, reinstall the package
101-
if [ ${PACKAGE_MANAGER} == yum ]; then
113+
if [ "${PACKAGE_MANAGER}" == "yum" ]; then
102114
yum -y reinstall glibc-common
103115
else
104116
echo "Not implemented"
@@ -109,10 +121,14 @@ fi
109121
# upgrading glibc-common can end with removal on en_US.UTF-8 locale
110122
localedef -i en_US -f UTF-8 en_US.UTF-8
111123

112-
if [ ${PACKAGE_MANAGER} == yum ]; then
124+
if [ "${PACKAGE_MANAGER}" == "yum" ]; then
113125
yum -y install ${BASETOOLS} ${TOOLCHAIN_DEPS} ${MANYLINUX_DEPS} ${RUNTIME_DEPS}
114126
yum clean all
115127
rm -rf /var/cache/yum
128+
elif [ "${PACKAGE_MANAGER}" == "apt" ]; then
129+
apt-get install -qq -y --no-install-recommends ${BASETOOLS} ${TOOLCHAIN_DEPS} ${MANYLINUX_DEPS} ${RUNTIME_DEPS}
130+
apt-get clean -qq
131+
rm -rf /var/lib/apt/lists/*
116132
else
117133
echo "Not implemented"
118134
exit 1
@@ -128,7 +144,9 @@ if [ "${DEVTOOLSET_ROOTPATH:-}" != "" ]; then
128144
find $DEVTOOLSET_ROOTPATH/usr/share/locale -mindepth 1 -maxdepth 1 -not \( -name 'en*' -or -name 'locale.alias' \) | xargs rm -rf
129145
fi
130146

131-
rm -rf /usr/share/backgrounds
147+
if [ -d /usr/share/backgrounds ]; then
148+
rm -rf /usr/share/backgrounds
149+
fi
132150

133151
# if we updated glibc, we need to strip locales again...
134152
if localedef --list-archive | grep -sq -v -i ^en_US.utf8; then
@@ -137,6 +155,10 @@ fi
137155
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
138156
mv -f /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
139157
build-locale-archive
158+
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
159+
rm /usr/lib/locale/locale-archive
160+
localedef -i en_US -f UTF-8 en_US.UTF-8
161+
update-locale LANG=en_US.UTF-8
140162
fi
141163

142164
find /usr/share/locale -mindepth 1 -maxdepth 1 -not \( -name 'en*' -or -name 'locale.alias' \) | xargs rm -rf

0 commit comments

Comments
 (0)