Skip to content

Commit cf7d654

Browse files
authored
Merge branch 'main' into feature/pre-commit-hook_support_1138
2 parents 121bd75 + a69dd5c commit cf7d654

39 files changed

+603
-128
lines changed

src/desktop-lite/devcontainer-feature.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "desktop-lite",
3-
"version": "1.2.6",
3+
"version": "1.2.7",
44
"name": "Light-weight Desktop",
55
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/desktop-lite",
66
"description": "Adds a lightweight Fluxbox based desktop to the container that can be accessed using a VNC viewer or the web. GUI-based commands executed from the built-in VS code terminal will open on the desktop automatically.",
@@ -16,9 +16,9 @@
1616
"noVncVersion": {
1717
"type": "string",
1818
"proposals": [
19-
"1.2.0"
19+
"1.6.0"
2020
],
21-
"default": "1.2.0",
21+
"default": "1.6.0",
2222
"description": "The noVNC version to use"
2323
},
2424
"password": {

src/desktop-lite/install.sh

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/desktop-lite.md
88
# Maintainer: The VS Code and Codespaces Teams
99

10-
NOVNC_VERSION="${NOVNCVERSION:-"1.2.0"}" # TODO: Add in a 'latest' auto-detect and swap name to 'version'
10+
NOVNC_VERSION="${NOVNCVERSION:-"1.6.0"}" # TODO: Add in a 'latest' auto-detect and swap name to 'version'
1111
VNC_PASSWORD=${PASSWORD:-"vscode"}
1212
if [ "$VNC_PASSWORD" = "noPassword" ]; then
1313
unset VNC_PASSWORD
@@ -355,6 +355,13 @@ log()
355355
echo -e "[\$(date)] \$@" | sudoIf tee -a \$LOG > /dev/null
356356
}
357357
358+
# Function to compare versions
359+
version_gt() {
360+
# returns 0 if \$1 > \$2
361+
[ "\$(printf '%s\n' "\$2" "\$1" | sort -V | head -n1)" != "\$1" ]
362+
}
363+
364+
358365
log "** SCRIPT START **"
359366
360367
# Start dbus.
@@ -386,11 +393,20 @@ else
386393
fi
387394
388395
# Spin up noVNC if installed and not running.
389-
if [ -d "/usr/local/novnc" ] && [ "\$(ps -ef | grep /usr/local/novnc/noVNC*/utils/launch.sh | grep -v grep)" = "" ]; then
390-
keepRunningInBackground "noVNC" sudoIf "/usr/local/novnc/noVNC*/utils/launch.sh --listen ${NOVNC_PORT} --vnc localhost:${VNC_PORT}"
391-
log "noVNC started."
396+
if [ -d "/usr/local/novnc" ]; then
397+
if [ "\$(ps -ef | grep /usr/local/novnc/noVNC*/utils/launch.sh | grep -v grep)" = "" ] && [ "\$(ps -ef | grep /usr/local/novnc/noVNC*/utils/novnc_proxy | grep -v grep)" = "" ]; then
398+
if version_gt "${NOVNC_VERSION}" "1.2.0"; then
399+
keepRunningInBackground "noVNC" sudoIf "/usr/local/novnc/noVNC*/utils/novnc_proxy --listen ${NOVNC_PORT} --vnc localhost:${VNC_PORT}"
400+
log "noVNC started with novnc_proxy."
401+
else
402+
keepRunningInBackground "noVNC" sudoIf "/usr/local/novnc/noVNC*/utils/launch.sh --listen ${NOVNC_PORT} --vnc localhost:${VNC_PORT}"
403+
log "noVNC started with launch.sh."
404+
fi
405+
else
406+
log "noVNC is already running."
407+
fi
392408
else
393-
log "noVNC is already running or not installed."
409+
log "noVNC is not installed."
394410
fi
395411
396412
# Run whatever was passed in

src/git/install.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,12 @@ elif [ "${ADJUSTED_ID}" = "rhel" ]; then
270270
if ! type curl > /dev/null 2>&1; then
271271
check_packages curl
272272
fi
273+
if ! type cmp > /dev/null 2>&1; then
274+
check_packages diffutils
275+
fi
276+
if ! type awk > /dev/null 2>&1; then
277+
check_packages gawk
278+
fi
273279
if [ $ID = "mariner" ]; then
274280
check_packages glibc-devel kernel-headers binutils
275281
fi

src/nvidia-cuda/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Installs shared libraries for NVIDIA CUDA.
77

88
```json
99
"features": {
10-
"ghcr.io/devcontainers/features/nvidia-cuda:1": {}
10+
"ghcr.io/devcontainers/features/nvidia-cuda:2": {}
1111
}
1212
```
1313

src/nvidia-cuda/devcontainer-feature.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "nvidia-cuda",
3-
"version": "1.2.1",
3+
"version": "2.0.0",
44
"name": "NVIDIA CUDA",
55
"description": "Installs shared libraries for NVIDIA CUDA.",
66
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/nvidia-cuda",

src/nvidia-cuda/install.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ check_packages wget ca-certificates
4646

4747
# Add NVIDIA's package repository to apt so that we can download packages
4848
# Always use the ubuntu2004 repo because the other repos (e.g., debian11) are missing packages
49-
NVIDIA_REPO_URL="https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64"
49+
# Updating the repo to ubuntu2204 as ubuntu 20.04 is going out of support.
50+
NVIDIA_REPO_URL="https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64"
5051
KEYRING_PACKAGE="cuda-keyring_1.0-1_all.deb"
5152
KEYRING_PACKAGE_URL="$NVIDIA_REPO_URL/$KEYRING_PACKAGE"
5253
KEYRING_PACKAGE_PATH="$(mktemp -d)"

src/rust/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ Installs Rust, common Rust utilities, and their required dependencies
3131

3232
## OS Support
3333

34-
This Feature should work on recent versions of Debian/Ubuntu-based distributions with the `apt` package manager installed.
34+
This Feature should work on recent versions of Debian/Ubuntu, RedHat Enterprise Linux, Fedora, Alma, RockyLinux
35+
and Mariner distributions with the `apt`, `yum`, `dnf`, `microdnf` and `tdnf` package manager installed.
36+
37+
38+
**Note:** Alpine is not supported because the rustup-init binary requires glibc to run, but Alpine Linux does not include `glibc`
39+
by default. Instead, it uses musl libc, which is not binary-compatible with glibc.
3540

3641
`bash` is required to execute the `install.sh` script.
3742

src/rust/devcontainer-feature.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "rust",
3-
"version": "1.3.3",
3+
"version": "1.4.0",
44
"name": "Rust",
55
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/rust",
66
"description": "Installs Rust, common Rust utilities, and their required dependencies",

0 commit comments

Comments
 (0)