Skip to content

Commit 0392ea9

Browse files
Merge branch 'main' into azure_linux_did
2 parents e01bd58 + 31f99a0 commit 0392ea9

File tree

3 files changed

+37
-21
lines changed

3 files changed

+37
-21
lines changed

src/common-utils/devcontainer-feature.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "common-utils",
3-
"version": "2.5.4",
3+
"version": "2.5.5",
44
"name": "Common Utilities",
55
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/common-utils",
66
"description": "Installs a set of common command line utilities, Oh My Zsh!, and sets up a non-root user.",
@@ -64,6 +64,11 @@
6464
"type": "boolean",
6565
"default": false,
6666
"description": "Add packages from non-free Debian repository? (Debian only)"
67+
},
68+
"installSsl": {
69+
"type": "boolean",
70+
"default": true,
71+
"description": "Install SSL?"
6772
}
6873
}
6974
}

src/common-utils/install.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ USERNAME="${USERNAME:-"automatic"}"
1818
USER_UID="${UID:-"automatic"}"
1919
USER_GID="${GID:-"automatic"}"
2020
ADD_NON_FREE_PACKAGES="${NONFREEPACKAGES:-"false"}"
21+
INSTALL_SSL="${INSTALLSSL:-"true"}"
2122

2223
MARKER_FILE="/usr/local/etc/vscode-dev-containers/common"
2324

src/common-utils/main.sh

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ USERNAME="${USERNAME:-"automatic"}"
1818
USER_UID="${USERUID:-"automatic"}"
1919
USER_GID="${USERGID:-"automatic"}"
2020
ADD_NON_FREE_PACKAGES="${NONFREEPACKAGES:-"false"}"
21+
INSTALL_SSL="${INSTALLSSL:-"true"}"
2122

2223
MARKER_FILE="/usr/local/etc/vscode-dev-containers/common"
2324

@@ -75,25 +76,27 @@ install_debian_packages() {
7576
manpages-dev \
7677
init-system-helpers"
7778

78-
# Include libssl1.1 if available
79-
if [[ ! -z $(apt-cache --names-only search ^libssl1.1$) ]]; then
80-
package_list="${package_list} libssl1.1"
81-
fi
79+
if [ "${INSTALL_SSL}" = "true" ]; then
80+
# Include libssl1.1 if available
81+
if [[ ! -z $(apt-cache --names-only search ^libssl1.1$) ]]; then
82+
package_list="${package_list} libssl1.1"
83+
fi
8284

83-
# Include libssl3 if available
84-
if [[ ! -z $(apt-cache --names-only search ^libssl3$) ]]; then
85-
package_list="${package_list} libssl3"
86-
fi
85+
# Include libssl3 if available
86+
if [[ ! -z $(apt-cache --names-only search ^libssl3$) ]]; then
87+
package_list="${package_list} libssl3"
88+
fi
8789

88-
# Include appropriate version of libssl1.0.x if available
89-
local libssl_package=$(dpkg-query -f '${db:Status-Abbrev}\t${binary:Package}\n' -W 'libssl1\.0\.?' 2>&1 || echo '')
90-
if [ "$(echo "$libssl_package" | grep -o 'libssl1\.0\.[0-9]:' | uniq | sort | wc -l)" -eq 0 ]; then
91-
if [[ ! -z $(apt-cache --names-only search ^libssl1.0.2$) ]]; then
92-
# Debian 9
93-
package_list="${package_list} libssl1.0.2"
94-
elif [[ ! -z $(apt-cache --names-only search ^libssl1.0.0$) ]]; then
95-
# Ubuntu 18.04
96-
package_list="${package_list} libssl1.0.0"
90+
# Include appropriate version of libssl1.0.x if available
91+
local libssl_package=$(dpkg-query -f '${db:Status-Abbrev}\t${binary:Package}\n' -W 'libssl1\.0\.?' 2>&1 || echo '')
92+
if [ "$(echo "$libssl_package" | grep -o 'libssl1\.0\.[0-9]:' | uniq | sort | wc -l)" -eq 0 ]; then
93+
if [[ ! -z $(apt-cache --names-only search ^libssl1.0.2$) ]]; then
94+
# Debian 9
95+
package_list="${package_list} libssl1.0.2"
96+
elif [[ ! -z $(apt-cache --names-only search ^libssl1.0.0$) ]]; then
97+
# Ubuntu 18.04
98+
package_list="${package_list} libssl1.0.0"
99+
fi
97100
fi
98101
fi
99102

@@ -172,7 +175,7 @@ install_redhat_packages() {
172175
else
173176
echo "Unable to find 'tdnf', 'dnf', or 'yum' package manager. Exiting."
174177
exit 1
175-
fi
178+
fi
176179

177180
if [ "${PACKAGES_ALREADY_INSTALLED}" != "true" ]; then
178181
package_list="${package_list} \
@@ -228,7 +231,7 @@ fi
228231
fi
229232

230233
# Install EPEL repository if needed (required to install 'jq' for CentOS)
231-
if ! ${install_cmd} -q list jq >/dev/null 2>&1; then
234+
if [[ "${ID}" = "centos" ]] && ! rpm -q jq >/dev/null 2>&1; then
232235
${install_cmd} -y install epel-release
233236
remove_epel="true"
234237
fi
@@ -240,11 +243,18 @@ fi
240243
fi
241244

242245
if [ -n "${package_list}" ]; then
243-
${install_cmd} -y install ${package_list}
246+
echo "Packages to verify are installed: ${package_list}"
247+
echo "Running ${install_cmd} install..."
248+
if [ "${install_cmd}" = "dnf" ]; then
249+
${install_cmd} -y install --allowerasing ${package_list}
250+
else
251+
${install_cmd} -y install ${package_list}
252+
fi
244253
fi
245254

246255
# Get to latest versions of all packages
247256
if [ "${UPGRADE_PACKAGES}" = "true" ]; then
257+
echo "Running ${install_cmd} upgrade..."
248258
${install_cmd} upgrade -y
249259
fi
250260

0 commit comments

Comments
 (0)