Bug 1292696 - Pin various graphics related packages to known good versions; r?jmaher draft
authorGregory Szorc <gps@mozilla.com>
Mon, 08 Aug 2016 09:22:42 -0700
changeset 397862 0beeffa939375b9db67b7756f827e4c1f3c16632
parent 397822 e78975b53563d80c99ebfbdf8a9fbf6b829a8a48
child 397882 76b45a646dfc529af402b316d2b77d50b77dc915
push id25432
push userbmo:gps@mozilla.com
push dateMon, 08 Aug 2016 16:36:33 +0000
reviewersjmaher
bugs1292696
milestone51.0a1
Bug 1292696 - Pin various graphics related packages to known good versions; r?jmaher Without this pinning, the image doesn't build deterministically and fails the version checks that were previously in this file. At the time this was written, the libgl1-mesa packages were on version 11.2.0-1ubuntu2.1 upstream and building the Docker image locally failed because these versions would get installed. A risk to pinning is we'll drift out of date with the OS we're testing and won't detect failures on packages users in the wild are running. But on the flip side, automation will be able to build the image reliably and there won't be "random" failures due to automation picking up new package versions. MozReview-Commit-ID: 5MSEbsiNjF1
testing/docker/ubuntu1604-test/system-setup.sh
--- a/testing/docker/ubuntu1604-test/system-setup.sh
+++ b/testing/docker/ubuntu1604-test/system-setup.sh
@@ -151,32 +151,31 @@ valgrind date
 
 # adding multiverse to get 'ubuntu-restricted-extras' below
 apt-add-repository multiverse
 apt-get update
 
 # for mp4 codec (used in MSE tests)
 apt-get -q -y -f install ubuntu-restricted-extras
 
-apt-get -q -y -f install \
-    libxcb1 \
-    libxcb-render0 \
-    libxcb-shm0 \
-    libxcb-glx0 \
-    libxcb-shape0
-libxcb1_version=$(dpkg-query -s libxcb1 | grep ^Version | awk '{ print $2 }')
-[ "$libxcb1_version" = "1.11.1-1ubuntu1" ] || exit 1
+# Various graphics related package versions are pinned because they are known
+# to work.
+apt-get -q -y -f --allow-downgrades install \
+    libxcb1=1.11.1-1ubuntu1 \
+    libxcb-render0=1.11.1-1ubuntu1 \
+    libxcb-shm0=1.11.1-1ubuntu1 \
+    libxcb-glx0=1.11.1-1ubuntu1 \
+    libxcb-shape0=1.11.1-1ubuntu1
 
-apt-get -q -y -f install \
-    libgl1-mesa-dri \
-    libgl1-mesa-glx \
-    mesa-common-dev
-mesa_version=$(dpkg-query -s libgl1-mesa-dri | grep ^Version | awk '{ print $2 }')
-echo $mesa_version
-[ "$mesa_version" = "11.2.0-1ubuntu2" ] || exit 1
+apt-get -q -y -f --allow-downgrades install \
+    libegl1-mesa=11.2.0-1ubuntu2 \
+    libglapi-mesa=11.2.0-1ubuntu2 \
+    libgl1-mesa-dri=11.2.0-1ubuntu2 \
+    libgl1-mesa-glx=11.2.0-1ubuntu2 \
+    mesa-common-dev=11.2.0-1ubuntu2
 
 # revert the list of repos
 cp sources.list.orig /etc/apt/sources.list
 apt-get update
 
 # clean up
 cd /
 rm -rf /setup ~/.ccache ~/.cache ~/.npm