Compare commits

...

29 Commits

Author SHA1 Message Date
Peter Squicciarini
e0c124d19e Update README.md 2020-12-14 17:21:25 -08:00
Peter Squicciarini
2b1a4ff693 Merge pull request #586 from stripedpajamas/fix-macos-build 2020-12-14 16:28:36 -08:00
Peter Squicciarini
05819c1f79 Update signing to use new path 2020-12-14 14:53:43 -08:00
Peter Squicciarini
4782bb2ead Update other places Darwin arch is mentioned 2020-12-14 14:22:48 -08:00
Peter Squicciarini
3909371fa4 Include arch in Darwin build task 2020-12-14 12:35:53 -08:00
Peter Squicciarini
16eb6e4c83 Merge pull request #578 from stripedpajamas/fix-action 2020-11-23 12:16:03 -08:00
Peter Squicciarini
bbf621e19f Remove set-env calls from mac action definition 2020-11-19 11:37:55 -08:00
Peter Squicciarini
47ca41068c Remove minor version spec from setup-node action 2020-11-19 11:30:46 -08:00
Peter Squicciarini
7ce133a5c4 Merge pull request #569 from proletarius101/no-replace-product-json
Don't replace product.json in RPM updates
2020-11-19 11:23:50 -08:00
Peter Squicciarini
3a593d2958 Merge pull request #568 from proletarius101/more-proposed-apis
Add more proposed APIs
2020-11-19 11:22:47 -08:00
Peter Squicciarini
e74de8ff37 Merge pull request #565 from binex-dsk/patch-1
update AUR maintainer
2020-11-19 10:43:41 -08:00
proletarius101
2d58d3bd1e Don't replace product.json in RPM updates 2020-11-15 15:45:03 +08:00
proletarius101
90ee5b2d41 Add more proposed APIs 2020-11-15 14:59:00 +08:00
binex
5b825c8bf7 fix the AUR maintainer
narcissism at its finest :)
2020-11-14 04:31:41 -05:00
Peter Squicciarini
bfb4be2930 Merge pull request #553 from tywmick/more-microsoft-replacements
Document more Microsoft online service replacements in "Getting all the Telemetry Out"
2020-10-30 18:30:32 -07:00
Ty Mick
dfb373330c Rearrange section title 2020-10-29 19:03:45 -05:00
Ty Mick
8b978a5a6f Improve code block formatting 2020-10-29 14:38:14 -05:00
Ty Mick
679a8d97b6 Document more Microsoft online service replacements 2020-10-29 14:37:46 -05:00
Peter Squicciarini
e13b9f35ad Merge pull request #543 from weakish/typo
Fix a typo in DOCS
2020-10-26 13:25:26 -07:00
Jang Rush
30d6dfd70a Fix a typo in DOCS 2020-10-24 20:58:39 +08:00
Peter Squicciarini
fa7f150521 Merge pull request #539 from cedricroijakkers/master 2020-10-22 17:29:46 -07:00
Peter Squicciarini
6edd4e85a9 Merge pull request #540 from tywmick/update-api-note
Add note about VSCodium update API to "Getting all the Telemetry Out"
2020-10-22 13:48:23 -07:00
Ty Mick
86e4055bfe Add note about update API to DOCS.md
Also added a comma after "For example" where appropriate.
2020-10-22 14:36:05 -05:00
Cedric Roijakkers
090cf497e2 Added documentation and environment variable SKIP_LINUX_PACKAGES that skips package building since this is not needed in the AUR build. 2020-10-22 14:52:44 +02:00
Peter Squicciarini
5ffd1aa4b0 Merge pull request #536 from ferion11/bugfix
bugfix AppImage creation
2020-10-16 21:21:22 -07:00
DanielDevBR
f9c7df01ad bugfix AppImage creation 2020-10-16 22:20:13 -03:00
Peter Squicciarini
a9b505f228 Merge pull request #531 from stripedpajamas/fix-arm
Fix armhf and x64
2020-10-09 10:05:49 -07:00
Peter Squicciarini
3c5eb104f9 Disable AppImage creation since it isn't working in Docker container 2020-10-08 21:29:50 -07:00
Peter Squicciarini
c478ef85c2 Rename arm to armhf and re-enable RPMs 2020-10-08 19:45:03 -07:00
10 changed files with 49 additions and 40 deletions

View File

@@ -19,7 +19,7 @@ jobs:
strategy:
fail-fast: false
matrix:
vscode_arch: [x64, arm64, arm]
vscode_arch: [x64, arm64, armhf]
include:
- vscode_arch: x64
npm_arch: x64
@@ -27,7 +27,7 @@ jobs:
- vscode_arch: arm64
npm_arch: arm64
image: vscodium/vscodium-linux-build-agent:buster-arm64
- vscode_arch: arm
- vscode_arch: armhf
npm_arch: armv7l
image: vscodium/vscodium-linux-build-agent:buster-armhf
@@ -35,7 +35,7 @@ jobs:
- uses: actions/checkout@v2
- name: Setup Node.js environment
uses: actions/setup-node@v1.4.3
uses: actions/setup-node@v1
with:
node-version: 12.14.1

