flocore-node/bin/package.js
Chris Kleeschulte 4894f1abec Enable Cross-Compiling support
1. To use this feature, set CC and CXX env variables to the appropriate cross compiler
2. Example, for cross compiling to ARM, use: CC=arm-linux-gnueabihf-gcc-4.9 CXX=arm-linux-gnueabihf-g++-4.9 npm install
3. You can still compile without setting CC and CXX, you can still just run npm install
2016-02-11 10:25:22 -05:00

59 lines
1.2 KiB
JavaScript

'use strict';
var exec = require('child_process').exec;
var bindings = require('bindings');
var index = require('../lib');
var log = index.log;
var packageRoot = bindings.getRoot(bindings.getFileName());
var binaryPath = bindings({
path: true,
bindings: 'bitcoind.node'
});
var relativeBinaryPath = binaryPath.replace(packageRoot + '/', '');
var tarballName = require('./get-tarball-name')();
log.info('Signing binding binary: "' + binaryPath + '"');
var signCommand = 'gpg --yes --out ' + binaryPath + '.sig --detach-sig ' + binaryPath;
var signchild = exec(signCommand, function(error, stdout, stderr) {
if (error) {
throw error;
}
if (stdout) {
log.info('GPG:', stdout);
}
if (stderr) {
log.error(stderr);
}
log.info('Packaging tarball: "' + tarballName + '"');
// Create a tarball of both the binding and the signature
var tarCommand = 'tar -C ' +
packageRoot + ' -cvzf ' +
tarballName + ' ' +
relativeBinaryPath + ' ' +
relativeBinaryPath + '.sig';
var tarchild = exec(tarCommand, function (error, stdout, stderr) {
if (error) {
throw error;
}
if (stdout) {
log.info('Tar:', stdout);
}
if (stderr) {
log.error(stderr);
}
});
});