Add args for deb and rpm, remove pkg

Fixes #5778
This commit is contained in:
Jonathan Budzenski 2015-12-29 15:32:06 -06:00 committed by Rashid Khan
parent 6fa3f54f87
commit 8bcd91ec8e
2 changed files with 33 additions and 19 deletions

View file

@ -111,6 +111,11 @@ gem install fpm
npm run build:ospackages
```
To specify a package to build you can add `rpm` or `deb` as an argument.
```sh
npm run build:ospackages -- --rpm
```
### Functional UI Testing
#### Handy references

View file

@ -1,22 +1,23 @@
module.exports = function (grunt) {
let { resolve } = require('path');
let { indexBy } = require('lodash');
const { resolve } = require('path');
const { indexBy } = require('lodash');
let { config } = grunt;
let exec = require('../utils/exec');
let targetDir = config.get('target');
let version = config.get('pkg.version');
let userScriptsDir = config.get('userScriptsDir');
let servicesByName = indexBy(config.get('services'), 'name');
const { config } = grunt;
const exec = require('../utils/exec');
const targetDir = config.get('target');
const version = config.get('pkg.version');
const userScriptsDir = config.get('userScriptsDir');
const servicesByName = indexBy(config.get('services'), 'name');
grunt.registerTask('_build:osPackages', function () {
grunt.config.get('platforms').forEach(({ name, buildDir }) => {
// TODO(sissel): Check if `fpm` is available
if (!(/linux-x(86|64)$/.test(name))) return;
let arch = /x64$/.test(name) ? 'x86_64' : 'i686';
let fpm = args => exec('fpm', args);
const arch = /x64$/.test(name) ? 'x86_64' : 'i686';
const fpm = args => exec('fpm', args);
let args = [
const args = [
'--force',
'--package', targetDir,
'-s', 'dir', // input type
@ -27,17 +28,25 @@ module.exports = function (grunt) {
'--config-files', '/opt/kibana/config/kibana.yml'
];
let files = buildDir + '/=/opt/kibana';
grunt.file.mkdir(targetDir);
const files = buildDir + '/=/opt/kibana';
const sysv = servicesByName.sysv.outputDir + '/etc/=/etc/';
const systemd = servicesByName.systemd.outputDir + '/lib/=/lib/';
// kibana.rpm and kibana.deb
if (/linux-x(86|64)$/.test(name)) {
let sysv = servicesByName.sysv.outputDir + '/etc/=/etc/';
let systemd = servicesByName.systemd.outputDir + '/lib/=/lib/';
fpm(args.concat('-t', 'rpm', '-a', arch, '--rpm-os', 'linux', files, sysv, systemd));
//Manually find flags, multiple args without assignment are not entirely parsed
var flags = grunt.option.flags().join(',');
const buildDeb = !!flags.match('deb');
const buildRpm = !!flags.match('rpm');
const noneSpecified = !buildRpm && !buildDeb;
grunt.file.mkdir(targetDir);
if (buildDeb || noneSpecified) {
fpm(args.concat('-t', 'deb', '-a', arch, files, sysv, systemd));
return;
}
if (buildRpm || noneSpecified) {
fpm(args.concat('-t', 'rpm', '-a', arch, '--rpm-os', 'linux', files, sysv, systemd));
}
});
});
};