diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 47c40a988..0638a177d 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -692,16 +692,16 @@ "from": "brace-expansion@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.4.tgz" }, - "chalk": { - "version": "1.1.3", - "from": "chalk@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - }, "caseless": { "version": "0.11.0", "from": "caseless@>=0.11.0 <0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" }, + "chalk": { + "version": "1.1.3", + "from": "chalk@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + }, "combined-stream": { "version": "1.0.5", "from": "combined-stream@>=1.0.5 <1.1.0", @@ -717,16 +717,16 @@ "from": "concat-map@0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" }, - "cryptiles": { - "version": "2.0.5", - "from": "cryptiles@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" - }, "core-util-is": { "version": "1.0.2", "from": "core-util-is@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, "debug": { "version": "2.2.0", "from": "debug@>=2.2.0 <2.3.0", @@ -787,26 +787,21 @@ "from": "fstream-ignore@>=1.0.3 <1.1.0", "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.4.tgz" }, - "gauge": { - "version": "1.2.7", - "from": "gauge@>=1.2.5 <1.3.0", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz" - }, "generate-function": { "version": "2.0.0", "from": "generate-function@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" }, + "gauge": { + "version": "1.2.7", + "from": "gauge@>=1.2.5 <1.3.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz" + }, "generate-object-property": { "version": "1.2.0", "from": "generate-object-property@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" }, - "graceful-fs": { - "version": "4.1.4", - "from": "graceful-fs@>=4.1.2 <5.0.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz" - }, "glob": { "version": "7.0.3", "from": "glob@>=7.0.0 <8.0.0", @@ -817,6 +812,11 @@ "from": "graceful-readlink@>=1.0.0", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" }, + "graceful-fs": { + "version": "4.1.4", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz" + }, "har-validator": { "version": "2.0.6", "from": "har-validator@>=2.0.6 <2.1.0", @@ -927,16 +927,16 @@ "from": "lodash._basetostring@>=4.12.0 <4.13.0", "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz" }, - "lodash.pad": { - "version": "4.4.0", - "from": "lodash.pad@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz" - }, "lodash.padend": { "version": "4.5.0", "from": "lodash.padend@>=4.1.0 <5.0.0", "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz" }, + "lodash.pad": { + "version": "4.4.0", + "from": "lodash.pad@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz" + }, "lodash.padstart": { "version": "4.5.0", "from": "lodash.padstart@>=4.1.0 <5.0.0", @@ -952,11 +952,6 @@ "from": "mime-db@>=1.23.0 <1.24.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" }, - "minimatch": { - "version": "3.0.0", - "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" - }, "mime-types": { "version": "2.1.11", "from": "mime-types@>=2.1.7 <2.2.0", @@ -977,6 +972,11 @@ "from": "ms@0.7.1", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" }, + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" + }, "node-uuid": { "version": "1.4.7", "from": "node-uuid@>=1.4.7 <1.5.0", @@ -992,31 +992,31 @@ "from": "npmlog@>=2.0.0 <2.1.0", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.3.tgz" }, - "once": { - "version": "1.3.3", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" - }, "oauth-sign": { "version": "0.8.2", "from": "oauth-sign@>=0.8.1 <0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" }, + "once": { + "version": "1.3.3", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + }, "path-is-absolute": { "version": "1.0.0", "from": "path-is-absolute@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" }, - "pinkie": { - "version": "2.0.4", - "from": "pinkie@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - }, "pinkie-promise": { "version": "2.0.1", "from": "pinkie-promise@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" }, + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + }, "process-nextick-args": { "version": "1.0.7", "from": "process-nextick-args@>=1.0.6 <1.1.0", @@ -1097,16 +1097,16 @@ "from": "tweetnacl@>=0.13.0 <0.14.0", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" }, - "uid-number": { - "version": "0.0.6", - "from": "uid-number@>=0.0.6 <0.1.0", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" - }, "util-deprecate": { "version": "1.0.2", "from": "util-deprecate@>=1.0.1 <1.1.0", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" }, + "uid-number": { + "version": "0.0.6", + "from": "uid-number@>=0.0.6 <0.1.0", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" + }, "verror": { "version": "1.3.6", "from": "verror@1.3.6", @@ -1625,11 +1625,6 @@ "from": "hat@0.0.3", "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz" }, - "ini": { - "version": "1.3.4", - "from": "ini@>=1.3.4 <2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" - }, "json": { "version": "9.0.3", "from": "json@>=9.0.3 <10.0.0", diff --git a/package.json b/package.json index 5f66ae4d4..c339e39dd 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "express": "^4.12.4", "express-session": "^1.11.3", "hat": "0.0.3", - "ini": "^1.3.4", "json": "^9.0.3", "ldapjs": "^0.7.1", "mime": "^1.3.4", diff --git a/src/platform.js b/src/platform.js index 85edd8330..a5edfbcfd 100644 --- a/src/platform.js +++ b/src/platform.js @@ -10,9 +10,10 @@ var apps = require('./apps.js'), certificates = require('./certificates.js'), debug = require('debug')('box:platform'), fs = require('fs'), - ini = require('ini'), + infra = require('./infra_version.js'), path = require('path'), paths = require('./paths.js'), + safe = require('safetydance'), shell = require('./shell.js'); var SETUP_INFRA_CMD = path.join(__dirname, 'scripts/setup_infra.sh'); @@ -22,19 +23,18 @@ function initialize(callback) { debug('initializing addon infrastructure'); - var currentInfraData = fs.readFileSync(__dirname + '/INFRA_VERSION', 'utf8'); - var currentInfra = ini.parse(currentInfraData); - var existingInfra = { INFRA_VERSION: 'none' }; + var existingInfra = { version: 'none' }; if (fs.existsSync(paths.INFRA_VERSION_FILE)) { - existingInfra = ini.parse(fs.readFileSync(paths.INFRA_VERSION_FILE, 'utf8')); + existingInfra = safe.JSON.parse(fs.readFileSync(paths.INFRA_VERSION_FILE, 'utf8')); + if (!existingInfra) existingInfra = { version: 'legacy' }; } - if (currentInfra.INFRA_VERSION === existingInfra.INFRA_VERSION) { - debug('platform is uptodate at version %s', currentInfra.INFRA_VERSION); + if (infra.version === existingInfra.version) { + debug('platform is uptodate at version %s', infra.version); return callback(); } - debug('Updating infrastructure from %s to %s', existingInfra.INFRA_VERSION, currentInfra.INFRA_VERSION); + debug('Updating infrastructure from %s to %s', existingInfra.version, infra.version); stopContainersSync(); @@ -48,7 +48,7 @@ function initialize(callback) { func(function (error) { if (error) return callback(error); - fs.writeFileSync(paths.INFRA_VERSION_FILE, currentInfraData); + fs.writeFileSync(paths.INFRA_VERSION_FILE, JSON.stringify(infra)); callback(); });