summaryrefslogtreecommitdiffstats
path: root/taskcluster/docker/debian-repackage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--taskcluster/docker/debian-repackage/Dockerfile34
1 files changed, 34 insertions, 0 deletions
diff --git a/taskcluster/docker/debian-repackage/Dockerfile b/taskcluster/docker/debian-repackage/Dockerfile
new file mode 100644
index 0000000000..2ca035be0b
--- /dev/null
+++ b/taskcluster/docker/debian-repackage/Dockerfile
@@ -0,0 +1,34 @@
+FROM $DOCKER_IMAGE_PARENT
+MAINTAINER Mozilla Releng <release@mozilla.com>
+
+VOLUME /builds/worker/workspace
+
+# At the moment the Firefox build baseline is jessie.
+# Things in the build/CI system that run in the task's container
+# (mach, run-task, etc.) do not support jessie.
+# There's also no jessie `base` images or packages generated in the CI.
+# To generate Firefox Debian packages compatible with the baseline
+# we bootstrap basic i386 and amd64 jessie systems on bullseye.
+# We use these to generate shared library dependencies in jessie using chroot.
+# python/mozbuild/mozbuild/repackaging/deb.py checks for jessie systems
+# bootstrapped under /srv/jessie-i386 and /srv/jessie-amd64
+# If they aren't there, deb.py runs the repackage in the working directory without using chroot.
+# To keep the build and repackage enviroments consistent the Debian baseline used
+# here (jessie) should be synchronized with the baseline used in
+# taskcluster/scripts/misc/build-sysroot.sh
+ARG TASKCLUSTER_ROOT_URL
+ARG DOCKER_IMAGE_PACKAGES
+RUN /usr/local/sbin/setup_packages.sh $TASKCLUSTER_ROOT_URL $DOCKER_IMAGE_PACKAGES && \
+ apt-get update && \
+ apt-get install debootstrap python3-distutils && set -xe && \
+ for arch in i386 amd64; do \
+ debootstrap \
+ --arch=$arch \
+ --variant=buildd \
+ --include=debhelper,libasound2,libdbus-glib-1-2,libgtk-3-0,libx11-xcb1,libxtst6 \
+ --keyring=/usr/share/keyrings/debian-archive-removed-keys.gpg \
+ --verbose \
+ jessie \
+ /srv/jessie-$arch \
+ https://archive.debian.org/debian; \
+ done