Linux support #696

Merged
merged 5 commits into from Dec 1, 2015

Conversation

Projects
None yet
@zedtux
Contributor

zedtux commented Jun 22, 2015

This branch add the missing Linux support.

Basically it avoid the wizard to run and force dockerode to use /var/run/docker.sock as a socketPath.

Regarding the in-container-shell only the GNOME terminal has been implemented (as I'm using Debian) but a warning message asking to open an issue in the project will be shown in other cases so that we can implement them one after the other.

The missing part of this merge request is the packaging. I don't really want to deal with that and let packagers taking care of this task but I'm available to help in case of questions and Grunt task fabrication.

@zedtux zedtux referenced this pull request Jun 22, 2015

Closed

Linux support #49

@entropitor

This comment has been minimized.

Show comment
Hide comment
@entropitor

entropitor Jun 22, 2015

💯 for @zedtux's amazing work.

💯 for @zedtux's amazing work.

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jun 22, 2015

Contributor

Tank you @caske33 !!

Contributor

zedtux commented Jun 22, 2015

Tank you @caske33 !!

@WooDzu

This comment has been minimized.

Show comment
Hide comment
@WooDzu

WooDzu Jun 24, 2015

Hell yeah!

WooDzu commented Jun 24, 2015

Hell yeah!

@jmorganca

This comment has been minimized.

Show comment
Hide comment
@jmorganca

jmorganca Jun 24, 2015

Member

INCREDIBLE to see this during DockerCon! Awesome!

Taking a look on my ubuntu machine. Exciting!

Member

jmorganca commented Jun 24, 2015

INCREDIBLE to see this during DockerCon! Awesome!

Taking a look on my ubuntu machine. Exciting!

@entropitor

This comment has been minimized.

Show comment
Hide comment
@entropitor

entropitor Jun 25, 2015

@zedtux Maybe you should also update the readme to say that it also supports linux :)

@zedtux Maybe you should also update the readme to say that it also supports linux :)

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jun 25, 2015

Contributor

It's done @caske33. The only thing is as we still need to work on the packaging, I'm not touching the parts about the download and uninstall.

Contributor

zedtux commented Jun 25, 2015

It's done @caske33. The only thing is as we still need to work on the packaging, I'm not touching the parts about the download and uninstall.

@entropitor

This comment has been minimized.

Show comment
Hide comment
@entropitor

entropitor Jun 25, 2015

@zedtux Maybe a new issue should be created so this PR can be merged already?

@zedtux Maybe a new issue should be created so this PR can be merged already?

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jun 25, 2015

Contributor

Fine for me @caske33.

Contributor

zedtux commented Jun 25, 2015

Fine for me @caske33.

@mchiang0610

This comment has been minimized.

Show comment
Hide comment
@mchiang0610

mchiang0610 Jun 26, 2015

Contributor

Getting some errors on fresh install of ubuntu 14.04

npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/chromium-pickle/0.1.4
npm http GET https://registry.npmjs.org/walkdir/0.0.7
npm http 304 https://registry.npmjs.org/number-is-nan
npm http 304 https://registry.npmjs.org/optionator
npm http 304 https://registry.npmjs.org/estraverse
npm http 304 https://registry.npmjs.org/esutils
npm http 304 https://registry.npmjs.org/walkdir/0.0.7
npm http 304 https://registry.npmjs.org/chromium-pickle/0.1.4

> electron-prebuilt@0.27.3 postinstall /home/mc/workspace/kitematic/node_modules/electron-prebuilt
> node install.js

npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm http GET https://registry.npmjs.org/fast-levenshtein
npm http GET https://registry.npmjs.org/levn
npm http GET https://registry.npmjs.org/prelude-ls
npm http GET https://registry.npmjs.org/deep-is
npm http GET https://registry.npmjs.org/type-check
npm http GET https://registry.npmjs.org/bindings/1.1.0
npm http GET https://registry.npmjs.org/native-mate/0.2.6
npm ERR! weird error 1
npm http 304 https://registry.npmjs.org/levn
npm http 304 https://registry.npmjs.org/prelude-ls
npm http 304 https://registry.npmjs.org/deep-is
npm ERR! tar pack Error reading /home/mc/tmp/npm-16732-cRIen8rF/1434904985038-0.3272380668204278/package
npm ERR! addLocalDirectory Could not pack "/home/mc/tmp/npm-16732-cRIen8rF/1434904985038-0.3272380668204278/package" to "/home/mc/.npm/babel-core/5.6.11/package.tgz"
npm http 304 https://registry.npmjs.org/native-mate/0.2.6

> contextify@0.1.14 install /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/contextify
> node-gyp rebuild

