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