diff --git a/bin/runtime-qemu.js b/bin/runtime-qemu.js index 0d5251e..6b51556 100755 --- a/bin/runtime-qemu.js +++ b/bin/runtime-qemu.js @@ -1,7 +1,7 @@ #!/usr/bin/env node var argv = require('minimist')(process.argv.slice(2), { - boolean: ['kvm', 'verbose', 'nographic', 'dry-run', 'netdump', 'curses', 'virtio-rng'] + boolean: ['kvm', 'verbose', 'nographic', 'dry-run', 'netdump', 'curses', 'virtio-rng', 'local'] }); var shell = require('shelljs'); var qemu = require('../qemu'); @@ -54,6 +54,7 @@ if (!command) { shell.echo(' --virtio-rng Enable VIRTIO-RNG entropy source for the runtime.js'); shell.echo(' --nographic Disable graphics'); shell.echo(' --kernel= Specify local kernel file to use'); + shell.echo(' --local Download the kernel locally (i.e. in the module\'s directory)'); shell.echo(' --kernelver= Specify kernel version to download (defaults to latest)'); shell.echo(''); shell.echo(' --print-log Show log file written in curses mode (using less)'); @@ -95,7 +96,7 @@ var qemuVirtioRng = !!argv['virtio-rng']; var dryRun = !!argv['dry-run']; var verbose = !!argv.verbose; -getRuntime(kernelVer, kernelFile, function(err, runtimeFile) { +getRuntime(kernelVer, kernelFile, !!argv.local, function(err, runtimeFile) { if (err) { throw err; } diff --git a/get-prebuilt.js b/get-prebuilt.js index 7d7b9b0..4fd3a53 100644 --- a/get-prebuilt.js +++ b/get-prebuilt.js @@ -2,8 +2,9 @@ var nugget = require('nugget'); var shell = require('shelljs'); var path = require('path'); -module.exports = function(kernelVersion, cb) { - var kernelsDir = path.resolve(__dirname, 'runtimejs-kernels'); +module.exports = function(kernelVersion, shouldBeLocal, cb) { + var basePath = shouldBeLocal ? __dirname : process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME']; + var kernelsDir = path.resolve(basePath, '.runtime'); if (!shell.test('-d', kernelsDir)) { shell.mkdir(kernelsDir); } diff --git a/get-runtime.js b/get-runtime.js index 2685731..a4e7652 100644 --- a/get-runtime.js +++ b/get-runtime.js @@ -1,8 +1,8 @@ var getPrebuilt = require('./get-prebuilt'); -module.exports = function(kernelVer, kernelFile, cb) { +module.exports = function(kernelVer, kernelFile, shouldBeLocal, cb) { if (!kernelFile) { - return getPrebuilt(kernelVer, cb); + return getPrebuilt(kernelVer, shouldBeLocal, cb); } else { return cb(null, kernelFile); }