diff --git a/docker/Dockerfile b/docker/Dockerfile index d0a0b2f63..8013b8154 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -78,8 +78,8 @@ RUN export CURL_ROOT=curl-8.14.1 && \ export CURL_DOWNLOAD_URL=https://curl.haxx.se/download && \ manylinux-entrypoint /build_scripts/build-curl.sh COPY build_scripts/build-git.sh /build_scripts/ -RUN export GIT_ROOT=git-2.49.0 && \ - export GIT_HASH=f8047f572f665bebeb637fd5f14678f31b3ca5d2ff9a18f20bd925bd48f75d3c && \ +RUN export GIT_ROOT=git-2.50.0 && \ + export GIT_HASH=920f8ca563d16a7d4fdecb44349cbffbc5cb814a8b36c96028463478197050da && \ export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \ manylinux-entrypoint /build_scripts/build-git.sh diff --git a/docker/build_scripts/build-git.sh b/docker/build_scripts/build-git.sh index 993c72629..3ed8a72f7 100755 --- a/docker/build_scripts/build-git.sh +++ b/docker/build_scripts/build-git.sh @@ -17,6 +17,13 @@ fi if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then export NO_UNCOMPRESS2=1 + CSPRNG_METHOD=urandom + # workaround build issue when openssl gets included + # git provides its own implementation of ctypes which conflicts + # with the one in CentOS 7. Just use the one from git. + echo "" > /usr/include/ctype.h +else + CSPRNG_METHOD=getrandom fi if [ -d /opt/_internal ]; then @@ -37,7 +44,7 @@ fetch_source "${GIT_ROOT}.tar.gz" "${GIT_DOWNLOAD_URL}" check_sha256sum "${GIT_ROOT}.tar.gz" "${GIT_HASH}" tar -xzf "${GIT_ROOT}.tar.gz" pushd "${GIT_ROOT}" -make install prefix=/usr/local NO_GETTEXT=1 NO_TCLTK=1 DESTDIR=/manylinux-rootfs CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" CXXFLAGS="${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}" +make install prefix=/usr/local NO_GETTEXT=1 NO_TCLTK=1 DESTDIR=/manylinux-rootfs CSPRNG_METHOD=${CSPRNG_METHOD} CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" CXXFLAGS="${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}" popd rm -rf "${GIT_ROOT}" "${GIT_ROOT}.tar.gz"