jitsi-meet-electron/linux-sandbox-fix.js
Christoph Settgast 4cc851dc75 Linux: Fix running AppImage on Debian 10+ (#231)
Modeled after https://github.com/electron-userland/electron-builder/issues/5371#issuecomment-791771150
but written with promised-based fs nodejs API.

This allows to drop the app-builder-lib .desktop patch, as
--no-sandbox is now part of all linux targets via the additional launcher script,
so the arg can be dropped from the .desktop file Exec line.

Manual workaround is removed from the README as well.
2021-03-31 00:23:20 +02:00

24 lines
749 B
JavaScript

const fs = require('fs').promises;
const path = require('path');
/**
* Workaround for https://github.com/electron-userland/electron-builder/issues/5371
*
* use as "afterPack": "./linux-sandbox-fix.js" in build section of package.json
*/
async function afterPack({ appOutDir, electronPlatformName, packager }) {
if (electronPlatformName !== 'linux') {
return;
}
const appName = packager.appInfo.productFilename;
const script = `#!/bin/bash\n"\${BASH_SOURCE%/*}"/${appName}.bin --no-sandbox "$@"`;
const scriptPath = path.join(appOutDir, appName);
await fs.rename(scriptPath, `${scriptPath}.bin`);
await fs.writeFile(scriptPath, script);
await fs.chmod(scriptPath, 0o755);
}
module.exports = afterPack;