diff --git a/src/components/NewContainerSearch.react.js b/src/components/NewContainerSearch.react.js index 7d66b07f8a..88d656f984 100644 --- a/src/components/NewContainerSearch.react.js +++ b/src/components/NewContainerSearch.react.js @@ -6,6 +6,7 @@ var Radial = require('./Radial.react'); var ImageCard = require('./ImageCard.react'); var Promise = require('bluebird'); var metrics = require('../utils/MetricsUtil'); +var classNames = require('classnames'); var _recommended = []; var _searchPromise = null; @@ -132,11 +133,11 @@ module.exports = React.createClass({ ); } } - var loadingClasses = React.addons.classSet({ + var loadingClasses = classNames({ hidden: !this.state.loading, loading: true }); - var magnifierClasses = React.addons.classSet({ + var magnifierClasses = classNames({ hidden: this.state.loading, icon: true, 'icon-magnifier': true, diff --git a/src/stores/SetupStore.js b/src/stores/SetupStore.js index d4440f8801..4750ed1c1b 100644 --- a/src/stores/SetupStore.js +++ b/src/stores/SetupStore.js @@ -37,7 +37,7 @@ var _steps = [{ percent: 0, seconds: 5, run: Promise.coroutine(function* (progressCallback) { - var cmd = ''; + var cmd = setupUtil.copyBinariesCmd() + ' && ' + setupUtil.fixBinariesCmd(); if (!virtualBox.installed()) { yield virtualBox.killall(); @@ -49,7 +49,7 @@ var _steps = [{ } try { progressCallback(50); // TODO: detect when the installation has started so we can simulate progress - yield setupUtil.installVirtualBoxCmd(); + yield util.exec(setupUtil.macSudoCmd(cmd)); } catch (err) { throw null; } @@ -73,8 +73,6 @@ var _steps = [{ let usersDirName = parts[parts.length-1]; let usersDirPath = parts.join('\\'); let shareName = driveLetter + '/' + usersDirName; - - yield machine.stop(); yield virtualBox.mountSharedDir(machine.name(), shareName, usersDirPath); yield machine.start(); } @@ -243,6 +241,8 @@ var SetupStore = assign(Object.create(EventEmitter.prototype), { metrics.track('Setup Failed', { step: _currentStep, }); + console.log(err); + console.log(err.message); bugsnag.notify('SetupError', err.message, { error: err, output: err.message diff --git a/src/utils/SetupUtil.js b/src/utils/SetupUtil.js index 6336919a82..faa32a771d 100644 --- a/src/utils/SetupUtil.js +++ b/src/utils/SetupUtil.js @@ -28,6 +28,9 @@ var SetupUtil = { this.checksum(util.dockerMachineBinPath()) !== this.checksum(resources.dockerMachine()) || this.checksum(util.dockerBinPath()) !== this.checksum(resources.docker()); }, + copycmd: function (src, dest) { + return ['rm', '-f', dest, '&&', 'cp', src, dest]; + }, copyBinariesCmd: function () { var cmd = ['mkdir', '-p', '/usr/local/bin']; cmd.push('&&'); diff --git a/src/utils/Util.js b/src/utils/Util.js index b305a3aa49..0545f8b2bc 100644 --- a/src/utils/Util.js +++ b/src/utils/Util.js @@ -5,9 +5,6 @@ var path = require('path'); module.exports = { exec: function (args, options) { - if (typeof args === 'string') { - args = args.split(' '); - } options = options || {}; return new Promise((resolve, reject) => { exec(args, options, (stderr, stdout, code) => { diff --git a/src/utils/VirtualBoxUtil.js b/src/utils/VirtualBoxUtil.js index 1c58d5f16e..3bf33432f1 100644 --- a/src/utils/VirtualBoxUtil.js +++ b/src/utils/VirtualBoxUtil.js @@ -20,7 +20,7 @@ var VirtualBox = { if(util.isWindows()) { return 'http://download.virtualbox.org/virtualbox/4.3.26/VirtualBox-4.3.26-98988-Win.exe'; } else { - return `https://github.com/kitematic/virtualbox/releases/download/${util.packagejson()['virtualbox-version']}/${this.virtualBoxFileName()}`; + return `https://github.com/kitematic/virtualbox/releases/download/${util.packagejson()['virtualbox-version']}/${this.filename()}`; } }, installed: function () {