-
-
Notifications
You must be signed in to change notification settings - Fork 506
/
deb.js
33 lines (28 loc) · 945 Bytes
/
deb.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import installer from 'electron-installer-debian';
import path from 'path';
import pify from 'pify';
import { ensureFile } from '../../util/ensure-output';
function debianArch(nodeArch) {
switch (nodeArch) {
case 'ia32': return 'i386';
case 'x64': return 'amd64';
case 'arm':
if (process.config.variables.arm_version === '7') {
return 'armhf';
}
return 'armel';
default: return nodeArch;
}
}
export default async (dir, appName, targetArch, forgeConfig, packageJSON) => { // eslint-disable-line
const arch = debianArch(targetArch);
const outPath = path.resolve(dir, '../make', `${packageJSON.name}_${packageJSON.version}_${arch}.deb`);
await ensureFile(outPath);
const debianDefaults = {
arch,
dest: path.dirname(outPath),
src: dir,
};
const debianConfig = Object.assign({}, forgeConfig.electronInstallerDebian, debianDefaults);
await pify(installer)(debianConfig);
};