add libgtest-dev to install-hdl-apt-reqs
[dev-env-setup.git] / mk-deb-chroot
index f90e7ab5daa49a58deb4f849b6fa2e2ed88a642d..a02e46ffea4bb2b1297ce3ea8ee9648c788e9fdf 100755 (executable)
@@ -42,7 +42,21 @@ fi
 # Install debootstrap and schroot
 if [ -e /etc/debian_version ]; then
     # Debian detected: use apt
-    apt install -y debootstrap schroot
+    REQUIRED_PKG="debootstrap"
+    PKG_OK=$(dpkg-query -W --showformat='${Status}\n'\
+    $REQUIRED_PKG|grep "install ok installed")
+    echo Checking for $REQUIRED_PKG: $PKG_OK
+    if [ "" = "$PKG_OK" ]; then
+        apt install -y debootstrap
+    fi
+
+    REQUIRED_PKG="schroot"
+    PKG_OK=$(dpkg-query -W --showformat='${Status}\n'\
+    $REQUIRED_PKG|grep "install ok installed")
+    echo Checking for $REQUIRED_PKG: $PKG_OK
+    if [ "" = "$PKG_OK" ]; then
+        apt install -y schroot
+    fi
 elif [ -e /etc/arch-release ]; then
     # Arch Linux detected: use pacman
     pacman -S --needed debootstrap schroot
@@ -109,6 +123,24 @@ This enables you to chroot into $chrootdir as an unprivileged user by running
 "
 fi
 
+#!!! buster backports is needed for a lot of things
+cat << EOF > /opt/chroot/$chrootdir/etc/apt/sources.list.d/buster_backports.list
+deb http://deb.debian.org/debian buster-backports main
+deb-src http://deb.debian.org/debian buster-backports main
+EOF
+
+# oooo annoying, pin preferences for buster-backports
+# make it low pririty for reproduceability
+cat << EOF > /opt/chroot/$chrootdir/etc/apt/preferences.d/99buster-backports
+Package: *
+Pin: release a=buster-backports
+Pin-Priority: 100
+
+Package: libcurl3-gnutls
+Pin: version 7.64*
+Pin-Priority: 1001
+EOF
+
 # Install apt dependencies in the chroot
 cd /tmp
 schroot -c $chrootdir /bin/bash --directory=/tmp << EOF
@@ -123,7 +155,8 @@ apt-get install -y automake binutils-dev build-essential \
         sudo \
         python2.7 \
         python3 python3-pip \
-        python3-setuptools python3-dev
+        python3-setuptools python3-dev \
+        python3-setuptools-scm
 
 # yeah systemd in a chroot? not very funny joke.
 apt-get remove -y systemd