Set SUID bit on chrome-sandbox for Debian

This tweaks Linux packages for Riot to SUID `chrome-sandbox` after install. This
is required as of Electron 5 for certain distros, such as Debian.

This change has also been provided to `electron-builder` upstream, so ideally
they'll include it in the future and this becomes redundant.

Fixes https://github.com/vector-im/riot-web/issues/10509
This commit is contained in:
J. Ryan Stinnett 2019-08-16 13:34:12 +01:00
parent 9ed647d280
commit 56674ea708
2 changed files with 15 additions and 0 deletions
electron_app/build/linux
package.json

View file

@ -0,0 +1,12 @@
#!/bin/bash
# Link to the binary
ln -sf '/opt/${productFilename}/${executable}' '/usr/bin/${executable}'
# SUID chrome-sandbox for Electron 5+
# Remove this custom after-install.tpl once this change has been upstreamed
# https://github.com/electron-userland/electron-builder/pull/4163
chmod 4755 '/opt/${productFilename}/chrome-sandbox' || true
update-mime-database /usr/share/mime || true
update-desktop-database /usr/share/applications || true

View file

@ -175,6 +175,9 @@
"StartupWMClass": "riot" "StartupWMClass": "riot"
} }
}, },
"deb": {
"afterInstall": "electron_app/build/linux/after-install.tpl"
},
"mac": { "mac": {
"category": "public.app-category.social-networking" "category": "public.app-category.social-networking"
}, },