name: codium-insiders
base: core24
version: '1.97.0.25026-insider'
summary: Code editing. Redefined.
description: |
Binary releases of Visual Studio Code - Insiders without branding/telemetry/licensing
platforms:
amd64:
arm64:
grade: stable
confinement: classic
compression: lzo
apps:
codium-insiders:
command: bin/codium-insiders --no-sandbox
desktop: meta/gui/codium-insiders.desktop
common-id: codium-insiders.desktop
url-handler:
command: bin/codium-insiders --open-url --no-sandbox
desktop: meta/gui/codium-insiders-url-handler.desktop
parts:
codium-insiders:
plugin: dump
source:
- on amd64: https://github.com/VSCodium/vscodium-insiders/releases/download/${SNAPCRAFT_PROJECT_VERSION}/VSCodium-linux-x64-${SNAPCRAFT_PROJECT_VERSION}.tar.gz
- on arm64: https://github.com/VSCodium/vscodium-insiders/releases/download/${SNAPCRAFT_PROJECT_VERSION}/VSCodium-linux-arm64-${SNAPCRAFT_PROJECT_VERSION}.tar.gz
source-type: tar
# stage-packages:
# - libasound2
# - libatk-bridge2.0-0
# - libatk1.0-0
# - libatspi2.0-0
# - libcairo2
# - libcanberra-gtk3-module
# - libcurl3-gnutls
# - libcurl3-nss
# - libcurl4
# - libdrm2
# - libgbm1
# - libgl1
# - libglib2.0-0
# - libgtk-3-0
# - libibus-1.0-5
# - libnss3
# - libpango-1.0-0
# - libsecret-1-0
# - libxcomposite1
# - libxdamage1
# - libxfixes3
# - libxkbcommon0
# - libxkbfile1
# - libxrandr2
# - libxss1
# prime:
# - -usr/share/doc
# - -usr/share/fonts
# - -usr/share/icons
# - -usr/share/lintian
# - -usr/share/man
# - -usr/share/codium/chrome-sandbox
# build-attributes:
# - enable-patchelf
Here is the snapcraft.yaml.
If enable the enable-patchelf
, i need to add ton of stage packages to make this snap work.
But I accidentally discovered that without enabling patchelf, my snap still works and I don’t need stage packages at all.
I tried to find out why this happened and found this doc.
According to the documentation, classic snap will first try to load the library from base snap, and if that fails, it will try to load the library from host.
Obviously my snap can run because it uses the host library.
Now my question is, what are the pros and cons of this approach?
In my mind, classic snap equals deb/rpm/portable, so there seems to be nothing wrong with use host’s library?
Please give me some advice.