npm http 304 https://registry.npmjs.org/bindings/1.1.0
npm http 304 https://registry.npmjs.org/type-check
npm http GET https://registry.npmjs.org/native-mate/-/native-mate-0.2.6.tgz
npm http 304 https://registry.npmjs.org/fast-levenshtein
npm http GET https://registry.npmjs.org/domelementtype
npm http GET https://registry.npmjs.org/domhandler
npm http GET https://registry.npmjs.org/domutils
npm http GET https://registry.npmjs.org/entities
npm http 200 https://registry.npmjs.org/native-mate/-/native-mate-0.2.6.tgz
npm http GET https://registry.npmjs.org/argparse
gyp: Call to 'node -e "require('nan')"' returned exit status 1. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/share/node-gyp/lib/configure.js:431:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Linux 3.16.0-41-generic
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/contextify
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok 
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/cssstyle/lib/properties.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/cssstyle/lib/properties.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/cssstyle/lib/properties.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/async'
npm ERR! error rolling back  jest-cli@0.4.13 { [Error: ENOTEMPTY, rmdir '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/async']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/async' }
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.amd.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.amd.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.amd.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 304 https://registry.npmjs.org/domelementtype
npm http 304 https://registry.npmjs.org/argparse
npm http 304 https://registry.npmjs.org/domhandler
npm http 304 https://registry.npmjs.org/domutils
npm http 304 https://registry.npmjs.org/entities
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/argparse'
npm ERR! error rolling back  istanbul@0.3.16 { [Error: ENOTEMPTY, rmdir '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/argparse']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/argparse' }
npm http GET https://registry.npmjs.org/dom-serializer
npm http 304 https://registry.npmjs.org/dom-serializer
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/esprima/esprima.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/esprima/esprima.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/esprima/esprima.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/node-haste/node_modules/esprima-fb/test/test.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/node-haste/node_modules/esprima-fb/test/test.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/node-haste/node_modules/esprima-fb/test/test.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/esprima/test/test.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/esprima/test/test.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/esprima/test/test.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)

> native-mate@0.2.6 install /home/mc/workspace/kitematic/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle/node_modules/native-mate
> echo



> chromium-pickle@0.1.4 install /home/mc/workspace/kitematic/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle
> node-gyp rebuild

gyp: Call to 'node -e "require('native-mate')"' returned exit status 1. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/share/node-gyp/lib/configure.js:431:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Linux 3.16.0-41-generic
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/mc/workspace/kitematic/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok 
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/mc/workspace/kitematic/npm-debug.log
npm ERR! not ok code 0
Contributor

mchiang0610 commented Jun 26, 2015

Getting some errors on fresh install of ubuntu 14.04

npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/chromium-pickle/0.1.4
npm http GET https://registry.npmjs.org/walkdir/0.0.7
npm http 304 https://registry.npmjs.org/number-is-nan
npm http 304 https://registry.npmjs.org/optionator
npm http 304 https://registry.npmjs.org/estraverse
npm http 304 https://registry.npmjs.org/esutils
npm http 304 https://registry.npmjs.org/walkdir/0.0.7
npm http 304 https://registry.npmjs.org/chromium-pickle/0.1.4

> electron-prebuilt@0.27.3 postinstall /home/mc/workspace/kitematic/node_modules/electron-prebuilt
> node install.js

npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm http GET https://registry.npmjs.org/fast-levenshtein
npm http GET https://registry.npmjs.org/levn
npm http GET https://registry.npmjs.org/prelude-ls
npm http GET https://registry.npmjs.org/deep-is
npm http GET https://registry.npmjs.org/type-check
npm http GET https://registry.npmjs.org/bindings/1.1.0
npm http GET https://registry.npmjs.org/native-mate/0.2.6
npm ERR! weird error 1
npm http 304 https://registry.npmjs.org/levn
npm http 304 https://registry.npmjs.org/prelude-ls
npm http 304 https://registry.npmjs.org/deep-is
npm ERR! tar pack Error reading /home/mc/tmp/npm-16732-cRIen8rF/1434904985038-0.3272380668204278/package
npm ERR! addLocalDirectory Could not pack "/home/mc/tmp/npm-16732-cRIen8rF/1434904985038-0.3272380668204278/package" to "/home/mc/.npm/babel-core/5.6.11/package.tgz"
npm http 304 https://registry.npmjs.org/native-mate/0.2.6

> contextify@0.1.14 install /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/contextify
> node-gyp rebuild

npm http 304 https://registry.npmjs.org/bindings/1.1.0
npm http 304 https://registry.npmjs.org/type-check
npm http GET https://registry.npmjs.org/native-mate/-/native-mate-0.2.6.tgz
npm http 304 https://registry.npmjs.org/fast-levenshtein
npm http GET https://registry.npmjs.org/domelementtype
npm http GET https://registry.npmjs.org/domhandler
npm http GET https://registry.npmjs.org/domutils
npm http GET https://registry.npmjs.org/entities
npm http 200 https://registry.npmjs.org/native-mate/-/native-mate-0.2.6.tgz
npm http GET https://registry.npmjs.org/argparse
gyp: Call to 'node -e "require('nan')"' returned exit status 1. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/share/node-gyp/lib/configure.js:431:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Linux 3.16.0-41-generic
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/contextify
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok 
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/cssstyle/lib/properties.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/cssstyle/lib/properties.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/jsdom/node_modules/cssstyle/lib/properties.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/async'
npm ERR! error rolling back  jest-cli@0.4.13 { [Error: ENOTEMPTY, rmdir '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/async']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/async' }
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.amd.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.amd.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.amd.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 304 https://registry.npmjs.org/domelementtype
npm http 304 https://registry.npmjs.org/argparse
npm http 304 https://registry.npmjs.org/domhandler
npm http 304 https://registry.npmjs.org/domutils
npm http 304 https://registry.npmjs.org/entities
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/argparse'
npm ERR! error rolling back  istanbul@0.3.16 { [Error: ENOTEMPTY, rmdir '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/argparse']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/argparse' }
npm http GET https://registry.npmjs.org/dom-serializer
npm http 304 https://registry.npmjs.org/dom-serializer
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/esprima/esprima.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/esprima/esprima.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/js-yaml/node_modules/esprima/esprima.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/node-haste/node_modules/esprima-fb/test/test.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/node-haste/node_modules/esprima-fb/test/test.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/node-haste/node_modules/esprima-fb/test/test.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat '/home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/esprima/test/test.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-41-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/esprima/test/test.js
npm ERR! fstream_path /home/mc/workspace/kitematic/node_modules/jest-cli/node_modules/istanbul/node_modules/escodegen/node_modules/esprima/test/test.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)

> native-mate@0.2.6 install /home/mc/workspace/kitematic/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle/node_modules/native-mate
> echo



> chromium-pickle@0.1.4 install /home/mc/workspace/kitematic/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle
> node-gyp rebuild

gyp: Call to 'node -e "require('native-mate')"' returned exit status 1. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/share/node-gyp/lib/configure.js:431:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Linux 3.16.0-41-generic
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/mc/workspace/kitematic/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok 
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/mc/workspace/kitematic/npm-debug.log
npm ERR! not ok code 0
@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jun 26, 2015

Contributor

Can you post all the commands you've run ?

On my Debian box, I'm running:

$ make
$ sudo npm start

And it's working.

Contributor

zedtux commented Jun 26, 2015

Can you post all the commands you've run ?

On my Debian box, I'm running:

$ make
$ sudo npm start

And it's working.

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jun 29, 2015

Contributor

What is missing in order to merge this pull request ?

Contributor

zedtux commented Jun 29, 2015

What is missing in order to merge this pull request ?

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jun 29, 2015

Contributor

@zedtux With DockerCon last week there hasn't been much time to QA your PR - I'll take a look at it today.
Thanks for your patience!

Contributor

TeckniX commented Jun 29, 2015

@zedtux With DockerCon last week there hasn't been much time to QA your PR - I'll take a look at it today.
Thanks for your patience!

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jun 29, 2015

Contributor

Can you provide your version of NPM and NODEJS - Seem I'm already getting some dependency issues.
We may need to provide a guide/readme for users to upgrade their version of node+npm to the latest.

Contributor

TeckniX commented Jun 29, 2015

Can you provide your version of NPM and NODEJS - Seem I'm already getting some dependency issues.
We may need to provide a guide/readme for users to upgrade their version of node+npm to the latest.

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jun 29, 2015

Contributor

Just to give you an idea of my steps so far from a vanilla install of 14.04 LTS

$ sudo apt-add-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install nodejs

This may be basic stuff, but it will probably need to be added in the docs for it to boot up.

Also it seems that your current setup doesn't install docker? or it fails to install because of suid?
Here are some screenshots from this recent install:

npm-logs

ubuntu-docker

Contributor

TeckniX commented Jun 29, 2015

Just to give you an idea of my steps so far from a vanilla install of 14.04 LTS

$ sudo apt-add-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install nodejs

This may be basic stuff, but it will probably need to be added in the docs for it to boot up.

Also it seems that your current setup doesn't install docker? or it fails to install because of suid?
Here are some screenshots from this recent install:

npm-logs

ubuntu-docker

@entropitor

This comment has been minimized.

Show comment
Hide comment
@entropitor

entropitor Jun 30, 2015

@TeckniX chrislea is an old ppa. You should probably download node from nodesource: https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource

curl -sL https://deb.nodesource.com/setup | sudo bash -

@TeckniX chrislea is an old ppa. You should probably download node from nodesource: https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource

curl -sL https://deb.nodesource.com/setup | sudo bash -

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jul 1, 2015

Contributor

Sorry @TeckniX but it's a bite tricky for me to work on Linux and provide features for the OS X / Windows version.

I've just moved and my iMac is still in his box (yes .. what a shame !! :D) but I will tell you my versions as soon as possible. Now you should probably discuss more with @caske33 who's using Ubuntu (I'm using Debian).

Finally, regarding the second screenshot you've posted, it looks like you didn't used sudo in order to start Kinematic.

Contributor

zedtux commented Jul 1, 2015

Sorry @TeckniX but it's a bite tricky for me to work on Linux and provide features for the OS X / Windows version.

I've just moved and my iMac is still in his box (yes .. what a shame !! :D) but I will tell you my versions as soon as possible. Now you should probably discuss more with @caske33 who's using Ubuntu (I'm using Debian).

Finally, regarding the second screenshot you've posted, it looks like you didn't used sudo in order to start Kinematic.

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jul 1, 2015

Contributor

@zedtux no need to add features for osx/windows, I just want to get ubuntu in there and working!

The error is more likely to be related to the missing docker daemon - When Kitematic starts (on OSX/windows) it creates a VM to allow docker to function properly, as seen in the Setup.js:
https://github.com/zedtux/kitematic/blob/linux-support/src/stores/SetupStore.js#L153

IMHO the Linux distro should do the same, although it can simply install/setup the docker daemon locally. Usually installed in /usr/local/bin since it won't be a managed package. (unless I missed where this is setup in your PR?)

Contributor

TeckniX commented Jul 1, 2015

@zedtux no need to add features for osx/windows, I just want to get ubuntu in there and working!

The error is more likely to be related to the missing docker daemon - When Kitematic starts (on OSX/windows) it creates a VM to allow docker to function properly, as seen in the Setup.js:
https://github.com/zedtux/kitematic/blob/linux-support/src/stores/SetupStore.js#L153

IMHO the Linux distro should do the same, although it can simply install/setup the docker daemon locally. Usually installed in /usr/local/bin since it won't be a managed package. (unless I missed where this is setup in your PR?)

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jul 3, 2015

Contributor

no need to add features for osx/windows, I just want to get ubuntu in there and working!

Sorry I wasn't clear. I'm talking about me, developing things like the editable volumes... I'm developing on Linux, but I can't include the Linux support in the editable volumes branch, so I have to do some tricking things in order to developer under Linux and provide the feature for the official repository.

The error is more likely to be related to the missing docker daemon - When Kitematic starts (on OSX/windows) it creates a VM to allow docker to function properly, as seen in the Setup.js:
https://github.com/zedtux/kitematic/blob/linux-support/src/stores/SetupStore.js#L153

IMHO the Linux distro should do the same, although it can simply install/setup the docker daemon locally. Usually installed in /usr/local/bin since it won't be a managed package. (unless I missed where this is setup in your PR?)

The PR is not installing Docker as it has to be done using the package manager. This is quite a big job to implement as it should manage all the different Linux distribution.

The purpose of this PR is not to make Kitematic working on a fresh Linux box, it's about to make Kitematic working on Linux, meaning you have a step before which is to make sure Docker is running on your machine.

But I fully agree with you that at the end of the day, Kitematic on Linux should take care to install Docker automagically.

Contributor

zedtux commented Jul 3, 2015

no need to add features for osx/windows, I just want to get ubuntu in there and working!

Sorry I wasn't clear. I'm talking about me, developing things like the editable volumes... I'm developing on Linux, but I can't include the Linux support in the editable volumes branch, so I have to do some tricking things in order to developer under Linux and provide the feature for the official repository.

The error is more likely to be related to the missing docker daemon - When Kitematic starts (on OSX/windows) it creates a VM to allow docker to function properly, as seen in the Setup.js:
https://github.com/zedtux/kitematic/blob/linux-support/src/stores/SetupStore.js#L153

IMHO the Linux distro should do the same, although it can simply install/setup the docker daemon locally. Usually installed in /usr/local/bin since it won't be a managed package. (unless I missed where this is setup in your PR?)

The PR is not installing Docker as it has to be done using the package manager. This is quite a big job to implement as it should manage all the different Linux distribution.

The purpose of this PR is not to make Kitematic working on a fresh Linux box, it's about to make Kitematic working on Linux, meaning you have a step before which is to make sure Docker is running on your machine.

But I fully agree with you that at the end of the day, Kitematic on Linux should take care to install Docker automagically.

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jul 5, 2015

Contributor

And BTW the Docker installation should be done as a dependency of the Kitematic package. There's no need for a wizard.

Contributor

zedtux commented Jul 5, 2015

And BTW the Docker installation should be done as a dependency of the Kitematic package. There's no need for a wizard.

@zedtux zedtux referenced this pull request Jul 6, 2015

Closed

Linux groundwork #610

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jul 6, 2015

Contributor

@zedtux in regards to this:

But I fully agree with you that at the end of the day, Kitematic on Linux should take care to install Docker automagically.

I agree 100% and it's what Kitematic does on Windows/Mac - As mentioned your PR disabled this as seen at the following line:
https://github.com/zedtux/kitematic/blob/linux-support/src/stores/SetupStore.js#L153

Contributor

TeckniX commented Jul 6, 2015

@zedtux in regards to this:

But I fully agree with you that at the end of the day, Kitematic on Linux should take care to install Docker automagically.

I agree 100% and it's what Kitematic does on Windows/Mac - As mentioned your PR disabled this as seen at the following line:
https://github.com/zedtux/kitematic/blob/linux-support/src/stores/SetupStore.js#L153

@entropitor

This comment has been minimized.

Show comment
Hide comment
@entropitor

entropitor Jul 6, 2015

@TeckniX what @zedtux is trying to say is that it shouldn't be done through the code but through the .deb, .rpm packages etc, which should have a dependency of the docker executable.

The packages is something that still needs work, but we'll need help from someone with experience with .deb and .rpm packages.

If you do this through code, you want have to check which package manager is installed, and then use the correct one. That's cubersome and shouldn't be done in code anyway. It should be in the .deb/.rpm package.

@TeckniX what @zedtux is trying to say is that it shouldn't be done through the code but through the .deb, .rpm packages etc, which should have a dependency of the docker executable.

The packages is something that still needs work, but we'll need help from someone with experience with .deb and .rpm packages.

If you do this through code, you want have to check which package manager is installed, and then use the correct one. That's cubersome and shouldn't be done in code anyway. It should be in the .deb/.rpm package.

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jul 6, 2015

Contributor

@caske33 I didn't envision the rpm install kitematic and see what you're saying.

Although the same argument could be made with brew install kitematic (not how it's currently installed), Kitematic should still check for the appropriate docker tools and install them if missing or need to be updated for the OS it's currently running on.

ps: Obviously this is my opinion only based on how Kitematic currently works and the need to keep things homogeneous. (aka it does/checks the same thing on all platforms)

Contributor

TeckniX commented Jul 6, 2015

@caske33 I didn't envision the rpm install kitematic and see what you're saying.

Although the same argument could be made with brew install kitematic (not how it's currently installed), Kitematic should still check for the appropriate docker tools and install them if missing or need to be updated for the OS it's currently running on.

ps: Obviously this is my opinion only based on how Kitematic currently works and the need to keep things homogeneous. (aka it does/checks the same thing on all platforms)

@entropitor

This comment has been minimized.

Show comment
Hide comment
@entropitor

entropitor Jul 6, 2015

The problem with linux is that you have a lot more ways of installing docker. Take a look at http://docs.docker.com/installation/. Only 1 of them is windows and 1 is Mac OS X. But you've got a couple of install guides for linux based distro's. That's why, for the maintainability of the feature, I suggest NOT to implement it in the code itself.

However, maybe some sort of dialog box could be displayed if docker isn't installed? (maybe with link to the page I referenced earlier) so people can install it manually?

The problem with linux is that you have a lot more ways of installing docker. Take a look at http://docs.docker.com/installation/. Only 1 of them is windows and 1 is Mac OS X. But you've got a couple of install guides for linux based distro's. That's why, for the maintainability of the feature, I suggest NOT to implement it in the code itself.

However, maybe some sort of dialog box could be displayed if docker isn't installed? (maybe with link to the page I referenced earlier) so people can install it manually?

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jul 6, 2015

Contributor

I would be ok with that approach, although I believe most users using Kitematic would be on an ubuntu-like system - Basically let the user know that docker needs to be installed and provide a link to that page, if we don't detect an 'ubuntu' distro?

Maybe this could show up where the VM error usually shows up? @zedtux what do you think?

Edit:
This would work for 99% of the users:
wget -qO- https://get.docker.com/ | sh

Contributor

TeckniX commented Jul 6, 2015

I would be ok with that approach, although I believe most users using Kitematic would be on an ubuntu-like system - Basically let the user know that docker needs to be installed and provide a link to that page, if we don't detect an 'ubuntu' distro?

Maybe this could show up where the VM error usually shows up? @zedtux what do you think?

Edit:
This would work for 99% of the users:
wget -qO- https://get.docker.com/ | sh

@WooDzu

This comment has been minimized.

Show comment
Hide comment
@WooDzu

WooDzu Jul 6, 2015

After merging the PR it works nicely on ubuntu 14.10.
Thanks for all the work!

WooDzu commented Jul 6, 2015

After merging the PR it works nicely on ubuntu 14.10.
Thanks for all the work!

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Jul 6, 2015

nice ! thank you for your contribution @zedtux

nice ! thank you for your contribution @zedtux

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jul 6, 2015

Contributor

Some additional feedback after installing docker from the above 'wget' command:

  • Remove "Install Docker Commands" from the 'Kitematic' menu (should already be installed)
  • Clicking on Kitematic > About creates the following error for me:

"Uncaught Exception:
TypeError: Menu.sendActionToFirstResponder is not a function
at MenuItem.click (/home/user/kitematic/node_modules/electron-prebuilt/dist/resources/atom.asar/browser/api/lib/menu-item.js:46:25)
at Function.delegate.executeCommand (/home/user/kitematic/node_modules/electron-prebuilt/dist/resources/atom.asar/browser/api/lib/menu.js:127:69)"

gist: https://gist.github.com/anonymous/d218e9f78725d53c91eb

Contributor

TeckniX commented Jul 6, 2015

Some additional feedback after installing docker from the above 'wget' command:

  • Remove "Install Docker Commands" from the 'Kitematic' menu (should already be installed)
  • Clicking on Kitematic > About creates the following error for me:

"Uncaught Exception:
TypeError: Menu.sendActionToFirstResponder is not a function
at MenuItem.click (/home/user/kitematic/node_modules/electron-prebuilt/dist/resources/atom.asar/browser/api/lib/menu-item.js:46:25)
at Function.delegate.executeCommand (/home/user/kitematic/node_modules/electron-prebuilt/dist/resources/atom.asar/browser/api/lib/menu.js:127:69)"

gist: https://gist.github.com/anonymous/d218e9f78725d53c91eb

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jul 7, 2015

Contributor

@TeckniX homebrew on OSX is a young but powerful tool developed by a guy where couple of different people are committing some formulas and all this is installed in /usr/local/Cellar/. Then using some symlinks it makes the system aware of this folder and allow you to use the tools. The Linux package managers in the other hand are fully integrated in the system (you don't maintain OSX itself with homebrew) and all the packages are following a clear guideline with people to validate and maintain security patches and so on (it's not obvious that the packaged software developer is going to patch it).

In addition to that, a Linux user do not work the same way than an OSX or Windows user. When a Linux user want to install something, he will always try to do <insert-your-prefered-package-manager-here> install package-name or use a tool to search for it in the package manager but not going to a website, downloading an archive and double click an installer.

My final point on this is also managing the dependency of docker is very simple with the Linux packages (just a reference to docker in a file) while implementing it in the code would cost a lot of time and even more after in maintenance (keep in mind that Linux distribution born every years).

@caske33 wrote:

However, maybe some sort of dialog box could be displayed if docker isn't installed?

This is the best approach to me. Knowing that this case would be true only for people cloning the git repo (see my explanation above) or people having stopped docker and launching Kitematic (this happened to me).

@TeckniX wrote:

Maybe this could show up where the VM error usually shows up?

100% agree with you. I will do the update of that screen adding a check on the availability of docker and show the appropriate error message.
I will also have a look at your last feedbacks. Thank you very much for having found those issues 👍

Contributor

zedtux commented Jul 7, 2015

@TeckniX homebrew on OSX is a young but powerful tool developed by a guy where couple of different people are committing some formulas and all this is installed in /usr/local/Cellar/. Then using some symlinks it makes the system aware of this folder and allow you to use the tools. The Linux package managers in the other hand are fully integrated in the system (you don't maintain OSX itself with homebrew) and all the packages are following a clear guideline with people to validate and maintain security patches and so on (it's not obvious that the packaged software developer is going to patch it).

In addition to that, a Linux user do not work the same way than an OSX or Windows user. When a Linux user want to install something, he will always try to do <insert-your-prefered-package-manager-here> install package-name or use a tool to search for it in the package manager but not going to a website, downloading an archive and double click an installer.

My final point on this is also managing the dependency of docker is very simple with the Linux packages (just a reference to docker in a file) while implementing it in the code would cost a lot of time and even more after in maintenance (keep in mind that Linux distribution born every years).

@caske33 wrote:

However, maybe some sort of dialog box could be displayed if docker isn't installed?

This is the best approach to me. Knowing that this case would be true only for people cloning the git repo (see my explanation above) or people having stopped docker and launching Kitematic (this happened to me).

@TeckniX wrote:

Maybe this could show up where the VM error usually shows up?

100% agree with you. I will do the update of that screen adding a check on the availability of docker and show the appropriate error message.
I will also have a look at your last feedbacks. Thank you very much for having found those issues 👍

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jul 7, 2015

Contributor

You're welcome @mickaelandrieu :)

Contributor

zedtux commented Jul 7, 2015

You're welcome @mickaelandrieu :)

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Jul 7, 2015

I meet an issue when I run sudo npm start (disclaimer, I'm not a JS developper)

https://gist.github.com/mickaelandrieu/4089fc5e0355d25862a1

Also, the installer complain about VirtualBox, so I'm installing it. I come back with more feedbacks asap :)

edit 11h01: I have both virtualbox and docker install but I can't finish the installation process

kitematic

I meet an issue when I run sudo npm start (disclaimer, I'm not a JS developper)

https://gist.github.com/mickaelandrieu/4089fc5e0355d25862a1

Also, the installer complain about VirtualBox, so I'm installing it. I come back with more feedbacks asap :)

edit 11h01: I have both virtualbox and docker install but I can't finish the installation process

kitematic

@entropitor

This comment has been minimized.

Show comment
Hide comment
@entropitor

entropitor Jul 7, 2015

Did you first do make?

Did you first do make?

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Jul 7, 2015

@caske33 yes, sudo make

@caske33 yes, sudo make

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jul 7, 2015

Contributor

You do not have to use sudo with make here. You shouldn't install Virtualbox (On Linux, Docker is native).

Contributor

zedtux commented Jul 7, 2015

You do not have to use sudo with make here. You shouldn't install Virtualbox (On Linux, Docker is native).

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Jul 7, 2015

Contributor

@mickaelandrieu please follow my instructions here

Contributor

zedtux commented Jul 7, 2015

@mickaelandrieu please follow my instructions here

@mickaelandrieu

This comment has been minimized.

Show comment
Hide comment
@mickaelandrieu

mickaelandrieu Jul 9, 2015

@zedtux works perfectly on my own machine (linux mint 17, i7, 64bit)... any way to use this own Dockerfiles ? :p

@zedtux works perfectly on my own machine (linux mint 17, i7, 64bit)... any way to use this own Dockerfiles ? :p

@TeckniX

This comment has been minimized.

Show comment
Hide comment
@TeckniX

TeckniX Jul 10, 2015

Contributor

@mickaelandrieu The ability to open/load Dockerfile is a feature that's been requested a few times. Please check the wiki for a timeline of changes and upcoming features.

Glad to hear we have another successful Ubuntu user running Kitematic after the instructions were followed 👍

Contributor

TeckniX commented Jul 10, 2015

@mickaelandrieu The ability to open/load Dockerfile is a feature that's been requested a few times. Please check the wiki for a timeline of changes and upcoming features.

Glad to hear we have another successful Ubuntu user running Kitematic after the instructions were followed 👍

@moimael

This comment has been minimized.

Show comment
Hide comment
@moimael

moimael Jul 13, 2015

Any ETA on when this will be merged ? :) Can't wait !

moimael commented Jul 13, 2015

Any ETA on when this will be merged ? :) Can't wait !

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Nov 17, 2015

Contributor

Hello @jeffdm, can you please answer my questions ?

Contributor

zedtux commented Nov 17, 2015

Hello @jeffdm, can you please answer my questions ?

@Lennie

This comment has been minimized.

Show comment
Hide comment
@Lennie

Lennie Nov 20, 2015

@zedtux maybe @jeffdm was traveling to DockerCon Europe and back again ? ;-)

I'm not a kitematic developer, I'm just trying to get this to move forward. :-)

Creating a seperate if with just for Linux might be best.

How many lines would the true part of the 'if (util.isLinux())' be if you did that ?

Lennie commented Nov 20, 2015

@zedtux maybe @jeffdm was traveling to DockerCon Europe and back again ? ;-)

I'm not a kitematic developer, I'm just trying to get this to move forward. :-)

Creating a seperate if with just for Linux might be best.

How many lines would the true part of the 'if (util.isLinux())' be if you did that ?

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Nov 20, 2015

Contributor

Hey, Thank you @Lennie. You have a very good point :-)

How many lines would the true part of the 'if (util.isLinux())' be if you did that ?

We got only 2 lines:

ip = 'localhost';

and

docker.ensureLinuxDockerIsRunning();
Contributor

zedtux commented Nov 20, 2015

Hey, Thank you @Lennie. You have a very good point :-)

