Dockerfile: Build git from snapshot.debian.org

Build git from snapshot.debian.org instead of git-repository. The git
repository had moved breaking the build. This has been fixed by changing
the URL to the most likely new location in commit fd4d632eae
(Dockerfile: Fix dead git repo URL, 2025-10-15). This new location was
most likely also not the right one:

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1117782

It is more likely for the git-repo to go away than snapshot.debian.org
to go a away. Move to snapshot.debian.org which will hopefully never go
away.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
This commit is contained in:
Andreas Gnau
2025-10-15 15:31:07 +02:00
parent 4092d7df77
commit f6b294e1c5

View File

@@ -1,19 +1,20 @@
FROM ubuntu:20.04 as build-git
ARG GIT_DEB_GIT_COMMIT=d7922e98fad107e82e2b11c7defecf9f6d89bfb4 # git 2.45.2
ARG GIT_DEB_SRC_PKG_URL=https://snapshot.debian.org/archive/debian/20240616T203106Z/pool/main/g/git/git_2.45.2-1.dsc
RUN set -x && apt-get -y update && \
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install --no-install-recommends \
devscripts \
git \
debian-keyring \
curl \
equivs \
&& \
git clone https://salsa.debian.org/jrnieder/git.git /git-debian && \
git -C /git-debian checkout "$GIT_DEB_GIT_COMMIT" && \
mk-build-deps -i -t 'apt-get -o Debug::pkgProblemResolver=yes -y' /git-debian/debian/control && \
(cd /git-debian && debuild -eDEB_BUILD_OPTIONS="parallel=$(nproc)" -us -uc -b) && \
rm -rf /git-debian
mkdir -p /git-debian && \
(cd /git-debian && dget -q "$GIT_DEB_SRC_PKG_URL") && \
mk-build-deps -i -t 'apt-get -o Debug::pkgProblemResolver=yes -y' /git-debian/git-*/debian/control && \
(cd /git-debian/git-* && debuild -eDEB_BUILD_OPTIONS="parallel=$(nproc)" -us -uc -b) && \
rm -rf /git-debian/git-*/ /var/lib/apt/lists/*
FROM ubuntu:20.04
COPY --from=build-git /git_*_*.deb /git-man_*_*.deb /tmp/
COPY --from=build-git /git-debian/git_*_*.deb /git-debian/git-man_*_*.deb /tmp/
RUN apt-get -y update && \
apt-get -y install /tmp/git*.deb && \
rm -rf /var/lib/apt/lists/* && \