Upgrade to Debian 9 (a.k.a. stretch)

Change-Id: Ibc0b20a8fd331816cfcccc7a8877efe12fdf8e37
diff --git a/vm/setup_code_building.sh b/vm/setup_code_building.sh
index cbb8fcd..0ddc65f 100755
--- a/vm/setup_code_building.sh
+++ b/vm/setup_code_building.sh
@@ -6,15 +6,17 @@
 export DEBIAN_FRONTEND=noninteractive
 
 readonly PKGS=(
-  bazel
-  clang-3.6
-  clang-format-3.5
+  clang-3.9
+  clang-format-3.9
+  curl
   gfortran
   git
+  g++
   libblas-dev
   liblapack-dev
   libpython3-dev
   libpython-dev
+  openjdk-8-jdk
   python3
   python3-matplotlib
   python3-numpy
@@ -23,22 +25,18 @@
   python-scipy
   resolvconf
   ruby
+  zlib1g-dev
 )
 
 # Set up the backports repo.
 cat > /etc/apt/sources.list.d/backports.list <<EOT
-deb http://http.debian.net/debian jessie-backports main
+deb http://http.debian.net/debian stretch-backports main contrib
 EOT
 
 # Set up the LLVM repo.
-cat > /etc/apt/sources.list.d/llvm-3.6.list <<EOT
-deb  http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.6 main
-deb-src  http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.6 main
-EOT
-
-# Set up the 971-managed bazel repo.
-cat > /etc/apt/sources.list.d/bazel-971.list <<EOT
-deb http://robotics.mvla.net/files/frc971/packages jessie main
+cat > /etc/apt/sources.list.d/llvm-apt.list <<EOT
+deb http://apt.llvm.org/jessie/ llvm-toolchain-jessie main
+deb-src http://apt.llvm.org/jessie/ llvm-toolchain-jessie main
 EOT
 
 # Enable user namespace for sandboxing.
@@ -46,19 +44,19 @@
 kernel.unprivileged_userns_clone = 1
 EOT
 
-# We need to explicitly pull in the java certificates from backports. Otherwise
-# bazel won't install properly.
-cat > /etc/apt/preferences.d/java_certificates <<EOT
-Package: ca-certificates-java
-Pin: release a=jessie-backports
-Pin-Priority: 900
-EOT
-
 # Accept the LLVM GPG key so we can install their packages.
 wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add -
 
 # Install all the packages that we need/want.
 apt-get update
 for pkg in "${PKGS[@]}"; do
-  apt-get install -y -f --force-yes "$pkg"
+  apt-get install -y -f --allow-change-held-packages "$pkg"
 done
+
+# Install bazel if necessary.
+if ! dpkg -l bazel > /dev/null; then
+  pushd /tmp
+  curl -OL 'https://github.com/bazelbuild/bazel/releases/download/0.8.1/bazel_0.8.1-linux-x86_64.deb'
+  dpkg -i bazel_0.8.1-linux-x86_64.deb
+  popd
+fi