History

Manually set up PPA + other fixups

This avoids installing `software-properties-common` in the container, instead manually setting up the PPA again. Accordingly, it is not necessary to uninstall any packages to avoid high bloat in the image, so that is removed. Other cleanup is still done. This also removes the old `git` and packages that were marked as automatically installed that were only needed as its dependencies, and shows details about the `git` that is installed. For s390x, this works to cause the test suite to use a s390x build of `git`, at a reasonably new version as provided by the PPA. That should happen for some other targets, but not all. This therefore shows the `git` version as well as examining the executable to report its architecture while the container is being built. Note that this does not yet appear sufficient to produce the s390x test failures mentioned in #1687 and discused in #1698 comments. (That might relate to how this is still just testing `max-pure`.)

Eliah Kagan committed 1 year ago

Commit 9be7e991 parent f0773ee1 file · +11 −5Browse files

Unified · Split

etc/docker/Dockerfile.test-cross+11−5
@@ -11,17 +11,23 @@ RUN set -uC && \ · 10 unmodified lines
11 apt_suffix=":$target_arch"; \11 apt_suffix=":$target_arch"; \
12 fi && \12 fi && \
13 apt-get update && \13 apt-get update && \
14 apt-get install --no-install-recommends -y software-properties-common && \14 apt-get install --no-install-recommends -y apt-transport-https gnupg && \
15 add-apt-repository -y ppa:git-core/ppa && \15 release="$(sed -n 's/^VERSION_CODENAME=//p' /etc/os-release)" && \
16 echo "deb https://ppa.launchpadcontent.net/git-core/ppa/ubuntu $release main" \
17 >/etc/apt/sources.list.d/git-core-ubuntu-ppa.list && \
18 apt-key adv --keyserver keyserver.ubuntu.com \
19 --recv-keys F911AB184317630C59970973E363C90F8F1B6217 && \
16 apt-get update && \20 apt-get update && \
21 apt-get purge --autoremove -y git && \
17 apt-get install --no-install-recommends -y "libc6$apt_suffix" "libcurl3-gnutls$apt_suffix" \22 apt-get install --no-install-recommends -y "libc6$apt_suffix" "libcurl3-gnutls$apt_suffix" \
18 "libexpat1$apt_suffix" "libpcre2-8-0$apt_suffix" "zlib1g$apt_suffix" perl liberror-perl \23 "libexpat1$apt_suffix" "libpcre2-8-0$apt_suffix" "zlib1g$apt_suffix" perl liberror-perl \
19 git-man patch jq && \24 git-man file jq patch && \
20 apt-get download "git$apt_suffix" && \25 apt-get download "git$apt_suffix" && \
21 dpkg --ignore-depends="perl$apt_suffix,liberror-perl$apt_suffix" -i git[-_]*.deb && \26 dpkg --ignore-depends="perl$apt_suffix,liberror-perl$apt_suffix" -i git[-_]*.deb && \
22 echo INSTALLED/UPGRADED GIT && \27 git version --build-options && \
28 git="$(command -v git)" && \
29 file -- "$git" && \
23 rm git[-_]*.deb && \30 rm git[-_]*.deb && \
24 apt-get purge --autoremove software-properties-common && \
25 apt-get clean && \31 apt-get clean && \
26 rm -rf /var/lib/apt/lists/* && \32 rm -rf /var/lib/apt/lists/* && \
27 if test -f /android-runner; then \33 if test -f /android-runner; then \