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
--- 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",