Tweak fuse.conf after the fuse package is installed, not before.
[arvados-dev.git] / jenkins / packer-images / jenkins-image-common.sh
index 460e22ca9299a2ebb0e84eddb47eee71cdfa7106..e68b092c0779fd178f3c757787f52ab09cc8f28e 100755 (executable)
@@ -10,16 +10,39 @@ sudo su -c "echo ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEA3nzI6T6Lpd5xFoRewcx91Dv9sUz
 sudo su -c "echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfRJenfxGPFuJ/W2KUs6Wf0waiFsSaxd8WUTFXi4ophH2qkUMxd8xvoex/Z+Iq1fA8QCe4DfFnhUOMViP9bBB6+Va/x1Jx521P+DfN8ILqM2kcug0OoC4c5gTyFecJaKIyX6jMeidQThkd/UPHeTdicOnMqUTKIksQVXzIxzve6MQxbZts1viw0VgcO2t16F9LA+JaB8ONOTPfBzJ/BzZRiztfzQ0qW9rpX23icHtv494QrHZtgpvXltB/fy+YUZ80QJH1Iul4xnNL/27/MtZempJSSzvzlZxMIpRbe9F4qn859DZMGjUnoVMQ5v6Aw7fQRm1iMVa++i6i5X0bAI6xR6eIQzPgGdu+ymlanH0TO+5aOhOcuELyL81q2VBl01SBCfZ2OxX2ZL1HCLMe7vtxl8qxbO7Ur/Cq6j6/t7Ghb/jSnxY68rNm7MhOc5bcWL6vPxjmDMPzpk1bKL0lfEOoI4Dij+Rb0p8glC2399lZrMUTspf+/Qz6bP6ev/Z2ZJDeugRBQeLcMdu5dg1CzIKf+x8n3IbSyu5w/ML9BGq6vXpViVVkZ73DYo1BipnUVpzZ+wVGk+JdhoBFD3wlZYm/rDMiMtKrtcYhvPrvp3EhM+vBbCkcAKY40mcVuQD8BhPe5za9vlqjTKHOUTOGLkI4RAiPF3kwjXwELyxuOIki5w== javier@agnes RSA-4096, 20170323" >> /home/jenkins/.ssh/authorized_keys
 sudo su -c "echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDH8swFWEfEfHhA+C5ezV8SXO/PkzGD1SH5VAQP/XDIrtnUocBZ3CE30lSyqYJI/EVKVqVa/ICQ0YpUwiMK6+3Jr9QQJwVyTmPji2nY3InL+1XAucN6HFJGKY9bYSsNOuKooj22GwBWw3gfJNLg/8qtpVykEq1yRpyh6pGsXT+J5nUZ723vZZTh//sxdN4CM8D8zoDgHc4RbL+zvESnCDrDbtMhg2u1h14RWiFOBAnzYuWcgtVDy2HA9iS0hJFB2UOV50byXLrEetxJ84PTwRsV2irq1y63g58VxwYOUrVZ08MY5qFvHExBjPqeqhRMzE7GufWM5F1CcUuGviOGFWfqMnfG4VOirPkFtRoK2oKRxH+NVPoUXWWxItJQ1dZ9hLDDWgAbxAvLS4Nnl2hvOVAbC7RVpXfoAhIPpL48oS1UprbsZIMxk2ZmRSJB1ykD3aLUvoO4zoD6xADt8uLiPvVYgFWUy1doLxHZqdY1Omc91owgQVPKvQ4vhqsJehQl4ZDS+O+8S7aC5m8sQ/V+NqiiXLH22vN58K7qNrkHWdb1n+rhilMbA5zp3cSKBgwmmNdupyPkJOKvf3IS7i4El+c8RFmRQv4FzGrdjGXAP8LPtt1dWPgHTFYjmrkOHLmfWM/y8cuyPWW/HEp3Y/msPQRlS3Gymce//vAWgN4T9yN46w== lucas@notebook" >> /home/jenkins/.ssh/authorized_keys
 
-echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee /etc/apt/sources.list.d/buster-backports.list
-
 # Install a few dependency packages
-sudo su -c "apt-get update"
-sudo su -c "DEBIAN_FRONTEND=noninteractive apt install -y git netcat default-jdk"
+# First, let's figure out the OS we're working on
+OS_ID=$(grep ^ID= /etc/os-release |cut -f 2 -d \" | cut -f 2 -d = )
+echo "Detected distro: ${OS_ID}"
+
+case ${OS_ID} in
+  centos)
+    PREINSTALL_CMD="/bin/true"
+    INSTALL_CMD="yum install -y"
+    POSTINSTALL_CMD="/bin/true"
+    PKGS="git nmap-ncat java-11-openjdk"
+    ;;
+  debian|ubuntu)
+    if [ ${OS_ID} = "debian" ]; then
+      echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee /etc/apt/sources.list.d/buster-backports.list
+    fi
+    PREINSTALL_CMD="DEBIAN_FRONTEND=noninteractive apt-get update"
+    INSTALL_CMD="DEBIAN_FRONTEND=noninteractive apt-get install -y"
+    POSTINSTALL_CMD="DEBIAN_FRONTEND=noninteractive apt-get purge --autoremove -y"
+    # SUFFIX packages with - to remove them
+    # Remove unattended-upgrades so that it doesn't interfere with our nodes at startup
+    PKGS="git netcat-traditional default-jdk unattended-upgrades-"
+    ;;
+esac
+
+sudo su -c "${PREINSTALL_CMD}"
+sudo su -c "${INSTALL_CMD} ${PKGS}"
+sudo su -c "${POSTINSTALL_CMD}"
 
 # create a reference repository (bare git repo)
 # jenkins will use this to speed up the checkout for each job
 cd /usr/src
-sudo git clone --mirror https://git.arvados.org/arvados.git
+sudo git clone --mirror git://git.arvados.org/arvados.git
 sudo chown jenkins:jenkins arvados.git -R
 
 # Jenkins will use this script to determine when the node is ready for use