/
rpm.js
33 lines (28 loc) · 922 Bytes
/
rpm.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-redhat';
import path from 'path';
import pify from 'pify';
import { ensureFile } from '../../util/ensure-output';
function rpmArch(nodeArch) {
switch (nodeArch) {
case 'ia32': return 'i386';
case 'x64': return 'x86_64';
case 'arm':
if (process.config.variables.arm_version === '7') {
return 'armv7hl';
}
return 'armv6hl';
default: return nodeArch;
}
}
export default async (dir, appName, forgeConfig, packageJSON) => { // eslint-disable-line
const arch = rpmArch(process.arch);
const outPath = path.resolve(dir, '../make', `${packageJSON.name}_${packageJSON.version}_${arch}.rpm`);
await ensureFile(outPath);
const rpmDefaults = {
arch,
dest: path.dirname(outPath),
src: dir,
};
const rpmConfig = Object.assign({}, forgeConfig.electronInstallerRedhat, rpmDefaults);
await pify(installer)(rpmConfig);
};