|
@@ -0,0 +1,22 @@
|
|
|
|
+diff --git a/build/npm/postinstall.js b/build/npm/postinstall.js
|
|
|
|
+index 72dd74f..0f70d8c 100644
|
|
|
|
+--- a/build/npm/postinstall.js
|
|
|
|
++++ b/build/npm/postinstall.js
|
|
|
|
+@@ -50,3 +50,3 @@ function yarnInstall(dir, opts) {
|
|
|
|
+
|
|
|
|
+- if (process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME'] && /^(.build\/distro\/npm\/)?remote$/.test(dir)) {
|
|
|
|
++ if (process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME']) {
|
|
|
|
+ const userinfo = os.userInfo();
|
|
|
|
+@@ -55,10 +55,6 @@ function yarnInstall(dir, opts) {
|
|
|
|
+ opts.cwd = root;
|
|
|
|
+- if (process.env['npm_config_arch'] === 'arm64' || process.env['npm_config_arch'] === 'arm') {
|
|
|
|
++ if (process.env['npm_config_arch'] === 'arm64' || process.env['npm_config_arch'] === 'arm' || process.env['npm_config_arch'] === 'ppc64') {
|
|
|
|
+ run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], opts);
|
|
|
|
+ }
|
|
|
|
+- if (process.env['npm_config_arch'] === 'arm') {
|
|
|
|
+- run('sudo', ['docker', 'run', '-e', 'GITHUB_TOKEN', '-e', 'npm_config_arch', '-v', `${process.env['VSCODE_HOST_MOUNT']}:/home/builduser`, '-v', `${process.env['VSCODE_HOST_MOUNT']}/.build/.netrc:/home/builduser/.netrc`, process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME'], 'yarn', '--cwd', dir, ...args], opts);
|
|
|
|
+- } else {
|
|
|
|
+- run('sudo', ['docker', 'run', '-e', 'GITHUB_TOKEN', '-e', 'npm_config_arch', '-v', `${process.env['VSCODE_HOST_MOUNT']}:/root/vscode`, '-v', `${process.env['VSCODE_HOST_MOUNT']}/.build/.netrc:/root/.netrc`, process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME'], 'yarn', '--cwd', dir, ...args], opts);
|
|
|
|
+- }
|
|
|
|
++ run('sudo', ['docker', 'run', '-e', 'GITHUB_TOKEN', '-e', 'npm_config_arch', '-v', `${process.env['VSCODE_HOST_MOUNT']}:/root/vscode`, '-v', `${process.env['VSCODE_HOST_MOUNT']}/.build/.netrc:/root/.netrc`, process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME'], 'yarn', '--cwd', dir, ...args], opts);
|
|
|
|
+ run('sudo', ['chown', '-R', `${userinfo.uid}:${userinfo.gid}`, `${dir}/node_modules`], opts);
|