@@ -67,9 +67,7 @@ apt_get_update()
6767 if [ " $( find /var/lib/apt/lists/* | wc -l) " = " 0" ]; then
6868 echo " Running apt-get update..."
6969 apt-get update -y
70- apt-get install -y gnupg curl
71- apt-get -y install --no-install-recommends " $@ "
72- fi
70+ fi
7371 fi
7472}
7573
@@ -80,6 +78,7 @@ check_packages() {
8078 if ! dpkg -s " $@ " > /dev/null 2>&1 ; then
8179 apt_get_update
8280 apt-get -y install --no-install-recommends " $@ "
81+ apt-get install -y gnupg curl
8382 fi
8483elif [ " $ID " = " fedora" ] || [ " $ID " = " centos" ] || [ " $ID_LIKE " == " rhel" ]; then
8584 if ! dnf list installed " $@ " > /dev/null 2>&1 ; then
@@ -88,10 +87,13 @@ elif [ "$ID" = "fedora" ] || [ "$ID" = "centos" ] || [ "$ID_LIKE" == "rhel" ]; t
8887fi
8988
9089}
91- # Install dependencies for fedora
92- if ! command -v git wget which& > /dev/null; then
93- echo " packages not found. Installing..."
94- dnf install -y git wget which curl jq
90+ # Install dependencies for both fedora and ubuntu
91+ missing=0; for cmd in git wget which; do command -v $cmd & > /dev/null || { echo " $cmd not found" ; missing=1; }; done ; \
92+ if [ $missing -eq 1 ]; then \
93+ echo " Installing missing packages..." ; \
94+ if command -v dnf & > /dev/null; then dnf install -y git wget which curl jq; \
95+ elif command -v apt & > /dev/null; then apt-get update && apt-get install -y git wget curl jq; \
96+ else echo " Unsupported package manager" ; exit 1; fi ; \
9597fi
9698
9799# Figure out correct version of a three part version number is not passed
258260
259261# Set up the necessary apt repos (either Microsoft's or Docker's)
260262if [ " $ID " = " ubuntu" ] || [ " $ID " = " debian" ]; then
261- if [ " ${USE_MOBY} " = " true" ]; then
262-
263- # Name of open source engine/cli
264- engine_package_name=" moby-engine"
265- cli_package_name=" moby-cli"
263+ if [ " ${USE_MOBY} " = " true" ]; then
264+
265+ # Name of open source engine/cli
266+ engine_package_name=" moby-engine"
267+ cli_package_name=" moby-cli"
266268
267- # Import key safely and import Microsoft apt repo
268- curl -sSL ${MICROSOFT_GPG_KEYS_URI} | gpg --dearmor > /usr/share/keyrings/microsoft-archive-keyring.gpg
269- echo " deb [arch=${architecture} signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/repos/microsoft-${ID} -${VERSION_CODENAME} -prod ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/microsoft.list
270- else
271- # Name of licensed engine/cli
272- engine_package_name=" docker-ce"
273- cli_package_name=" docker-ce-cli"
269+ # Import key safely and import Microsoft apt repo
270+ curl -sSL ${MICROSOFT_GPG_KEYS_URI} | gpg --dearmor > /usr/share/keyrings/microsoft-archive-keyring.gpg
271+ echo " deb [arch=${architecture} signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/repos/microsoft-${ID} -${VERSION_CODENAME} -prod ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/microsoft.list
272+ else
273+ # Name of licensed engine/cli
274+ engine_package_name=" docker-ce"
275+ cli_package_name=" docker-ce-cli"
274276
275- # Import key safely and import Docker apt repo
276- curl -fsSL https://download.docker.com/linux/${ID} /gpg | gpg --dearmor > /usr/share/keyrings/docker-archive-keyring.gpg
277- echo " deb [arch=$( dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/${ID} ${VERSION_CODENAME} stable" > /etc/apt/sources.list.d/docker.list
278- fi
277+ # Import key safely and import Docker apt repo
278+ curl -fsSL https://download.docker.com/linux/${ID} /gpg | gpg --dearmor > /usr/share/keyrings/docker-archive-keyring.gpg
279+ echo " deb [arch=$( dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/${ID} ${VERSION_CODENAME} stable" > /etc/apt/sources.list.d/docker.list
280+ fi
279281
280- # Refresh apt lists
281- apt-get update
282+ # Refresh apt lists
283+ apt-get update
282284fi
283285# Soft version matching
284286if [ " ${DOCKER_VERSION} " = " latest" ] || [ " ${DOCKER_VERSION} " = " lts" ] || [ " ${DOCKER_VERSION} " = " stable" ]; then
0 commit comments