View File

@@ -12,26 +12,24 @@ jobs:
runs-on: macOS-latest
env:
OS_NAME: "osx"
VSCODE_ARCH: "x64"
steps:
- uses: actions/checkout@v2
- name: Setup Node.js environment
uses: actions/setup-node@v1.4.3
uses: actions/setup-node@v1
with:
node-version: 12.14.1
- name: Clone VSCode repo
run: |
. get_repo.sh
echo "::set-env name=LATEST_MS_TAG::$LATEST_MS_TAG"
echo "::set-env name=LATEST_MS_COMMIT::$LATEST_MS_COMMIT"
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
. check_tags.sh
echo "::set-env name=SHOULD_BUILD::$SHOULD_BUILD"
- name: Build
env:
@@ -46,8 +44,8 @@ jobs:
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
if: env.SHOULD_BUILD == 'yes'
run: |
if [ -d "VSCode-darwin" ]; then # just in case the build failed
cd VSCode-darwin
if [ -d "VSCode-darwin-${VSCODE_ARCH}" ]; then # just in case the build failed
cd "VSCode-darwin-${VSCODE_ARCH}"
export CERTIFICATE_P12=VSCodium.p12
echo $CERTIFICATE_OSX_P12 | base64 --decode > $CERTIFICATE_P12
export KEYCHAIN=build.keychain
@@ -61,15 +59,15 @@ jobs:
- name: Zip release
run: |
cd VSCode-darwin
zip -r -X -y ../VSCodium-darwin-${LATEST_MS_TAG}.zip ./*.app
cd "VSCode-darwin-${VSCODE_ARCH}"
zip -r -X -y ../VSCodium-darwin-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip ./*.app
if: env.SHOULD_BUILD == 'yes'
- name: DMG the release
run: |
pushd VSCode-darwin
pushd "VSCode-darwin-${VSCODE_ARCH}"
npx create-dmg VSCodium.app ..
mv "../VSCodium ${LATEST_MS_TAG}.dmg" "../VSCodium.${LATEST_MS_TAG}.dmg"
mv "../VSCodium ${LATEST_MS_TAG}.dmg" "../VSCodium.${VSCODE_ARCH}.${LATEST_MS_TAG}.dmg"
popd
if: env.SHOULD_BUILD == 'yes'

30
DOCS.md
View File

@@ -26,24 +26,28 @@ It is also highly recommended that you review all the settings that "use online
These can all be disabled.
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__ _(For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
_(For example the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
### Replacements to Microsoft Online Services
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L36) in `product.json` to that of VSCodium's own small [update server](https://github.com/VSCodium/update-api), so enabling that setting won't actually result in any calls to Microsoft servers.
Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium [replaces](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L42) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft, either.
## <a id="extensions-marketplace"></a>Extensions + Marketplace
The `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) to the Marketplace API used by VS Code. Since that is a rather new project, you will likely miss some extensions you know from the VS Code Marketplace. You have the following options to obtain such missing extensions:
* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the VS Code Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix).
* Modify the `extensionsGallery` section of the `product.json` file in your VSCodium installation to use the VS Code Marketplace as shown below. However, note that [it is not clear whether this is legal](https://github.com/microsoft/vscode/issues/31168).
```
"extensionsGallery": {
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"itemUrl": "https://marketplace.visualstudio.com/items"
}
```
* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the VS Code Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix).
* Modify the `extensionsGallery` section of the `product.json` file in your VSCodium installation to use the VS Code Marketplace as shown below. However, note that [it is not clear whether this is legal](https://github.com/microsoft/vscode/issues/31168).
```json
"extensionsGallery": {
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"itemUrl": "https://marketplace.visualstudio.com/items"
}
```
See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
@@ -72,7 +76,7 @@ In some cases, the above change won't help because the extension is hard-coded t
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can reinstall your extensions from the Marketplace in VSCodium, or copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.
Visual Studio Code stores its `keybindings.json` and `settings.json` file in the these locations:
Visual Studio Code stores its `keybindings.json` and `settings.json` file in these locations:
- __Windows__: `%APPDATA%\Code\User`
- __macOS__: `$HOME/Library/Application Support/Code/User`

View File

@@ -75,7 +75,7 @@ snap install codium
You can always install using the downloads (deb, rpm, tar) on the [releases page](https://github.com/VSCodium/vscodium/releases), but you can also install using your favorite package manager and get automatic updates. [@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo). Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
#### <a id="install-on-arch-linux"></a>Install on Arch Linux
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@CRKatri](https://github.com/CRKatri).
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@binex-dsk](https://github.com/binex-dsk). An alternative package [vscodium-git](https://aur.archlinux.org/packages/vscodium-git/), maintained by [@cedricroijakkers](https://github.com/cedricroijakkers), is also available should you wish to compile from source yourself.
#### <a id="flatpak"></a>Flatpak Option (Linux)
VSCodium is (unofficially) available as a Flatpak app [here](https://flathub.org/apps/details/com.vscodium.codium) and the build repo is [here](https://github.com/flathub/com.vscodium.codium). If your distribution has support for [flatpak](https://flathub.org), and you have enabled the [flathub repo](https://flatpak.org/setup/):
@@ -88,7 +88,7 @@ flatpak run com.vscodium.codium
## <a id="why"></a>Why Does This Exist
This repository contains build files to generate free release binaries of Microsoft's VSCode. When we speak of "free software", we're talking about freedom, not price.
Microsoft's downloads of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
> When we [Microsoft] build Visual Studio Code, we do exactly this. We clone the vscode repository, we lay down a customized product.json that has Microsoft specific functionality (telemetry, gallery, logo, etc.), and then produce a build that we release under our license.
>

View File

@@ -26,7 +26,7 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
yarn gulp minify-vscode
if [[ "$OS_NAME" == "osx" ]]; then
yarn gulp vscode-darwin-min-ci
yarn gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
elif [[ "$CI_WINDOWS" == "True" ]]; then
cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
yarn gulp "vscode-win32-${BUILDARCH}-min-ci"
@@ -36,14 +36,12 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
yarn gulp "vscode-win32-${BUILDARCH}-system-setup"
yarn gulp "vscode-win32-${BUILDARCH}-user-setup"
else # linux
yarn gulp vscode-linux-${VSCODE_ARCH}-min-ci
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
if [[ "$VSCODE_ARCH" == "x64" ]]; then
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
if [[ "$SKIP_LINUX_PACKAGES" != "True" ]]; then
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
. ../create_appimage.sh
fi
. ../create_appimage.sh
fi
cd ..

View File

@@ -29,9 +29,9 @@ if [ "$GITHUB_TOKEN" != "" ]; then
if [[ "$SHOULD_BUILD" != "yes" ]]; then
echo "Already have all the Linux arm64 builds"
fi
elif [[ $VSCODE_ARCH == "arm" ]]; then
elif [[ $VSCODE_ARCH == "armhf" ]]; then
HAVE_ARM_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["armhf.deb"])')
HAVE_ARM_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "arm-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
HAVE_ARM_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "armhf-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
if [[ "$HAVE_ARM_DEB" != "true" ]]; then
echo "Building on Linux arm because we have no DEB"
export SHOULD_BUILD="yes"

View File

@@ -4,6 +4,6 @@ if [[ "$VSCODE_ARCH" == "x64" ]]; then
sudo apt-get install desktop-file-utils
cd ..
export DOCKER_BUILD=1
bash -e src/resources/linux/appimage/pkg2appimage VSCodium-AppImage-Recipe.yml
fi

View File

@@ -0,0 +1,8 @@
--- vscode/resources/linux/rpm/code.spec.template 2020-11-15 15:28:20.179070106 +0800
+++ vscode/resources/linux/rpm/code.spec.template.new 2020-11-15 15:25:39.269000000 +0800
@@ -69,3 +69,5 @@
/usr/share/pixmaps/@@ICON@@.png
/usr/share/bash-completion/completions/@@NAME@@
/usr/share/zsh/site-functions/_@@NAME@@
+
+%config(noreplace) /usr/share/@@NAME@@/resources/app/product.json

View File

@@ -14,6 +14,7 @@ cd vscode || exit
# apply patches
patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
patch -u resources/linux/rpm/code.spec.template -i ../patches/no-replace-product-json.patch
if [[ "$OS_NAME" == "osx" ]]; then
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --ignore-optional
@@ -53,7 +54,7 @@ win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare", "ms-vscode-remote.remote-ssh"])'
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare", "ms-vscode-remote.remote-ssh", "ms-vscode.cpptools", "ms-azuretools.vscode-docker", "visualstudioexptteam.vscodeintellicode", "ms-python.python"])'
serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
product_json_changes="${checksumFailMoreInfoUrl} | ${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${linkProtectionTrustedDomains} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi} | ${serverDataFolderName}"

View File

@@ -187,7 +187,7 @@ generate_appimage()
mkdir -p ../out || true
rm ../out/$APP"-"$VERSION".glibc"$GLIBC_NEEDED"-"$ARCH".AppImage" 2>/dev/null || true
GLIBC_NEEDED=$(glibc_needed)
./AppImageAssistant ./$APP.AppDir/ ../out/$APP"-"$VERSION".glibc"$GLIBC_NEEDED"-"$ARCH".AppImage"
./AppImageAssistant --appimage-extract-and-run ./$APP.AppDir/ ../out/$APP"-"$VERSION".glibc"$GLIBC_NEEDED"-"$ARCH".AppImage"
}
# Generate AppImage type 2