Bug 1460451 - Add /usr/bin/python3 to Debian images; r?glandium draft
authorGregory Szorc <gps@mozilla.com>
Wed, 09 May 2018 19:54:21 -0700
changeset 793449 e9ad630b253144d1004568b467a4404d6061973c
parent 793238 76aad17f5b50a1b969eec8cbb5aa9875555640bc
child 793450 6677289054839c1b2867484fc59804915af0f6a9
push id109389
push userbmo:gps@mozilla.com
push dateThu, 10 May 2018 02:58:23 +0000
reviewersglandium
bugs1460451
milestone62.0a1
Bug 1460451 - Add /usr/bin/python3 to Debian images; r?glandium The python3-minimal package provides /usr/bin/python3 on Debian. This commit installs this package so a `python3` executable is provided. This required backporting the package to wheezy. The final patch is trivial. But I wasted a bit of time figuring out why `mk-build-deps` wasn't working. It would no-op and exit 0 and then the build would complain about missing dependencies! glandium's theory is that the ":any" multiarch support on wheezy isn't complete. Removing ":any" seems to make things "just work." MozReview-Commit-ID: FBicpK4SmkQ
build/debian-packages/python3-defaults-wheezy.diff
taskcluster/ci/docker-image/kind.yml
taskcluster/ci/packages/kind.yml
taskcluster/docker/debian-base/Dockerfile
new file mode 100644
--- /dev/null
+++ b/build/debian-packages/python3-defaults-wheezy.diff
@@ -0,0 +1,31 @@
+diff --git a/debian/changelog b/debian/changelog
+index a2948ae..338ed66 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -1,3 +1,11 @@
++python3-defaults (3.5.3-1.deb7moz1) wheezy; urgency=medium
++
++  * Mozilla backport for wheezy.
++  * debian/control.in
++    * Remove :any from dependencies because it seems to confuse wheezy
++
++ -- Gregory Szorc <gps@mozilla.com>  Tue, 9 May 2018 15:00:00 -0800
++
+ python3-defaults (3.5.3-1) unstable; urgency=medium
+
+   * Bump version to 3.5.3.
+diff --git a/debian/control.in b/debian/control.in
+index 89e1aa4..e58be76 100644
+--- a/debian/control.in
++++ b/debian/control.in
+@@ -5,8 +5,8 @@ Maintainer: Matthias Klose <doko@debian.org>
+ Uploaders: Piotr O<C5><BC>arowski <piotr@debian.org>, Scott Kitterman <scott@kitterman.com>
+ Build-Depends: debhelper (>= 9), @bd_i586@
+   lsb-release,
+-  python3-minimal:any,
+-  python3.5-minimal:any,
++  python3-minimal,
++  python3.5-minimal,
+   python3-docutils,
+   debiandoc-sgml
+ Standards-Version: 3.9.8
--- a/taskcluster/ci/docker-image/kind.yml
+++ b/taskcluster/ci/docker-image/kind.yml
@@ -30,16 +30,17 @@ jobs:
       SNAPSHOT: '20171210T214726Z'
     packages:
       - deb7-gdb
       - deb7-git
       - deb7-make
       - deb7-mercurial
       - deb7-python
       - deb7-python3.5
+      - deb7-python3-defaults
       - deb7-xz-utils
   toolchain-build:
     symbol: I(toolchain)
     parent: debian7-base
     packages:
       - deb7-cmake
       - deb7-ninja
   debian7-amd64-build:
--- a/taskcluster/ci/packages/kind.yml
+++ b/taskcluster/ci/packages/kind.yml
@@ -42,16 +42,30 @@ jobs:
     run:
       using: debian-package
       dsc:
         url: http://snapshot.debian.org/archive/debian/20170119T211826Z/pool/main/p/python3.5/python3.5_3.5.3-1.dsc
         sha256: 5259cbb15bb93f7bdfbe9ce03a972ea47f81c86057d5939ef9ce578414b2f1de
       patch: python3.5-wheezy.diff
       pre-build-command: debian/rules control-file
 
+  deb7-python3-defaults:
+    description: "python3-defaults backport for Debian wheezy"
+    treeherder:
+      symbol: Deb7(python3-defaults)
+    run:
+      using: debian-package
+      dsc:
+        url: http://snapshot.debian.org/archive/debian/20170120T212942Z/pool/main/p/python3-defaults/python3-defaults_3.5.3-1.dsc
+        sha256: 2bec1dd8a5836d5a19fbbd48d7c49aec40642669036297a34bbfd8b0b2d61439
+      packages:
+        - deb7-python3.5
+      patch: python3-defaults-wheezy.diff
+      pre-build-command: debian/rules control-file
+
   deb7-cmake:
     description: "Cmake backport for Debian wheezy"
     treeherder:
       symbol: Deb7(cmake)
     run:
       using: debian-package
       dsc:
         url: http://snapshot.debian.org/archive/debian/20161204T034107Z/pool/main/c/cmake/cmake_3.7.1-1.dsc
--- a/taskcluster/docker/debian-base/Dockerfile
+++ b/taskcluster/docker/debian-base/Dockerfile
@@ -50,16 +50,17 @@ RUN /usr/local/sbin/setup_packages.sh $D
     echo 'dir::bin::methods::https "/usr/local/sbin/cloud-mirror-workaround.sh";' > /etc/apt/apt.conf.d/99cloud-mirror-workaround && \
     apt-get update && \
     apt-get install \
       git \
       make \
       mercurial \
       python \
       python3.5 \
+      python3-minimal \
       xz-utils
 
 # %include testing/mozharness/external_tools/robustcheckout.py
 COPY topsrcdir/testing/mozharness/external_tools/robustcheckout.py /usr/local/mercurial/robustcheckout.py
 
 # %include taskcluster/docker/recipes/hgrc
 COPY topsrcdir/taskcluster/docker/recipes/hgrc /etc/mercurial/hgrc.d/mozilla.rc