Bug 1227637/1220658: install mesa 9.2.1-1ubuntu3~precise1mozilla1 in desktop-test; r=armenzg
authorDustin J. Mitchell <dustin@mozilla.com>
Mon, 30 Nov 2015 13:28:01 -0500
changeset 309438 4478329ac0f94dca99b2acf7a6a05a8a56ebbf47
parent 309437 4feee02dd1d6a7a2dab8834622f23f4a242c630c
child 309439 5648bce2ec8d5e56d5b414336bc62bbec85c5e9f
push id5513
push userraliiev@mozilla.com
push dateMon, 25 Jan 2016 13:55:34 +0000
treeherdermozilla-beta@5ee97dd05b5c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersarmenzg
bugs1227637, 1220658
milestone45.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 1227637/1220658: install mesa 9.2.1-1ubuntu3~precise1mozilla1 in desktop-test; r=armenzg
testing/docker/desktop-test/Dockerfile
testing/docker/desktop-test/VERSION
testing/docker/ubuntu1204-test-upd/Dockerfile
testing/docker/ubuntu1204-test-upd/VERSION
testing/docker/ubuntu1204-test/VERSION
testing/docker/ubuntu1204-test/system-setup.sh
--- a/testing/docker/desktop-test/Dockerfile
+++ b/testing/docker/desktop-test/Dockerfile
@@ -1,9 +1,9 @@
-FROM          taskcluster/ubuntu1204-test-upd:0.1.3.20151125000000
+FROM          taskcluster/ubuntu1204-test-upd:0.1.4.20151130132801
 MAINTAINER    Jonas Finnemann Jensen <jopsen@gmail.com>
 
 # Add utilities and configuration
 COPY           dot-config                    /home/worker/.config
 COPY           dot-pulse                     /home/worker/.pulse
 COPY           bin                           /home/worker/bin
 # TODO: remove this when buildbot is gone
 COPY           buildprops.json               /home/worker/buildprops.json
--- a/testing/docker/desktop-test/VERSION
+++ b/testing/docker/desktop-test/VERSION
@@ -1,1 +1,1 @@
-0.4.5
+0.4.6
--- a/testing/docker/ubuntu1204-test-upd/Dockerfile
+++ b/testing/docker/ubuntu1204-test-upd/Dockerfile
@@ -1,9 +1,9 @@
-FROM          taskcluster/ubuntu1204-test:0.1.3
+FROM          taskcluster/ubuntu1204-test:0.1.4
 MAINTAINER    Dustin J. Mitchell <dustin@mozilla.com>
 
 ### update to latest from upstream repositories
 # if this becomes a long list of packages, consider bumping the
 # ubunt1204-test version
 RUN apt-get update && apt-get upgrade -y --force-yes
 
 # Set a default command useful for debugging
--- a/testing/docker/ubuntu1204-test-upd/VERSION
+++ b/testing/docker/ubuntu1204-test-upd/VERSION
@@ -1,1 +1,1 @@
-0.1.3.20151125000000
+0.1.4.20151130132801
--- a/testing/docker/ubuntu1204-test/VERSION
+++ b/testing/docker/ubuntu1204-test/VERSION
@@ -1,1 +1,1 @@
-0.1.3
+0.1.4
--- a/testing/docker/ubuntu1204-test/system-setup.sh
+++ b/testing/docker/ubuntu1204-test/system-setup.sh
@@ -46,24 +46,16 @@ apt_packages+=('libcurl4-openssl-dev')
 apt_packages+=('libdbus-1-dev')
 apt_packages+=('libdbus-glib-1-dev')
 apt_packages+=('libdrm-intel1:i386')
 apt_packages+=('libdrm-nouveau1a:i386')
 apt_packages+=('libdrm-radeon1:i386')
 apt_packages+=('libdrm2:i386')
 apt_packages+=('libexpat1:i386')
 apt_packages+=('libgconf2-dev')
-apt_packages+=('libgl1-mesa-dri')
-apt_packages+=('libgl1-mesa-dri:i386')
-apt_packages+=('libgl1-mesa-glx')
-apt_packages+=('libgl1-mesa-glx:i386')
-apt_packages+=('libglapi-mesa')
-apt_packages+=('libglapi-mesa:i386')
-apt_packages+=('libglu1-mesa')
-apt_packages+=('libglu1-mesa:i386')
 apt_packages+=('libgnome-bluetooth8')
 apt_packages+=('libgstreamer-plugins-base0.10-dev')
 apt_packages+=('libgstreamer0.10-dev')
 apt_packages+=('libgtk2.0-dev')
 apt_packages+=('libiw-dev')
 apt_packages+=('libllvm2.9')
 apt_packages+=('libllvm3.0:i386')
 apt_packages+=('libncurses5:i386')
