From 26d70b1bd4f09c9ac27052d3603409991bf53efe Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 16 Aug 2019 13:34:12 +0100 Subject: [PATCH] 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 --- electron_app/build/linux/after-install.tpl | 12 ++++++++++++ package.json | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 electron_app/build/linux/after-install.tpl diff --git a/electron_app/build/linux/after-install.tpl b/electron_app/build/linux/after-install.tpl new file mode 100644 index 00000000..13f14ef1 --- /dev/null +++ b/electron_app/build/linux/after-install.tpl @@ -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 diff --git a/package.json b/package.json index 8ea68b02..99d1ac03 100644 --- a/package.json +++ b/package.json @@ -175,6 +175,9 @@ "StartupWMClass": "riot" } }, + "deb": { + "afterInstall": "electron_app/build/linux/after-install.tpl" + }, "mac": { "category": "public.app-category.social-networking" },