Skip to content

Commit 6d338c2

Browse files
author
Tajudeen
committed
Fix setup-env.sh to respect --skip-sysroot flag and VSCODE_SKIP_SYSROOT env var
- Added check for --skip-sysroot argument and VSCODE_SKIP_SYSROOT environment variable - Prevents sysroot download for alternative architectures (ppc64le, riscv64, loong64) - Fixes error 'Could not find checksum for undefined' when building for unsupported architectures - Improves build compatibility with VSCodium Docker containers
1 parent b8fa7f5 commit 6d338c2

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

build/azure-pipelines/linux/setup-env.sh

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,25 @@ fi
99

1010
export VSCODE_CLIENT_SYSROOT_DIR=$PWD/.build/sysroots/glibc-2.28-gcc-10.5.0
1111
export VSCODE_REMOTE_SYSROOT_DIR=$PWD/.build/sysroots/glibc-2.28-gcc-8.5.0
12-
if [ -d "$VSCODE_CLIENT_SYSROOT_DIR" ]; then
13-
echo "Using cached client sysroot"
14-
else
15-
echo "Downloading client sysroot"
16-
SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_CLIENT_SYSROOT_DIR" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
17-
fi
1812

19-
if [ -d "$VSCODE_REMOTE_SYSROOT_DIR" ]; then
20-
echo "Using cached remote sysroot"
13+
# Check if we should skip sysroot download
14+
# This is needed for alternative architectures where sysroot is not available
15+
if [ "$1" != "--skip-sysroot" ] && [ "$VSCODE_SKIP_SYSROOT" != "1" ]; then
16+
if [ -d "$VSCODE_CLIENT_SYSROOT_DIR" ]; then
17+
echo "Using cached client sysroot"
18+
else
19+
echo "Downloading client sysroot"
20+
SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_CLIENT_SYSROOT_DIR" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
21+
fi
22+
23+
if [ -d "$VSCODE_REMOTE_SYSROOT_DIR" ]; then
24+
echo "Using cached remote sysroot"
25+
else
26+
echo "Downloading remote sysroot"
27+
SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" VSCODE_SYSROOT_PREFIX="-glibc-2.28-gcc-8.5.0" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
28+
fi
2129
else
22-
echo "Downloading remote sysroot"
23-
SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" VSCODE_SYSROOT_PREFIX="-glibc-2.28-gcc-8.5.0" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
30+
echo "Skipping sysroot download (VSCODE_SKIP_SYSROOT=1 or --skip-sysroot flag)"
2431
fi
2532

2633
if [ "$npm_config_arch" == "x64" ]; then

0 commit comments

Comments
 (0)