Bug 1247168 - Install Mercurial 3.8.4 from .deb files; r=dustin draft
authorGregory Szorc <gps@mozilla.com>
Wed, 20 Jul 2016 09:43:01 -0700
changeset 390181 52427aaacdc02288dc41c4f85d2faf49887569d4
parent 390180 bf18c9bf5982ae99adbe100c53e7facfb0d8aa70
child 390182 d2c050fb60ec2bf962a5ff46a3eda3e9473f4598
push id23614
push userbmo:gps@mozilla.com
push dateWed, 20 Jul 2016 19:22:19 +0000
reviewersdustin
bugs1247168
milestone50.0a1
Bug 1247168 - Install Mercurial 3.8.4 from .deb files; r=dustin We change the installation of Mercurial from via peep to .deb files in tooltool. The .deb files were produced by Mercurial's built-in make targets to produce .deb packages. As part of this, we upgrade to Mercurial 3.8.4. It should be a drop-in replacement. Since we no longer use peep, we stop installing it and pip/setuptools since they were only needed to run peep. It's worth noting that we choose to install from .deb files instead of pip because this keeps image creation small and simple. Otherwise we'd have to install a compiler, etc. MozReview-Commit-ID: INnKDHkX2uk
testing/docker/decision/system-setup.sh
--- a/testing/docker/decision/system-setup.sh
+++ b/testing/docker/decision/system-setup.sh
@@ -51,68 +51,36 @@ mkdir $BUILD
 tooltool_fetch() {
     cat >manifest.tt
     python $BUILD/tooltool.py fetch
     rm manifest.tt
 }
 
 curl https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py > ${BUILD}/tooltool.py
 
-# Enough python utilities to get "peep" working
+# Install Mercurial from custom debs since distro packages tend to lag behind.
 cd $BUILD
-tooltool_fetch <<'EOF'
+tooltool_fetch <<EOF
 [
 {
-    "size": 630700,
-    "digest": "1367f3a10c1fef2f8061e430585f1927f6bd7c416e764d65cea1f4255824d549efa77beef8ff784bbd62c307b4b1123502e7b3fd01a243c0cc5b433a841cc8b5",
+    "size": 44878,
+    "digest": "7b1fc1217e0dcaeea852b0af2dc559b1aafb704fbee7e29cbec75af57bacb84910a7ec92b5c33f04ee98f23b3a57f1fa451173fe7c8a96f58faefe319dc7dde1",
     "algorithm": "sha512",
-    "filename": "setuptools-18.1.tar.gz",
-    "unpack": true
+    "filename": "mercurial_3.8.4_amd64.deb"
 },
 {
-    "size": 1051205,
-    "digest": "e7d2e003ec60fce5a75a6a23711d7f9b155e898faebcf55f3abdd912ef513f4e0cf43daca8f9da7179a7a4efe6e4a625a532d051349818847df1364eb5b326de",
+    "size": 1818422,
+    "digest": "b476e2612e7495a1c7c5adfd84511aa7479e26cc9070289513ec705fbfc4c61806ce2dbcceca0e63f2e80669be416f3467a3cebb522dcb8a6aeb62cdd3df82f2",
     "algorithm": "sha512",
-    "filename": "pip-6.1.1.tar.gz",
-    "unpack": true
-},
-{
-    "size": 26912,
-    "digest": "9d730ed7852d4d217aaddda959cd5f871ef1b26dd6c513a3780bbb04a5a93a49d6b78e95c2274451a1311c10cc0a72755b269dc9af62640474e6e73a1abec370",
-    "algorithm": "sha512",
-    "filename": "peep-2.4.1.tar.gz",
-    "unpack": false
+    "filename": "mercurial-common_3.8.4_all.deb"
 }
 ]
 EOF
 
-cd $BUILD
-cd setuptools-18.1
-python setup.py install
-# NOTE: latest peep is not compatible with pip>=7.0
-# https://github.com/erikrose/peep/pull/94
-
-cd $BUILD
-cd pip-6.1.1
-python setup.py install
-
-cd $BUILD
-pip install peep-2.4.1.tar.gz
-
-# Peep (latest)
-cd $BUILD
-pip install peep
-
-# remaining Python utilities are installed with `peep` from upstream
-# repositories; peep verifies file integrity for us
-cat >requirements.txt <<'EOF'
-# sha256: wJnELXTi1SC2HdNyzZlrD6dgXAZheDT9exPHm5qaWzA
-mercurial==3.7.3
-EOF
-peep install -r requirements.txt
+dpkg -i mercurial-common_3.8.4_all.deb mercurial_3.8.4_amd64.deb
 
 # Install node
 tooltool_fetch <<'EOF'
 [
 {
     "size": 5676610,
     "digest": "ce27b788dfd141a5ba7674332825fc136fe2c4f49a319dd19b3a87c8fffa7a97d86cbb8535661c9a68c9122719aa969fc6a8c886458a0df9fc822eec99ed130b",
     "algorithm": "sha512",