Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaging on linux #46

Merged
merged 14 commits into from Jul 12, 2017
Merged

Packaging on linux #46

merged 14 commits into from Jul 12, 2017

Conversation

ddavidebor
Copy link
Contributor

This PR introduces a way to easily build the application for a Linux environment. Mac and Windows will come as soon as I have more free time (or others wanna help out).

I still need to test if the icons and menu shortcuts work well on a fresh distro install, the workstation I work with is fairly messed up in this regard.

But it's a decent start. Mac release coming soon.

@ddavidebor ddavidebor mentioned this pull request Jul 7, 2017
@lucbouchard1
Copy link
Contributor

@ddavidebor Thanks so much for doing this! Packaging worked great on my Ubuntu machine. I am running into a problem when I execute the app though. As soon as the app window opens, it just sits on the splash screen and doesn't actually start JupyterLab. This suggests to me that the Jupyter server isn't starting up. Any ideas on how to debug this?

I also have a newbie question for you. Is the use of docker just to make the packaging code platform independent, or is there another reason why it's necessary?

@ddavidebor
Copy link
Contributor Author

Docker it's not particularly necessary, you can install all the required tools to do the build, but it's convenient and building releases from a standard environment is good practice. It also has Wine and mono included to build for windows.

I am running into a few issues too. For example it finds only my system default python, and not anaconda. I think the problem is that it's being launched from the desktop environment instead of from the terminal and it does not inherit all the environmental variables from the .bashrc (or similar) file.

It should be possible to launch the development tool with the shortcut from #41 #44

@ddavidebor
Copy link
Contributor Author

Yeah i think that's it: when launched from the terminal with jupyterlab_app works like a charm

@ddavidebor
Copy link
Contributor Author

mmh perhaps we should let the user search and select the correct jupyter notebook server ? sooner or later we're going to need a well-generalized UI to do that... but it's not immediate to implement.

@lucbouchard1
Copy link
Contributor

I agree, I created an issue (#48) to talk about it.

@ddavidebor
Copy link
Contributor Author

@lucbouchard1 Everything seems ready to build for linux.
Has anyone tested the rpm?

@lucbouchard1
Copy link
Contributor

@ddavidebor I haven't tested the rpm yet. I'll spin up a Fedora VM and try it out.

@lucbouchard1
Copy link
Contributor

I needed to yum install libXScrnSaver in order to get the application to launch in Fedora, but other than that the install worked well. There appears to be a couple bugs that are internal to the JupyterLab app, but those are separate from this. I'm going to go ahead and merge this PR.

@lucbouchard1 lucbouchard1 merged commit 9f33648 into jupyterlab:master Jul 12, 2017
@ddavidebor
Copy link
Contributor Author

@lucbouchard1 did you have to install it manually or was the dependency resolved automatically?

@lucbouchard1
Copy link
Contributor

@ddavidebor I needed to install manually. Looks like a mirror of atom/atom#13176

@ddavidebor
Copy link
Contributor Author

yep. #58 . I'll fix it in the following days.

@probonopd
Copy link

Providing an AppImage would have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

electron-builder can produce AppImages automatically for you.

@ddavidebor
Copy link
Contributor Author

I agree i'll open an issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants