Skip to content

Commit 2f769b9

Browse files
changes as per review comments
1 parent c69dcf9 commit 2f769b9

1 file changed

Lines changed: 27 additions & 25 deletions

File tree

src/docker-in-docker/install.sh

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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
8483
elif [ "$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
8887
fi
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; \
9597
fi
9698

9799
# Figure out correct version of a three part version number is not passed
@@ -258,27 +260,27 @@ fi
258260

259261
# Set up the necessary apt repos (either Microsoft's or Docker's)
260262
if [ "$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
282284
fi
283285
# Soft version matching
284286
if [ "${DOCKER_VERSION}" = "latest" ] || [ "${DOCKER_VERSION}" = "lts" ] || [ "${DOCKER_VERSION}" = "stable" ]; then

0 commit comments

Comments
 (0)