Currently based on https://github.com/pypa/manylinux/commits/96ea22a88cf1f5228a7ed2c232dc314a1e216234.
Adaptations:
finalize.sh: keep python static libraries so we can use them during the buildinstall-runtime-packages: install all dependencies to the image for Valhalla (valhalla_pythonbranch)build_sqlite3.sh: add-DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_COLUMN_METADATAto build for GDAL & spatialite- build & install a few packages from source and register them in the
Dockerfile:build-prime_server.shbuild-protobuf.sh:dnfwould install 3.5.0, I guess that was troublesome, can't remember..build-boost.sh:dnfwould install 1.66, while we require min 1.71build-geos.sh:dnfwould install 3.7.2, which didn't install a.pcfilebuild-freexl.sh: used to build libspatialitebuild-rttopo.sh:dnfdoesn't have librttopo which is needed forST_MakeValidfunction invalhalla_build_adminsbuild-spatialite.sh: need to build from source for librttopo support, see aboveinstall-cmake.sh: needed to build some of the above packages
- Make sure you have a
docker buildxbackend which can handle local caching etc.docker buildx create --name builder-docker-container --driver docker-container docker buildx inspect --bootstrap --builder builder-docker-container
- Build the image with the new driver
POLICY=manylinux_2_28 PLATFORM=x86_64 COMMIT_SHA=$(git rev-parse --verify HEAD) BUILDX_BUILDER=builder-docker-container ./build.sh
That will create an image called quay.io/pypa/manylinux_2_28_x86_64:$(git rev-parse --verify HEAD).