Skip to content

Commit ada2c8d

Browse files
thewtexjcfr
andcommitted
Add manylinux_2_28-x64 and retire manylinux_2_24-x64
Replaces manylinux_2_24 (which has been deprecated). Based on AlmaLinux (RedHat-based) and GCC 11. Co-authored-by: Jean-Christophe Fillion-Robin <[email protected]>
1 parent dd84990 commit ada2c8d

File tree

7 files changed

+58
-50
lines changed

7 files changed

+58
-50
lines changed

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -771,9 +771,9 @@ jobs:
771771
cpython: "no",
772772
cpython_arg: "",
773773
}
774-
# manylinux_2_24 images
774+
# manylinux_2_28 images
775775
- {
776-
image: "manylinux_2_24-x64",
776+
image: "manylinux_2_28-x64",
777777
stockfish: "yes",
778778
stockfish_arg: "ARCH=x86-64-modern",
779779
ninja: "yes",

Makefile

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \
2727
# Generated Dockerfiles.
2828
GEN_IMAGES = android-arm android-arm64 \
2929
linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
30-
manylinux_2_24-x64 \
30+
manylinux_2_28-x64 \
3131
manylinux2014-x64 manylinux2014-x86 \
3232
manylinux2014-aarch64 linux-arm64-lts \
3333
web-wasm web-wasi linux-mips linux-mips-lts windows-arm64 windows-armv7 \
@@ -42,11 +42,11 @@ GEN_IMAGES = android-arm android-arm64 \
4242
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
4343

4444
# These images are expected to have explicit rules for *both* build and testing
45-
NON_STANDARD_IMAGES = manylinux_2_24-x64 manylinux2014-x64 manylinux2014-x86 \
45+
NON_STANDARD_IMAGES = manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \
4646
manylinux2014-aarch64 web-wasm
4747

4848
# Docker composite files
49-
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_24 common.buildroot \
49+
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \
5050
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
5151
common.label-and-env
5252
DOCKER_COMPOSITE_FOLDER_PATH = common/
@@ -99,7 +99,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
9999
sed \
100100
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
101101
-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \
102-
-e '/common.manylinux_2_24/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_24' \
102+
-e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \
103103
-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \
104104
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
105105
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
@@ -158,23 +158,23 @@ manylinux2014-aarch64.test: manylinux2014-aarch64
158158
$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py
159159

160160
#
161-
# manylinux_2_24-x64
161+
# manylinux_2_28-x64
162162
#
163-
manylinux_2_24-x64: manylinux_2_24-x64/Dockerfile
163+
manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile
164164
mkdir -p $@/imagefiles && cp -r imagefiles $@/
165-
$(DOCKER) build -t $(ORG)/manylinux_2_24-x64:latest \
166-
-t $(ORG)/manylinux_2_24-x64:$(TAG) \
167-
--build-arg IMAGE=$(ORG)/manylinux_2_24-x64 \
165+
$(DOCKER) build -t $(ORG)/manylinux_2_28-x64:latest \
166+
-t $(ORG)/manylinux_2_28-x64:$(TAG) \
167+
--build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \
168168
--build-arg VCS_REF=`git rev-parse --short HEAD` \
169169
--build-arg VCS_URL=`git config --get remote.origin.url` \
170170
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
171-
-f manylinux_2_24-x64/Dockerfile .
171+
-f manylinux_2_28-x64/Dockerfile .
172172
rm -rf $@/imagefiles
173173

174-
manylinux_2_24-x64.test: manylinux_2_24-x64
175-
$(DOCKER) run $(RM) $(ORG)/manylinux_2_24-x64 > $(BIN)/dockcross-manylinux_2_24-x64 \
176-
&& chmod +x $(BIN)/dockcross-manylinux_2_24-x64
177-
$(BIN)/dockcross-manylinux_2_24-x64 /opt/python/cp310-cp310/bin/python test/run.py
174+
manylinux_2_28-x64.test: manylinux_2_28-x64
175+
$(DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64 > $(BIN)/dockcross-manylinux_2_28-x64 \
176+
&& chmod +x $(BIN)/dockcross-manylinux_2_28-x64
177+
$(BIN)/dockcross-manylinux_2_28-x64 /opt/python/cp310-cp310/bin/python test/run.py
178178

179179
#
180180
# manylinux2014-x64
@@ -214,6 +214,9 @@ manylinux2014-x86.test: manylinux2014-x86
214214
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
215215
$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py
216216

217+
#
218+
# base
219+
#
217220
base: Dockerfile imagefiles/
218221
$(DOCKER) build -t $(ORG)/base:latest \
219222
-t $(ORG)/base:$(TAG) \

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ The dockcross script will execute the given command-line inside the container, a
108108
| dockcross/linux-riscv64 | riscv64 | GCC | Linux |
109109
| dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux |
110110
| dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux |
111-
| dockcross/manylinux_2_24-x64 | x86_64 | GCC | Linux |
111+
| dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux |
112112
| dockcross/manylinux2014-x86 | x86 | GCC | Linux |
113113
| dockcross/manylinux2014-x64 | x86_64 | GCC | Linux |
114114
| dockcross/linux-x86 | x86 | GCC | Linux |
@@ -138,10 +138,12 @@ The list of docker images that are **no longer maintained**.
138138
| dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05](54f73cbb6) |
139139
| dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) |
140140
| dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05](54f73cbb6) |
141+
| dockcross/manylinux_2_28-x64 | x86_64 | GCC | manylinux | [2022-06-16](manylinux_2_24-eol) |
141142

