diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 49220e7..1ea5cb1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -771,9 +771,9 @@ jobs: cpython: "no", cpython_arg: "", } - # manylinux_2_24 images + # manylinux_2_28 images - { - image: "manylinux_2_24-x64", + image: "manylinux_2_28-x64", stockfish: "yes", stockfish_arg: "ARCH=x86-64-modern", ninja: "yes", diff --git a/Makefile b/Makefile index 63d8d04..aefd042 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,7 @@ STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \ # Generated Dockerfiles. GEN_IMAGES = android-arm android-arm64 \ linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ - manylinux_2_24-x64 \ + manylinux_2_28-x64 \ manylinux2014-x64 manylinux2014-x86 \ manylinux2014-aarch64 linux-arm64-lts \ web-wasm web-wasi linux-mips linux-mips-lts windows-arm64 windows-armv7 \ @@ -42,11 +42,11 @@ GEN_IMAGES = android-arm android-arm64 \ GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) # These images are expected to have explicit rules for *both* build and testing -NON_STANDARD_IMAGES = manylinux_2_24-x64 manylinux2014-x64 manylinux2014-x86 \ +NON_STANDARD_IMAGES = manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \ manylinux2014-aarch64 web-wasm # Docker composite files -DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_24 common.buildroot \ +DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \ common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \ common.label-and-env DOCKER_COMPOSITE_FOLDER_PATH = common/ @@ -99,7 +99,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS sed \ -e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \ -e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \ - -e '/common.manylinux_2_24/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_24' \ + -e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \ -e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \ -e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \ -e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \ @@ -158,23 +158,23 @@ manylinux2014-aarch64.test: manylinux2014-aarch64 $(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py # -# manylinux_2_24-x64 +# manylinux_2_28-x64 # -manylinux_2_24-x64: manylinux_2_24-x64/Dockerfile +manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile mkdir -p $@/imagefiles && cp -r imagefiles $@/ - $(DOCKER) build -t $(ORG)/manylinux_2_24-x64:latest \ - -t $(ORG)/manylinux_2_24-x64:$(TAG) \ - --build-arg IMAGE=$(ORG)/manylinux_2_24-x64 \ + $(DOCKER) build -t $(ORG)/manylinux_2_28-x64:latest \ + -t $(ORG)/manylinux_2_28-x64:$(TAG) \ + --build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \ --build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ - -f manylinux_2_24-x64/Dockerfile . + -f manylinux_2_28-x64/Dockerfile . rm -rf $@/imagefiles -manylinux_2_24-x64.test: manylinux_2_24-x64 - $(DOCKER) run $(RM) $(ORG)/manylinux_2_24-x64 > $(BIN)/dockcross-manylinux_2_24-x64 \ - && chmod +x $(BIN)/dockcross-manylinux_2_24-x64 - $(BIN)/dockcross-manylinux_2_24-x64 /opt/python/cp310-cp310/bin/python test/run.py +manylinux_2_28-x64.test: manylinux_2_28-x64 + $(DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64 > $(BIN)/dockcross-manylinux_2_28-x64 \ + && chmod +x $(BIN)/dockcross-manylinux_2_28-x64 + $(BIN)/dockcross-manylinux_2_28-x64 /opt/python/cp310-cp310/bin/python test/run.py # # manylinux2014-x64 @@ -214,6 +214,9 @@ manylinux2014-x86.test: manylinux2014-x86 && chmod +x $(BIN)/dockcross-manylinux2014-x86 $(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py +# +# base +# base: Dockerfile imagefiles/ $(DOCKER) build -t $(ORG)/base:latest \ -t $(ORG)/base:$(TAG) \ diff --git a/README.md b/README.md index 6a30110..e3d59ff 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,7 @@ The dockcross script will execute the given command-line inside the container, a | dockcross/linux-riscv64 | riscv64 | GCC | Linux | | dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux | | dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux | -| dockcross/manylinux_2_24-x64 | x86_64 | GCC | Linux | +| dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux | | dockcross/manylinux2014-x86 | x86 | GCC | Linux | | dockcross/manylinux2014-x64 | x86_64 | GCC | Linux | | dockcross/linux-x86 | x86 | GCC | Linux | @@ -138,10 +138,12 @@ The list of docker images that are **no longer maintained**. | dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05](54f73cbb6) | | dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) | | dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05](54f73cbb6) | +| dockcross/manylinux_2_28-x64 | x86_64 | GCC | manylinux | [2022-06-16](manylinux_2_24-eol) | [1e0e89814]: https://github.com/dockcross/dockcross/commit/1e0e89814 [a30e76d5c]: https://github.com/dockcross/dockcross/commit/a30e76d5c [54f73cbb6]: https://github.com/dockcross/dockcross/commit/54f73cbb6 +[manylinux_2_24-eol]: https://github.com/pypa/manylinux/issues/1332#issuecomment-1157666846 ## Cross compilers @@ -348,11 +350,11 @@ Linux i686 cross compiler. Linux tcc compiler for C compiler, and GCC for C++ compiler, for linux x86_64/amd64 arch. -### dockcross/manylinux_2_24-x64 +### dockcross/manylinux_2_28-x64 -![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) +![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) -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. +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. ### dockcross/manylinux2014-x64 diff --git a/common/common.manylinux_2_24 b/common/common.manylinux_2_28 similarity index 51% rename from common/common.manylinux_2_24 rename to common/common.manylinux_2_28 index ebcc631..919e0dc 100644 --- a/common/common.manylinux_2_24 +++ b/common/common.manylinux_2_28 @@ -1,3 +1,16 @@ +RUN \ + set -x && \ + yum -y install \ + gpg \ + python3-devel \ + zlib-devel \ + gettext \ + openssh-clients \ + wget \ + zip \ + && \ + yum clean all + # Image build scripts COPY \ manylinux-common/install-python-packages.sh \ @@ -5,20 +18,9 @@ COPY \ RUN \ set -x && \ - apt-get update -qq && \ - apt-get -y install \ - dirmngr \ - gnupg \ - python3-dev \ - zlib1g-dev \ - gettext \ - openssh-client \ - pax \ - wget \ - zip \ - && \ - apt-get clean -qq && \ - rm -rf /var/lib/apt/lists/* && \ + # Remove sudo provided by devtoolset since it doesn't work with + # our sudo wrapper calling gosu. + rm -f /opt/rh/gcc-toolset-11/root/usr/bin/sudo && \ /buildscripts/install-python-packages.sh && \ rm -rf /buildscripts diff --git a/manylinux_2_24-x64/Toolchain.cmake b/manylinux_2_24-x64/Toolchain.cmake deleted file mode 100644 index 6fcacea..0000000 --- a/manylinux_2_24-x64/Toolchain.cmake +++ /dev/null @@ -1,11 +0,0 @@ -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_CROSSCOMPILING FALSE) -set(CMAKE_SYSTEM_VERSION 1) -set(CMAKE_SYSTEM_PROCESSOR x86_64) - -set(MANYLINUX_2_24 TRUE) - -set(CMAKE_C_COMPILER /usr/bin/gcc) -set(CMAKE_CXX_COMPILER /usr/bin/g++) -set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) -set(CMAKE_Fortran_COMPILER /usr/bin/gfortran) diff --git a/manylinux_2_24-x64/Dockerfile.in b/manylinux_2_28-x64/Dockerfile.in similarity index 69% rename from manylinux_2_24-x64/Dockerfile.in rename to manylinux_2_28-x64/Dockerfile.in index 5c27fec..66b689f 100644 --- a/manylinux_2_24-x64/Dockerfile.in +++ b/manylinux_2_28-x64/Dockerfile.in @@ -1,18 +1,18 @@ # Recent versions address yum functionality -FROM quay.io/pypa/manylinux_2_24_x86_64:latest +FROM quay.io/pypa/manylinux_2_28_x86_64:latest LABEL maintainer="Matt McCormick matt.mccormick@kitware.com" -ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux_2_24-x64 +ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux_2_28-x64 -#include "common.manylinux_2_24" +#include "common.manylinux_2_28" #include "common.dockcross" #include "common.docker" ENV CROSS_TRIPLE x86_64-linux-gnu -ENV CROSS_ROOT /usr/bin +ENV CROSS_ROOT /opt/rh/gcc-toolset-11/root/bin/ ENV AS=${CROSS_ROOT}/as \ AR=${CROSS_ROOT}/ar \ CC=${CROSS_ROOT}/gcc \ @@ -23,7 +23,7 @@ ENV AS=${CROSS_ROOT}/as \ COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop -COPY manylinux_2_24-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/ +COPY manylinux_2_28-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/ ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake #include "common.label-and-env" diff --git a/manylinux_2_28-x64/Toolchain.cmake b/manylinux_2_28-x64/Toolchain.cmake new file mode 100644 index 0000000..630abc0 --- /dev/null +++ b/manylinux_2_28-x64/Toolchain.cmake @@ -0,0 +1,12 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_CROSSCOMPILING FALSE) +set(CMAKE_SYSTEM_VERSION 1) +set(CMAKE_SYSTEM_PROCESSOR x86_64) + +set(MANYLINUX_2_28 TRUE) + +set(CROSS_ROOT /opt/rh/gcc-toolset-11/root/bin/) +set(CMAKE_C_COMPILER ${CROSS_ROOT}/gcc) +set(CMAKE_CXX_COMPILER ${CROSS_ROOT}/g++) +set(CMAKE_ASM_COMPILER ${CROSS_ROOT}/as) +set(CMAKE_Fortran_COMPILER ${CROSS_ROOT}/gfortran)