How many lines would the true part of the 'if (util.isLinux())' be if you did that ?

We got only 2 lines:

ip = 'localhost';

and

docker.ensureLinuxDockerIsRunning();
@Lennie

This comment has been minimized.

Show comment
Hide comment
@Lennie

Lennie Nov 20, 2015

If it's really just 2 lines you could consider updating the pull request.

Lennie commented Nov 20, 2015

If it's really just 2 lines you could consider updating the pull request.

@jmorganca

This comment has been minimized.

Show comment
Hide comment
@jmorganca

jmorganca Nov 21, 2015

Member

Very sorry for the delay, yes, DockerCon EU was happening 😃 . Just that small update then this is ready to merge. Thanks again @zedtux

Member

jmorganca commented Nov 21, 2015

Very sorry for the delay, yes, DockerCon EU was happening 😃 . Just that small update then this is ready to merge. Thanks again @zedtux

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Nov 22, 2015

Contributor

Thank you @jeffdm for your reply. I have updated the code if you or @FrenchBen can check it ?

Contributor

zedtux commented Nov 22, 2015

Thank you @jeffdm for your reply. I have updated the code if you or @FrenchBen can check it ?

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Nov 24, 2015

Contributor

@jeffdm I have updated the code as requested and merged master :)

Contributor

