Bug 1519293 - Add a build docker image based on Debian 9. r=mshal
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 11 Jan 2019 22:45:55 +0000
changeset 453576 0e27ee5b44f8
parent 453575 03f596ee1683
child 453577 a58fad772b6f
push id35360
push usernbeleuzu@mozilla.com
push dateSat, 12 Jan 2019 09:39:47 +0000
treeherdermozilla-central@cb35977ae7a4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmshal
bugs1519293
milestone66.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1519293 - Add a build docker image based on Debian 9. r=mshal Differential Revision: https://phabricator.services.mozilla.com/D16280
taskcluster/ci/docker-image/kind.yml
taskcluster/docker/debian-build/Dockerfile
taskcluster/docker/debian7-build/Dockerfile
--- a/taskcluster/ci/docker-image/kind.yml
+++ b/taskcluster/ci/docker-image/kind.yml
@@ -47,26 +47,26 @@ jobs:
       - deb7-cmake
       - deb7-ninja
   custom-v8:
     symbol: I(custom-v8)
     parent: debian9-base
   debian7-amd64-build-base:
     symbol: I(deb7-bb)
     parent: debian7-base
-    definition: debian7-build
+    definition: debian-build
     packages:
       - deb7-nasm
       - deb7-valgrind
     args:
       ARCH: amd64
   debian7-amd64-build:
     symbol: I(deb7)
     parent: debian7-base
-    definition: debian7-build
+    definition: debian-build
     packages:
       - deb7-atk
       - deb7-glib
       - deb7-gdk-pixbuf
       - deb7-gtk3
       - deb7-harfbuzz
       - deb7-libxkbcommon
       - deb7-nasm
@@ -74,17 +74,17 @@ jobs:
       - deb7-pcre3
       - deb7-valgrind
       - deb7-wayland
     args:
       ARCH: amd64
   debian7-i386-build:
     symbol: I(deb7-32)
     parent: debian7-base
-    definition: debian7-build
+    definition: debian-build
     packages:
       - deb7-32-atk
       - deb7-32-glib
       - deb7-32-gdk-pixbuf
       - deb7-32-gtk3
       - deb7-32-harfbuzz
       - deb7-32-libxkbcommon
       - deb7-32-pango
@@ -116,16 +116,22 @@ jobs:
     definition: debian-base
     args:
       DIST: stretch
       BASE_TAG: '20170620'
       SNAPSHOT: '20170830T000511Z'
     packages:
       - deb9-mercurial
       - deb9-python-zstandard
+  debian9-amd64-build:
+    symbol: I(deb9)
+    parent: debian9-base
+    definition: debian-build
+    args:
+      ARCH: amd64
   android-build:
     symbol: I(agb)
     parent: debian9-base
   fetch:
     symbol: I(fetch)
     parent: debian9-base
   static-analysis-build:
     symbol: I(static-analysis-build)
rename from taskcluster/docker/debian7-build/Dockerfile
rename to taskcluster/docker/debian-build/Dockerfile
--- a/taskcluster/docker/debian7-build/Dockerfile
+++ b/taskcluster/docker/debian-build/Dockerfile
@@ -17,18 +17,28 @@ RUN dpkg --add-architecture $ARCH
 
 # Ideally, we wouldn't need gcc-multilib and the extra linux-libc-dev,
 # but the latter is required to make the former installable, and the former
 # because of bug 1409276.
 # We exclude /usr/share/doc/*/changelog.Debian* files because they might differ
 # between i386 and amd64 variants of the packages we build on automation
 # because of dates stored in them by debchange (and both might end up installed
 # in some cases).
+# On Debian 7, pkg-config was not multiarch-aware, so we rely on the $ARCH
+# pkg-config being valid on the host. On more recent versions of Debian, we can
+# use pkg-config, which is multiarch-aware, but we also need dpkg-dev because
+# of https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916772.
 RUN apt-get update && \
     echo path-exclude=/usr/share/doc/*/changelog.Debian* > /etc/dpkg/dpkg.cfg.d/excludes && \
+    if grep -q ^7\\. /etc/debian_version; then \
+      BACKPORT=/wheezy-backports; \
+      PKG_CONFIG=pkg-config:$ARCH; \
+    else \
+      PKG_CONFIG="pkg-config dpkg-dev"; \
+    fi && \
     apt-get install \
       autoconf2.13 \
       automake \
       bzip2 \
       curl \
       file \
       gawk \
       gcc-multilib \
@@ -43,21 +53,21 @@ RUN apt-get update && \
       screen \
       tar \
       unzip \
       uuid \
       valgrind \
       wget \
       x11-utils \
       xvfb \
-      yasm/wheezy-backports \
+      yasm$BACKPORT \
       zip \
-      linux-libc-dev/wheezy-backports \
-      linux-libc-dev:$ARCH/wheezy-backports \
-      pkg-config:$ARCH \
+      linux-libc-dev$BACKPORT \
+      linux-libc-dev:$ARCH$BACKPORT \
+      $PKG_CONFIG \
       libdbus-glib-1-dev:$ARCH \
       libfontconfig1-dev:$ARCH \
       libfreetype6-dev:$ARCH \
       libgconf2-dev:$ARCH \
       libgtk-3-dev:$ARCH \
       libgtk2.0-dev:$ARCH \
       libpango1.0-dev:$ARCH \
       libpulse-dev:$ARCH \