Bug 1247168 - Install Mercurial 3.8.4 from .deb files; r=dustin
authorGregory Szorc <gps@mozilla.com>
Wed, 20 Jul 2016 09:43:01 -0700
changeset 348605 4f1747b9ce4a4bc063e648c50fb6d4995a62d01e
parent 348604 418fc99dfe92205e006f11bc2ae4d1cf83d329d0
child 348606 d3a1a822bbaf3879b34e001ee0565898708b1a30
push id1230
push userjlund@mozilla.com
push dateMon, 31 Oct 2016 18:13:35 +0000
treeherdermozilla-release@5e06e3766db2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdustin
bugs1247168
milestone50.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 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",