zedtux commented Nov 24, 2015

@jeffdm I have updated the code as requested and merged master :)

@jmorganca

View changes

src/app.js
@@ -46,7 +47,8 @@ var router = Router.create({
router.run(Handler => React.render(<Handler/>, document.body));
routerContainer.set(router);
-setupUtil.setup().then(() => {
+let setup = util.isLinux() ? setupUtil.nativeSetup : setupUtil.nonNativeSetup;
+setupUtil[setup]().then(() => {

This comment has been minimized.

@jmorganca

jmorganca Nov 24, 2015

Member

Don't forget to change this too :)

setup().then(() => {

@jmorganca

jmorganca Nov 24, 2015

Member

Don't forget to change this too :)

setup().then(() => {

@jmorganca

This comment has been minimized.

Show comment
Hide comment
@jmorganca

jmorganca Nov 24, 2015

Member

Almost there!

Member

jmorganca commented Nov 24, 2015

Almost there!

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Nov 24, 2015

Contributor

Thanks @jeffdm but it's no more working ... 😮

Contributor

zedtux commented Nov 24, 2015

Thanks @jeffdm but it's no more working ... 😮

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Nov 24, 2015

Contributor

Ho ... no ..it's fine :) sorry, I'm pushing ...

Contributor

zedtux commented Nov 24, 2015

Ho ... no ..it's fine :) sorry, I'm pushing ...

@jmorganca

This comment has been minimized.

Show comment
Hide comment
@jmorganca

jmorganca Nov 30, 2015

Member

That one last comment and then that's it from me. Amazing work @zedtux!

Member

jmorganca commented Nov 30, 2015

That one last comment and then that's it from me. Amazing work @zedtux!

zedtux added some commits Dec 1, 2015

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 1, 2015

Contributor

@jeffdm the change is done. All seems to work still.

Contributor

zedtux commented Dec 1, 2015

@jeffdm the change is done. All seems to work still.

@ryanleesipes

This comment has been minimized.

Show comment
Hide comment
@ryanleesipes

ryanleesipes Dec 1, 2015

Followed the install here https://github.com/docker/kitematic/wiki/Early-Linux-Support - got the following error. What am I doing wrong? Let me know if I just screwed up somewhere.
screenshot from 2015-12-01 08-27-32

Followed the install here https://github.com/docker/kitematic/wiki/Early-Linux-Support - got the following error. What am I doing wrong? Let me know if I just screwed up somewhere.
screenshot from 2015-12-01 08-27-32

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 1, 2015

Contributor

Thanks @ryanleesipes for having reported this. I'll have a look at it.

Contributor

zedtux commented Dec 1, 2015

Thanks @ryanleesipes for having reported this. I'll have a look at it.

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 1, 2015

Contributor

@ryanleesipes it's wired. I don't have this error.

Contributor

zedtux commented Dec 1, 2015

@ryanleesipes it's wired. I don't have this error.

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 1, 2015

Contributor

@ryanleesipes I think you found a bug in Kitematic. I don't have the error raised, but I can see the bug. The file components/ContainerLogs.react is imported in the routes.js file but this file doesn't exists nor in my branch, nor in the Kitematic master branch.

Contributor

zedtux commented Dec 1, 2015

@ryanleesipes I think you found a bug in Kitematic. I don't have the error raised, but I can see the bug. The file components/ContainerLogs.react is imported in the routes.js file but this file doesn't exists nor in my branch, nor in the Kitematic master branch.

@jmorganca

This comment has been minimized.

Show comment
Hide comment
@jmorganca

jmorganca Dec 1, 2015

Member

LGTM

Member

jmorganca commented Dec 1, 2015

LGTM

jmorganca pushed a commit that referenced this pull request Dec 1, 2015

@jmorganca jmorganca merged commit dc8b360 into docker:master Dec 1, 2015

1 check passed

documentation success 1 tests run, 1 skipped, 0 failed.
Details
@FrenchBen

This comment has been minimized.

Show comment
Hide comment
@FrenchBen

FrenchBen Dec 1, 2015

Contributor

Woohoo!!! Congrats @zedtux for pushing on this. All merged now 🎉

Contributor

FrenchBen commented Dec 1, 2015

Woohoo!!! Congrats @zedtux for pushing on this. All merged now 🎉

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 1, 2015

Contributor

Whhoooo !! I'm so proud of this ! Amwesome ! Thank you so much @jeffdm, @FrenchBen, @mchiang0610 and @TeckniX ! 💪 🤘

Contributor

zedtux commented Dec 1, 2015

Whhoooo !! I'm so proud of this ! Amwesome ! Thank you so much @jeffdm, @FrenchBen, @mchiang0610 and @TeckniX ! 💪 🤘

@master-lincoln

This comment has been minimized.

Show comment
Hide comment
@master-lincoln

master-lincoln Dec 1, 2015

Thank you @zedtux for being so persistent on this...well appreciated

Thank you @zedtux for being so persistent on this...well appreciated

@thaJeztah

This comment has been minimized.

Show comment
Hide comment
@thaJeztah

thaJeztah Dec 1, 2015

Member

Oh, cool! Thanks @zedtux!!

Member

thaJeztah commented Dec 1, 2015

Oh, cool! Thanks @zedtux!!

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 1, 2015

Contributor

You're welcome @master-lincoln and @thaJeztah 🙇

Contributor

zedtux commented Dec 1, 2015

You're welcome @master-lincoln and @thaJeztah 🙇

@jmorganca

This comment has been minimized.

Show comment
Hide comment
@jmorganca

jmorganca Dec 1, 2015

Member

@zedtux awesome to see this merged! Thank you so much!

Member

jmorganca commented Dec 1, 2015

@zedtux awesome to see this merged! Thank you so much!

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 1, 2015

Contributor

And thank you for having guide me in the last moments :)

Contributor

zedtux commented Dec 1, 2015

And thank you for having guide me in the last moments :)

@entropitor

This comment has been minimized.

Show comment
Hide comment
@entropitor

entropitor Dec 1, 2015

@zedtux I'm happy to see this merged 🎉 ! I think you helped a lot of people. Thank you for keeping up the good work! 💯

@zedtux I'm happy to see this merged 🎉 ! I think you helped a lot of people. Thank you for keeping up the good work! 💯

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 2, 2015

Contributor

Thank you @caske33, I'm glade to help people.

Contributor

zedtux commented Dec 2, 2015

Thank you @caske33, I'm glade to help people.

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 2, 2015

Contributor

@ryanleesipes the bug you found has been fixed in this commit by @jeffdm

Contributor

zedtux commented Dec 2, 2015

@ryanleesipes the bug you found has been fixed in this commit by @jeffdm

@ryanleesipes

This comment has been minimized.

Show comment
Hide comment
@ryanleesipes

ryanleesipes Dec 2, 2015

@zedtux fantastic. Thanks for pointing me at that! :)

@zedtux fantastic. Thanks for pointing me at that! :)

@ryanleesipes

This comment has been minimized.

Show comment
Hide comment
@ryanleesipes

ryanleesipes Dec 2, 2015

Everything is working great. Anyone aware of any efforts to put this in a PPA?

Everything is working great. Anyone aware of any efforts to put this in a PPA?

@zedtux

This comment has been minimized.

Show comment
Hide comment
@zedtux

zedtux Dec 2, 2015

Contributor

@ryanleesipes @FrenchBen is working on it I believe.

Contributor

zedtux commented Dec 2, 2015

@ryanleesipes @FrenchBen is working on it I believe.

@timfallmk

This comment has been minimized.

Show comment
Hide comment
@timfallmk

timfallmk Dec 2, 2015

Woohoo! Horray for getting this one!
On Wed, Dec 2, 2015 at 10:26 Guillaume Hain notifications@github.com
wrote:

@ryanleesipes https://github.com/ryanleesipes @FrenchBen
https://github.com/FrenchBen is working on it I believe.


Reply to this email directly or view it on GitHub
#696 (comment).

Woohoo! Horray for getting this one!
On Wed, Dec 2, 2015 at 10:26 Guillaume Hain notifications@github.com
wrote:

@ryanleesipes https://github.com/ryanleesipes @FrenchBen
https://github.com/FrenchBen is working on it I believe.


Reply to this email directly or view it on GitHub
#696 (comment).

@CircleCode CircleCode referenced this pull request in sanderboom/aur-kitematic Dec 11, 2015

Open

update to latest version (supporting linux natively) #1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment