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

Create automatic packaging for .deb, .rpm, snap and flatpack #13

Closed
3 of 5 tasks
Tracked by #29
nuttyartist opened this issue Dec 28, 2015 · 23 comments
Closed
3 of 5 tasks
Tracked by #29

Create automatic packaging for .deb, .rpm, snap and flatpack #13

nuttyartist opened this issue Dec 28, 2015 · 23 comments

Comments

@nuttyartist
Copy link
Owner

nuttyartist commented Dec 28, 2015

We want to create the packages through a simple 'run that script and it will create your packages' kind of way. For .deb, .rpm and snap.

  • .deb script
  • .snap script
  • .rpm script
  • .flatpack script
  • Main Automatic Script

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@nuttyartist nuttyartist added this to the Version 1.0.0 milestone Dec 28, 2015
@nuttyartist nuttyartist changed the title Create scripts for packaging .deb and .rpm Create scripts for packaging .deb, .rpm and snap Apr 23, 2016
@nuttyartist nuttyartist changed the title Create scripts for packaging .deb, .rpm and snap Create automatic packaging for .deb, .rpm and snap Apr 26, 2016
@theshadowx
Copy link
Collaborator

here is an interesting project that do packaging for linux OSes

https://github.com/probonopd/AppImageKit

@nuttyartist
Copy link
Owner Author

Oh yeah, I heard of it, it's a very cool thing.

The main drawback I can see is that after downloading the appimage people needs to allow it to be executable, which require, on most of the distros right-clicking ->properties->allow to execute (something like that) but on some distros it's different (eOS), or they need to use the command line.
Both of the options are not as end-user friendly as just clicking on a .deb file and just install.

Second thing is that using .deb, .rpm and snap,and uploading them to the official repository will allow our app to be discovered by people using software center etc...

A solution for the first claim might be to put a nice explanation on the website on the download page.
Also automatic updates are very important, and I saw they have a nice support for that one, which is good.

What will be a good indicator for choosing between all of the options is the end result of what the user will experience. If in the end, it will be easy and intuitive for him to download and install, and without a hassle get automatic updates, then that's could tell it's a good thing. It should also be easy and intuitive and automatic for us - the developers to package and iterate the app.

@alex-spataru
Copy link
Contributor

Well, for one of my projects I wrote scripts to generate .deb and .snap packages. Unfortunately, I am clueless about how to generate .rpm packages.

You can find the deploy scripts here.

@nuttyartist
Copy link
Owner Author

@dplanella is already working on a snap packaging here. Maybe you can contribute there if you see areas you can help.

We have a debian folder, can you write a script to package it?

The goal is to have one main script to be run, that will make all the different packages automatically by running their own scripts. So when the specific scripts will be ready we'll create the main script.

@alex-spataru
Copy link
Contributor

Yes, I will create a new pull request with the debian package script.

@alex-spataru
Copy link
Contributor

@nuttyartist Done!

@nuttyartist
Copy link
Owner Author

@dplanella doesn't seem to progress on the .snap script.

@alex-spataru Can you take on what he's done and finish it? And then create the main script that will build both the .deb and .snap?

@alex-spataru
Copy link
Contributor

@nuttyartist I will take a look at the snap configuration and update the packaging scripts.

@nuttyartist
Copy link
Owner Author

Great! Thanks.

@dplanella
Copy link
Contributor

@nuttyartist @alex-spataru I had a go at snapping 0.9, which worked, but I'm encountering theming issues. This is not related to Notes itself, but to the fact that a proper theming interface for snaps is still in the works. There has been some progress this week on that, but I've not tested it yet. I'd wanted to wait to submit a PR until everything is working correctly. The latest code is here: https://github.com/dplanella/notes/tree/snappy

That contains a make target (make snap) that automatically generates the snap and bumps its version based on the git revision of the code used to build it.

@nuttyartist
Copy link
Owner Author

@dplanella Oh ok. I probably should have asked you about the state before. So @alex-spataru we'll wait for everything to work as it's should, and after @dplanella would send a PR we'll work on the main script.

@alex-spataru
Copy link
Contributor

@nuttyartist @dplanella Thanks for the information! Ping me if I can help with the packaging.

@nuttyartist nuttyartist changed the title Create automatic packaging for .deb, .rpm and snap Create automatic packaging for .deb, .rpm, snap and flatpack Jul 13, 2016
@nuttyartist
Copy link
Owner Author

@williamjmorenor Are you going to take the steering wheel and help with creating a .rpm and .flatpack packages, so other people could use Notes?

@williamjmorenor
Copy link

I wil work can work in the rpm packaging of this app, then will look at flatpackagin.

@nuttyartist
Copy link
Owner Author

@williamjmorenor Sounds good.

@nuttyartist
Copy link
Owner Author

Hey @williamjmorenor, how's the progress on the rpm?

@nuttyartist
Copy link
Owner Author

I see there is no progress on rpm and flatpack. Fortunately, snap supports other major Linux distros such as Fedora that use rpm, and flatpack and snap mostly have the same goal, so as we already have snap, we'll drop them and not waste energy on them. If some people would like to contribute for that, they're welcome, but it's no longer an open issue.

@alex-spataru Can you create the package_all.sh script that just calls the .deb and .snap scripts? I'm lacking any knowledge in creating script files and thought it would be fairly easy for you.

@alex-spataru
Copy link
Contributor

Yes, I will make a pull request with the new packaging script.

@nuttyartist
Copy link
Owner Author

thanks (: @alex-spataru

@probonopd
Copy link
Contributor

Wrote an AppImage recipe for Notes:
https://github.com/probonopd/AppImages/blob/master/recipes/meta/Notes.yml
It uses the deb from the Releases page and repackages it as an AppImage.

Try it here:
https://bintray.com/probono/AppImages/Notes#files

Some fine-tuning might be needed. Let me know how it works for you.
Would you be interested in providing an official one?

@nuttyartist
Copy link
Owner Author

Looks good,

If you're committed to being available and generate an app image for every release, we're on it. I can't update the website right now, because, with the tool I'm using I can only publish whole of the changes I've made to the website one at the time, so because I've been changing things for version 1.0.0, only when 1.0.0 is out, you can create an app image for it, and I will upload it (:

Thanks @probonopd

@probonopd
Copy link
Contributor

Sure I can do that. If you ping me after each release ;-)

Since it's only one bash file and one tiny yml file (linked above), so if you mirror these two files and run them on after each release, then you could easily do it yourself. Version numbers are not hardcoded, so it should work for each new release automatically.

@probonopd
Copy link
Contributor

The PR above will package the build artefacts from Travis CI as an AppImage and upload them to transfer.sh, where they will be stored for 14 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

6 participants