142143
[1e0e89814]: https://github.com/dockcross/dockcross/commit/1e0e89814
143144
[a30e76d5c]: https://github.com/dockcross/dockcross/commit/a30e76d5c
144145
[54f73cbb6]: https://github.com/dockcross/dockcross/commit/54f73cbb6
146+
[manylinux_2_24-eol]: https://github.com/pypa/manylinux/issues/1332#issuecomment-1157666846
145147

146148
## Cross compilers
147149

@@ -348,11 +350,11 @@ Linux i686 cross compiler.
348350

349351
Linux tcc compiler for C compiler, and GCC for C++ compiler, for linux x86_64/amd64 arch.
350352

351-
### dockcross/manylinux_2_24-x64
353+
### dockcross/manylinux_2_28-x64
352354

353-
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux_2_24-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux2014-x64)
355+
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux_2_28-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux_2_28-x64)
354356

355-
Docker [manylinux_2_24](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_24** to \"TRUE\" in the toolchain.
357+
Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain.
356358

357359
### dockcross/manylinux2014-x64
358360

common/common.manylinux_2_24 renamed to common/common.manylinux_2_28

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
1+
RUN \
2+
set -x && \
3+
yum -y install \
4+
gpg \
5+
python3-devel \
6+
zlib-devel \
7+
gettext \
8+
openssh-clients \
9+
wget \
10+
zip \
11+
&& \
12+
yum clean all
13+
114
# Image build scripts
215
COPY \
316
manylinux-common/install-python-packages.sh \
417
/buildscripts/
518

619
RUN \
720
set -x && \
8-
apt-get update -qq && \
9-
apt-get -y install \
10-
dirmngr \
11-
gnupg \
12-
python3-dev \
13-
zlib1g-dev \
14-
gettext \
15-
openssh-client \
16-
pax \
17-
wget \
18-
zip \
19-
&& \
20-
apt-get clean -qq && \
21-
rm -rf /var/lib/apt/lists/* && \
21+
# Remove sudo provided by devtoolset since it doesn't work with
22+
# our sudo wrapper calling gosu.
23+
rm -f /opt/rh/gcc-toolset-11/root/usr/bin/sudo && \
2224
/buildscripts/install-python-packages.sh && \
2325
rm -rf /buildscripts
2426

manylinux_2_24-x64/Toolchain.cmake

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# Recent versions address yum functionality
2-
FROM quay.io/pypa/manylinux_2_24_x86_64:latest
2+
FROM quay.io/pypa/manylinux_2_28_x86_64:latest
33

44
LABEL maintainer="Matt McCormick [email protected]"
55

6-
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux_2_24-x64
6+
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux_2_28-x64
77

8-
#include "common.manylinux_2_24"
8+
#include "common.manylinux_2_28"
99

1010
#include "common.dockcross"
1111

1212
#include "common.docker"
1313

1414
ENV CROSS_TRIPLE x86_64-linux-gnu
15-
ENV CROSS_ROOT /usr/bin
15+
ENV CROSS_ROOT /opt/rh/gcc-toolset-11/root/bin/
1616
ENV AS=${CROSS_ROOT}/as \
1717
AR=${CROSS_ROOT}/ar \
1818
CC=${CROSS_ROOT}/gcc \
@@ -23,7 +23,7 @@ ENV AS=${CROSS_ROOT}/as \
2323

2424
COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop
2525

26-
COPY manylinux_2_24-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/
26+
COPY manylinux_2_28-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/
2727
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake
2828

2929
#include "common.label-and-env"

manylinux_2_28-x64/Toolchain.cmake

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set(CMAKE_SYSTEM_NAME Linux)
2+
set(CMAKE_CROSSCOMPILING FALSE)
3+
set(CMAKE_SYSTEM_VERSION 1)
4+
set(CMAKE_SYSTEM_PROCESSOR x86_64)
5+
6+
set(MANYLINUX_2_28 TRUE)
7+
8+
set(CROSS_ROOT /opt/rh/gcc-toolset-11/root/bin/)
9+
set(CMAKE_C_COMPILER ${CROSS_ROOT}/gcc)
10+
set(CMAKE_CXX_COMPILER ${CROSS_ROOT}/g++)
11+
set(CMAKE_ASM_COMPILER ${CROSS_ROOT}/as)
12+
set(CMAKE_Fortran_COMPILER ${CROSS_ROOT}/gfortran)

0 commit comments

Comments
 (0)