fix: use sysroot with glibc-2.17 [skip ci]
This commit is contained in:
parent
9fae90974b
commit
ad4d2c612d
5 changed files with 148 additions and 107 deletions
90
.github/workflows/insider-linux.yml
vendored
90
.github/workflows/insider-linux.yml
vendored
|
@ -30,85 +30,10 @@ env:
|
|||
VSCODE_QUALITY: insider
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
outputs:
|
||||
MS_COMMIT: ${{ env.MS_COMMIT }}
|
||||
MS_TAG: ${{ env.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Clone VSCode repo
|
||||
env:
|
||||
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
dependencies:
|
||||
needs:
|
||||
- check
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-x64
|
||||
# - vscode_arch: arm64
|
||||
# image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
if: matrix.vscode_arch == 'arm64' || matrix.vscode_arch == 'ppc64le'
|
||||
|
||||
- name: Install remote dependencies
|
||||
run: ./install_remote_dependencies.sh
|
||||
|
||||
- name: Save remote dependencies
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: remote-dependencies-${{ matrix.vscode_arch }}
|
||||
path: ./remote-dependencies.tar
|
||||
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
|
||||
|
||||
build:
|
||||
needs:
|
||||
- check
|
||||
- dependencies
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DISABLE_UPDATE: 'yes'
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
|
@ -130,10 +55,11 @@ jobs:
|
|||
env:
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
outputs:
|
||||
MS_COMMIT: ${{ env.MS_COMMIT }}
|
||||
MS_TAG: ${{ env.MS_TAG }}
|
||||
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
||||
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || needs.check.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
@ -143,8 +69,14 @@ jobs:
|
|||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check PR or cron
|
||||
env:
|
||||
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
|
||||
run: ./check_cron_or_pr.sh
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
|
@ -152,12 +84,6 @@ jobs:
|
|||
run: ./check_tags.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Restore remote dependencies
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: remote-dependencies-${{ matrix.vscode_arch }}
|
||||
if: env.SHOULD_BUILD == 'yes' && matrix.vscode_arch == 'x64'
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
@ -23,28 +23,61 @@ index adbe2d2..dfc3bd7 100644
|
|||
+target "16.20.2"
|
||||
ms_build_id "252256"
|
||||
diff --git a/remote/package.json b/remote/package.json
|
||||
index b1fbc7b..87716c0 100644
|
||||
index b1fbc7b..a49694c 100644
|
||||
--- a/remote/package.json
|
||||
+++ b/remote/package.json
|
||||
@@ -11,3 +11,3 @@
|
||||
"@vscode/ripgrep": "^1.15.9",
|
||||
- "@vscode/spdlog": "^0.14.0",
|
||||
+ "@vscode/spdlog": "0.13.11",
|
||||
"@vscode/vscode-languagedetection": "1.0.21",
|
||||
@@ -31,3 +31,3 @@
|
||||
"native-watchdog": "^1.4.1",
|
||||
- "node-pty": "1.1.0-beta5",
|
||||
+ "node-pty": "1.1.0-beta4",
|
||||
+ "node-pty": "1.1.0-beta1",
|
||||
"tas-client-umd": "0.1.8",
|
||||
diff --git a/remote/yarn.lock b/remote/yarn.lock
|
||||
index bb20531..8f7c051 100644
|
||||
index bb20531..64c480a 100644
|
||||
--- a/remote/yarn.lock
|
||||
+++ b/remote/yarn.lock
|
||||
@@ -433,6 +433,6 @@ node-gyp-build@^4.3.0:
|
||||
@@ -83,9 +83,9 @@
|
||||
|
||||
-"@vscode/spdlog@^0.14.0":
|
||||
- version "0.14.0"
|
||||
- resolved "https://registry.yarnpkg.com/@vscode/spdlog/-/spdlog-0.14.0.tgz#3cdf589ca59b9ce792ef58b5f773e29a732a360f"
|
||||
- integrity sha512-mpblZa3v6AGEJC1qTwIkpgTc6NItdiiuTxufGxr6XD14srXCvVAUXFIYNqszxC6RY57qDQMX1d9Wd4/oZDxuUQ==
|
||||
+"@vscode/spdlog@0.13.11":
|
||||
+ version "0.13.11"
|
||||
+ resolved "https://registry.npmjs.org/@vscode/spdlog/-/spdlog-0.13.11.tgz#1c65c3527dd8e9679ada7f427c4d9e4af2ea097a"
|
||||
+ integrity sha512-4qk6G3XKTJNsrqsGwmo9lr8NPaH84WeLsoFVPrpvoEC1t1tFu7H6l4RRMgzKNeE92nwRbjejLv1nATJNoabRfA==
|
||||
dependencies:
|
||||
bindings "^1.5.0"
|
||||
- mkdirp "^1.0.4"
|
||||
+ mkdirp "^0.5.5"
|
||||
nan "^2.17.0"
|
||||
@@ -381,6 +381,8 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
|
||||
|
||||
-mkdirp@^1.0.4:
|
||||
- version "1.0.4"
|
||||
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
|
||||
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
|
||||
+mkdirp@^0.5.5:
|
||||
+ version "0.5.6"
|
||||
+ resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
|
||||
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
|
||||
+ dependencies:
|
||||
+ minimist "^1.2.6"
|
||||
|
||||
@@ -433,6 +435,6 @@ node-gyp-build@^4.3.0:
|
||||
|
||||
-node-pty@1.1.0-beta5:
|
||||
- version "1.1.0-beta5"
|
||||
- resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-1.1.0-beta5.tgz#364386b7058a93070234064f13164ec1ef914993"
|
||||
- integrity sha512-j3QdgFHnLY0JWxztrvM3g67RaQLOGvytv+C6mFu0PqD+JILlzqfwuoyqRqVxdZZjoOTUXPfSRj1qPVCaCH+eOw==
|
||||
+node-pty@1.1.0-beta4:
|
||||
+ version "1.1.0-beta4"
|
||||
+ resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-1.1.0-beta4.tgz#ee74d909c9f422ffc7f675e1092529673f8906ec"
|
||||
+ integrity sha512-CgffN9AxVtH4g7vDxtanm2qaR7jw3oet9r+ArzziGiFvmds9SdR3gXkZF0fqZWSxhTHZusJWvsuKvRv+5O2K8A==
|
||||
+node-pty@1.1.0-beta1:
|
||||
+ version "1.1.0-beta1"
|
||||
+ resolved "https://registry.npmjs.org/node-pty/-/node-pty-1.1.0-beta1.tgz#95d4baf406c043b78042f951b325e9713df2beac"
|
||||
+ integrity sha512-h+1E/gX/brFqsp3yZKGERHOhdo1POG1rrsI+8tEuocqdEddHd029471gq8KOuiHKicd52h2pSU8Gtqb3Vo2PfQ==
|
||||
dependencies:
|
||||
diff --git a/resources/server/bin/code-server-linux.sh b/resources/server/bin/code-server-linux.sh
|
||||
index e3d96bd..3df32df 100644
|
||||
|
|
68
patches/linux/sysroot.patch
Normal file
68
patches/linux/sysroot.patch
Normal file
|
@ -0,0 +1,68 @@
|
|||
diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt
|
||||
index 86da04d..0b5f38c 100644
|
||||
--- a/build/checksums/vscode-sysroot.txt
|
||||
+++ b/build/checksums/vscode-sysroot.txt
|
||||
@@ -1,3 +1,6 @@
|
||||
-a2d51dc505ed544c52757f90bcdab44920132295fc7a67166eff86b6e0e24aa8 aarch64-linux-gnu.tar.gz
|
||||
-032cf16bf8b965e1351305f10f3dedabf4f9868027ac6d0e8f52321ca0b70d4a arm-rpi-linux-gnueabihf.tar.gz
|
||||
-360475a764d0faf4d3743aa866347eff78072639d20660def83e1a03eadf534c x86_64-linux-gnu.tar.gz
|
||||
+68a17006021975ff271a1dd615f9db9eda7c25f2cc65e750c87980dc57a06c94 aarch64-linux-gnu-glibc-2.17.tar.gz
|
||||
+0de422a81683cf9e8cf875dbd1e0c27545ac3c775b2d53015daf3ca2b31d3f15 aarch64-linux-gnu-glibc-2.28.tar.gz
|
||||
+3ced48cb479f2cdba95aa649710fcb7778685551c745bbd76ac706c3c0ead9fb arm-rpi-linux-gnueabihf-glibc-2.17.tar.gz
|
||||
+7aea163f7fad8cc50000c86b5108be880121d35e2f55d016ef8c96bbe54129eb arm-rpi-linux-gnueabihf-glibc-2.28.tar.gz
|
||||
+5aae21115f1d284c3cdf32c83db15771b59bc80793f1423032abf5a823c0d658 x86_64-linux-gnu-glibc-2.17.tar.gz
|
||||
+dbb927408393041664a020661f2641c9785741be3d29b050b9dac58980967784 x86_64-linux-gnu-glibc-2.28.tar.gz
|
||||
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
|
||||
index 40ca42e..d637fce 100644
|
||||
--- a/build/linux/debian/install-sysroot.js
|
||||
+++ b/build/linux/debian/install-sysroot.js
|
||||
@@ -69,3 +69,3 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
|
||||
const timeout = setTimeout(() => controller.abort(), 30 * 1000);
|
||||
- const version = '20231122-245579';
|
||||
+ const version = '20240129-253798';
|
||||
try {
|
||||
@@ -121,5 +121,6 @@ async function getVSCodeSysroot(arch) {
|
||||
let triple;
|
||||
+ const prefix = process.env['VSCODE_SYSROOT_PREFIX'] ?? '-glibc-2.28';
|
||||
switch (arch) {
|
||||
case 'amd64':
|
||||
- expectedName = `x86_64-linux-gnu.tar.gz`;
|
||||
+ expectedName = `x86_64-linux-gnu${prefix}.tar.gz`;
|
||||
triple = 'x86_64-linux-gnu';
|
||||
@@ -127,3 +128,3 @@ async function getVSCodeSysroot(arch) {
|
||||
case 'arm64':
|
||||
- expectedName = `aarch64-linux-gnu.tar.gz`;
|
||||
+ expectedName = `aarch64-linux-gnu${prefix}.tar.gz`;
|
||||
triple = 'aarch64-linux-gnu';
|
||||
@@ -131,3 +132,3 @@ async function getVSCodeSysroot(arch) {
|
||||
case 'armhf':
|
||||
- expectedName = `arm-rpi-linux-gnueabihf.tar.gz`;
|
||||
+ expectedName = `arm-rpi-linux-gnueabihf${prefix}.tar.gz`;
|
||||
triple = 'arm-rpi-linux-gnueabihf';
|
||||
@@ -135,2 +136,3 @@ async function getVSCodeSysroot(arch) {
|
||||
}
|
||||
+ console.log(`Fetching ${expectedName} for ${triple}`);
|
||||
const checksumSha256 = getVSCodeSysrootChecksum(expectedName);
|
||||
diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js
|
||||
index e824f19..b9a6e80 100644
|
||||
--- a/build/linux/rpm/dep-lists.js
|
||||
+++ b/build/linux/rpm/dep-lists.js
|
||||
@@ -44,6 +44,3 @@ exports.referenceGeneratedDepsByArch = {
|
||||
'libc.so.6(GLIBC_2.17)(64bit)',
|
||||
- 'libc.so.6(GLIBC_2.18)(64bit)',
|
||||
'libc.so.6(GLIBC_2.2.5)(64bit)',
|
||||
- 'libc.so.6(GLIBC_2.25)(64bit)',
|
||||
- 'libc.so.6(GLIBC_2.27)(64bit)',
|
||||
'libc.so.6(GLIBC_2.28)(64bit)',
|
||||
@@ -143,5 +140,2 @@ exports.referenceGeneratedDepsByArch = {
|
||||
'libc.so.6(GLIBC_2.17)',
|
||||
- 'libc.so.6(GLIBC_2.18)',
|
||||
- 'libc.so.6(GLIBC_2.25)',
|
||||
- 'libc.so.6(GLIBC_2.27)',
|
||||
'libc.so.6(GLIBC_2.28)',
|
||||
@@ -247,5 +241,2 @@ exports.referenceGeneratedDepsByArch = {
|
||||
'libc.so.6(GLIBC_2.17)(64bit)',
|
||||
- 'libc.so.6(GLIBC_2.18)(64bit)',
|
||||
- 'libc.so.6(GLIBC_2.25)(64bit)',
|
||||
- 'libc.so.6(GLIBC_2.27)(64bit)',
|
||||
'libc.so.6(GLIBC_2.28)(64bit)',
|
|
@ -141,6 +141,10 @@ else
|
|||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
. ./stores/snapcraft/build.sh
|
||||
|
||||
if [[ "${SKIP_ASSETS}" == "no" ]]; then
|
||||
mv stores/snapcraft/build/*.snap assets/
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_TAR}" != "no" ]]; then
|
||||
|
|
|
@ -77,30 +77,40 @@ if [[ "${OS_NAME}" == "linux" ]]; then
|
|||
done
|
||||
fi
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ "${OS_NAME}" == "linux" ]]; then
|
||||
if [[ "${npm_config_arch}" == "arm" ]]; then
|
||||
export npm_config_arm_version=7
|
||||
fi
|
||||
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --check-files --network-timeout 180000
|
||||
|
||||
mkdir -p .build
|
||||
|
||||
export VSCODE_SYSROOT_PREFIX='-glibc-2.17'
|
||||
|
||||
./build/azure-pipelines/linux/install.sh
|
||||
elif [[ "${OS_NAME}" == "osx" ]]; then
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000
|
||||
|
||||
yarn postinstall
|
||||
else
|
||||
if [[ "${OS_NAME}" == "windows" ]]; then
|
||||
# TODO: Should be replaced with upstream URL once https://github.com/nodejs/node-gyp/pull/2825
|
||||
# gets merged.
|
||||
rm -rf .build/node-gyp
|
||||
mkdir -p .build/node-gyp
|
||||
cd .build/node-gyp
|
||||
# TODO: Should be replaced with upstream URL once https://github.com/nodejs/node-gyp/pull/2825
|
||||
# gets merged.
|
||||
rm -rf .build/node-gyp
|
||||
mkdir -p .build/node-gyp
|
||||
cd .build/node-gyp
|
||||
|
||||
git config --global user.email "$( echo "${GITHUB_USERNAME}" | awk '{print tolower($0)}' )-ci@not-real.com"
|
||||
git config --global user.name "${GITHUB_USERNAME} CI"
|
||||
git clone https://github.com/nodejs/node-gyp.git .
|
||||
git checkout v9.4.0
|
||||
git am --3way --whitespace=fix ../../build/npm/gyp/patches/gyp_spectre_mitigation_support.patch
|
||||
npm install
|
||||
git config --global user.email "$( echo "${GITHUB_USERNAME}" | awk '{print tolower($0)}' )-ci@not-real.com"
|
||||
git config --global user.name "${GITHUB_USERNAME} CI"
|
||||
git clone https://github.com/nodejs/node-gyp.git .
|
||||
git checkout v9.4.0
|
||||
git am --3way --whitespace=fix ../../build/npm/gyp/patches/gyp_spectre_mitigation_support.patch
|
||||
npm install
|
||||
|
||||
npm_config_node_gyp="$( pwd )/bin/node-gyp.js"
|
||||
export npm_config_node_gyp
|
||||
npm_config_node_gyp="$( pwd )/bin/node-gyp.js"
|
||||
export npm_config_node_gyp
|
||||
|
||||
cd ../..
|
||||
fi
|
||||
cd ../..
|
||||
|
||||
if [[ "${npm_config_arch}" == "arm" ]]; then
|
||||
export npm_config_arm_version=7
|
||||
|
|
Loading…
Reference in a new issue