Dockerfile (2581B)
1 FROM $DOCKER_IMAGE_PARENT 2 MAINTAINER Mozilla Releng <release@mozilla.com> 3 4 VOLUME /builds/worker/workspace 5 6 # At the moment the Firefox build sysroot for i386 and amd64 use jessie and arm64 uses buster. 7 # To generate Firefox Debian packages we bootstrap jessie and buster sysroots. 8 # We use these sysroots to generate shared library dependencies for 9 # i386 (jessie), amd64 (jessie), and arm64 (buster) packages. 10 # To keep the build and repackage enviroments consistent the Debian distributions used by the sysroots 11 # created here should match the distributions used by the sysroots created in taskcluster/scripts/misc/build-sysroot.sh 12 ARG TASKCLUSTER_ROOT_URL 13 ARG DOCKER_IMAGE_PACKAGES 14 RUN /usr/local/sbin/setup_packages.sh $TASKCLUSTER_ROOT_URL $DOCKER_IMAGE_PACKAGES && \ 15 dpkg --add-architecture arm64 && \ 16 apt-get update && \ 17 apt-get install debootstrap && set -xe && \ 18 for arch in i386 amd64; do \ 19 debootstrap \ 20 --arch=$arch \ 21 --variant=buildd \ 22 --include=debhelper,libasound2,libgtk-3-0,libx11-xcb1,libxtst6 \ 23 --keyring=/usr/share/keyrings/debian-archive-removed-keys.gpg \ 24 --verbose \ 25 jessie \ 26 /srv/jessie-$arch \ 27 https://archive.debian.org/debian || (echo "Debootstrap failed, outputting log:" && cat /srv/jessie-$arch/debootstrap/debootstrap.log && exit 1); \ 28 done && \ 29 # bootstrap a buster/amd64 root to generate an arm64 .deb package. 30 debootstrap \ 31 --arch=amd64 \ 32 --variant=buildd \ 33 --include=debhelper,binutils-multiarch,binutils-aarch64-linux-gnu \ 34 --keyring=/usr/share/keyrings/debian-archive-$(if test -f /usr/share/keyrings/debian-archive-buster-stable.gpg; then echo buster-stable.gpg; else echo removed-keys.gpg; fi) \ 35 --verbose \ 36 buster \ 37 /srv/buster-amd64 \ 38 http://archive.debian.org/debian || (echo "Debootstrap failed, outputting log:" && cat /srv/buster-amd64/debootstrap/debootstrap.log && exit 1) && \ 39 chroot /srv/buster-amd64 /bin/bash -c "\ 40 dpkg --add-architecture arm64 && \ 41 apt-get update && \ 42 apt-get install -y libasound2:arm64 libgtk-3-0:arm64 libx11-xcb1:arm64 libxtst6:arm64" && \ 43 /usr/local/sbin/clean_packages.sh $DOCKER_IMAGE_PACKAGES && \ 44 # Alter the symbols file for libgdk-pixbuf to handle the transition to libgdk-pixbuf-2.0-0 45 # This is only necessary until we upgrade to something newer than buster as sysroot. 46 find /srv/ -name libgdk-pixbuf2.0-0*symbols | xargs sed -i "/libgdk-pixbuf2.0-0/s/libgdk-pixbuf2.0-0/libgdk-pixbuf2.0-0 #MINVER# | libgdk-pixbuf-2.0-0/"