tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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/"