@@ -25,21 +25,40 @@ title () { echo; echo $1; }
2525
2626title " - Setting Up Remote Benchmark Testing on ${HOST} -"
2727
28+ title " -- Waiting for APT to be Free --"
29+ BEGIN_SECS=$( date +%s)
30+ export DEBIAN_FRONTEND=noninteractive
31+ STATUS=0
32+ for i in {1..60}; do
33+ if ! sudo fuser /var/lib/dpkg/lock > /dev/null 2>&1 && ! sudo fuser /var/lib/apt/lists/lock > /dev/null 2>&1 \
34+ && ! sudo fuser /var/lib/apt/lists/lock-frontend > /dev/null 2>&1 ; then
35+ STATUS=1
36+ break
37+ fi
38+ sleep 10
39+ done
40+
41+ DURATION=$(( $(date +% s) - ${BEGIN_SECS} ))
42+ if [[ $STATUS -eq 0 ]]; then
43+ echo " Failed to gain APT lock ${ACTOR} after ${DURATION} seconds"
44+ exit 1
45+ fi
46+
2847title " -- Adding OS Applications --"
2948UPDATED=$( sudo update-alternatives --list java | grep -i temurin; echo $? )
3049if [[ ${UPDATED} != 0 ]]; then
3150 title " -- Adding Adoptium to APT registry --"
32- sudo apt -y install wget apt-transport-https gpg
51+ sudo apt-get -y install wget apt-transport-https gpg
3352 sudo wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
3453 echo " deb https://packages.adoptium.net/artifactory/deb $( awk -F= ' /^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
35- sudo apt -y update
54+ sudo apt-get -y update
3655fi
3756
3857title " -- Installing JVMs --"
39- sudo apt -y install temurin-17-jdk
58+ sudo apt-get -y install temurin-17-jdk
4059
4160title " -- Installing Maven --"
42- sudo apt -y install maven
61+ sudo apt-get -y install maven
4362
4463title " -- Installing Docker --"
4564command_exists () {
@@ -48,18 +67,17 @@ command_exists() {
4867if command_exists docker; then
4968 echo " Docker already installed... skipping"
5069else
51- sudo apt -y update
52- sudo apt -y install ca-certificates curl
70+ sudo apt-get -y update
71+ sudo apt-get -y install ca-certificates curl
5372 sudo install -m 0755 -d /etc/apt/keyrings
5473 sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
5574 sudo chmod a+r /etc/apt/keyrings/docker.asc
5675
5776 echo \
5877 " deb [arch=$( dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
59- $( . /etc/os-release && echo " $VERSION_CODENAME " ) stable" | \
60- sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
61- sudo apt -y update
62- sudo apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
78+ $( . /etc/os-release && echo " $VERSION_CODENAME " ) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
79+ sudo apt-get -y update
80+ sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6381 sudo usermod -aG docker ${USER}
6482 sudo systemctl restart docker
6583 exec sg docker bash
0 commit comments