@@ -80,17 +72,16 @@ apt_packages+=('libxt-dev')
 apt_packages+=('libxxf86vm1')
 apt_packages+=('libxxf86vm1:i386')
 apt_packages+=('llvm')
 apt_packages+=('llvm-2.9')
 apt_packages+=('llvm-2.9-dev')
 apt_packages+=('llvm-2.9-runtime')
 apt_packages+=('llvm-dev')
 apt_packages+=('llvm-runtime')
-apt_packages+=('mesa-common-dev')
 apt_packages+=('nano')
 apt_packages+=('pulseaudio')
 apt_packages+=('pulseaudio-module-X11')
 apt_packages+=('pulseaudio-module-bluetooth')
 apt_packages+=('pulseaudio-module-gconf')
 apt_packages+=('rlwrap')
 apt_packages+=('screen')
 apt_packages+=('software-properties-common')
@@ -176,36 +167,79 @@ tooltool_fetch <<'EOF'
     "filename": "node-v0.10.36-linux-x64.tar.gz"
 }
 ]
 
 EOF
 tar -C /usr/local -xz --strip-components 1 < node-*.tar.gz
 node -v  # verify
 
+# Install custom-built Debian packages.  These come from a set of repositories
+# packaged in tarballs on tooltool to make them replicable.  Because they have
+# inter-dependenices, we install all repositories first, then perform the
+# installation.
+cp /etc/apt/sources.list sources.list.orig
+
 # Install a slightly newer version of libxcb
 # See bug 975216 for the original build of these packages
 # NOTE: if you're re-creating this, the tarball contains an `update.sh` which will rebuild the repository.
 tooltool_fetch <<'EOF'
 [
 {
     "size": 9708011, 
     "digest": "45005c7e1fdb4839f3bb96bfdb5e448672e7e40fa3cfc22ef646e2996a541f151e88c61b8a568cc00b7fcf5cb5e98e00c4e603acb0b73f85125582fa00aae76e", 
     "algorithm": "sha512", 
     "filename": "xcb-repo-1.8.1-2ubuntu2.1mozilla1.tgz"
 }
 ]
 EOF
 tar -zxf xcb-repo-*.tgz
-cp /etc/apt/sources.list sources.list.orig
 echo "deb file://$PWD/xcb precise all" >> /etc/apt/sources.list
+
+# Install a patched version of mesa, per bug 1227637.  Origin of the packages themselves is unknown, as
+# these binaries were copied from the apt repositories used by puppet.
+# NOTE: if you're re-creating this, the tarball contains an `update.sh` which will rebuild the repository.
+tooltool_fetch <<'EOF'
+[
+{
+    "size": 11619521,
+    "digest": "2ec1dbb735d06a5ae8c1f31cd0a9256339a50b0221c84fc1f6e8ada3b3c2757c16df6e2ace4a66f68159950d46ddce563ecd71dd5c2d2d421b085168a86a52fd",
+    "algorithm": "sha512",
+    "filename": "mesa-repo-9.2.1-1ubuntu3~precise1mozilla1.tgz"
+}
+]
+EOF
+tar -zxf mesa-repo-*.tgz
+echo "deb file://$PWD/mesa precise all" >> /etc/apt/sources.list
+
 apt-get update
-apt-get -q -y --force-yes install libxcb1 libxcb-render0 libxcb-shm0 libxcb-glx0 libxcb-shape0 libxcb-glx0:i386
+
+apt-get -q -y --force-yes install \
+    libxcb1 \
+    libxcb-render0 \
+    libxcb-shm0 \
+    libxcb-glx0 \
+    libxcb-shape0 libxcb-glx0:i386
 libxcb1_version=$(dpkg-query -s libxcb1 | grep ^Version | awk '{ print $2 }')
 [ "$libxcb1_version" = "1.8.1-2ubuntu2.1mozilla1" ] || exit 1
+
+apt-get -q -y --force-yes install \
+    libgl1-mesa-dev-lts-saucy:i386 \
+    libgl1-mesa-dri-lts-saucy \
+    libgl1-mesa-dri-lts-saucy:i386 \
+    libgl1-mesa-glx-lts-saucy \
+    libgl1-mesa-glx-lts-saucy:i386 \
+    libglapi-mesa-lts-saucy \
+    libglapi-mesa-lts-saucy:i386 \
+    libxatracker1-lts-saucy \
+    mesa-common-dev-lts-saucy:i386
+mesa_version=$(dpkg-query -s libgl1-mesa-dri-lts-saucy | grep ^Version | awk '{ print $2 }')
+[ "$mesa_version" = "9.2.1-1ubuntu3~precise1mozilla1" ] || exit 1
+
+# 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
 apt-get clean