You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
const path = require('path');
 | 
						|
const fs = require('fs');
 | 
						|
const util = require('util');
 | 
						|
 | 
						|
const renameAsync = util.promisify(fs.rename);
 | 
						|
const unlinkAsync = util.promisify(fs.unlink);
 | 
						|
 | 
						|
module.exports = async function(context) {
 | 
						|
  // Replace the app launcher on linux only.
 | 
						|
  if (process.platform !== 'linux') {
 | 
						|
    return;
 | 
						|
  }
 | 
						|
  const isAppImage =
 | 
						|
    context.targets.name === 'appImage' || context.targets.some(e => e.name === 'appImage');
 | 
						|
  console.log(
 | 
						|
    'targets',
 | 
						|
    context.targets.map(target => target.name)
 | 
						|
  );
 | 
						|
 | 
						|
  console.log('AppImage', isAppImage);
 | 
						|
 | 
						|
  if (!isAppImage) {
 | 
						|
    console.log('afterPack hook not triggered as this is not an appImage build');
 | 
						|
 | 
						|
    return;
 | 
						|
  }
 | 
						|
  // eslint-disable-next-line no-console
 | 
						|
  // console.log('afterPack hook triggered', context);
 | 
						|
 | 
						|
  const executableName = context.packager.executableName;
 | 
						|
  const sourceExecutable = path.join(context.appOutDir, executableName);
 | 
						|
  const targetExecutable = path.join(context.appOutDir, `${executableName}-bin`);
 | 
						|
  const launcherScript = path.join(context.appOutDir, 'resources', 'launcher-script.sh');
 | 
						|
  const chromeSandbox = path.join(context.appOutDir, 'chrome-sandbox');
 | 
						|
 | 
						|
  return Promise.all([
 | 
						|
    // rename session-desktop to session-desktop-bin
 | 
						|
    renameAsync(sourceExecutable, targetExecutable),
 | 
						|
 | 
						|
    // rename launcher script to session-desktop
 | 
						|
    renameAsync(launcherScript, sourceExecutable),
 | 
						|
 | 
						|
    // remove the chrome-sandbox file since we explicitly disable it
 | 
						|
    unlinkAsync(chromeSandbox),
 | 
						|
  ]);
 | 
						|
};
 |