Rocket.chat.electron: Provide apt repository for package signing and automated updates

Created on 5 Apr 2016  路  13Comments  路  Source: RocketChat/Rocket.Chat.Electron

I have noticed there are *.deb files available for download, however this solves only one problem (getting the application on the user's PC). While downloads are available over HTTPS, a plain deb file can't be signed by the package maintainer (APT's responsibility), and there's no way to deliver automated updates.

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

linux enhancement

Most helpful comment

I believe the request is to set up one of these: (spotify and few others do this, or similar)
https://wiki.debian.org/SettingUpSignedAptRepositoryWithReprepro
Spotify will never enter debians repos. Once this package enters debian, there will be no need for it.
You could also automate with jenkins
https://wiki.jenkins-ci.org/display/JENKINS/Debian+Package+Builder+Plugin

The request will then flow for RPM and repo etc etc. Suse have a build studio platform that you could use instead. https://build.opensuse.org/

For debian itself a RequestForPackaging has already been filed. I believe that debian prefer this not to be the upstream developers.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=813713

hope this helps.

EDIT: seems issue #24 is to do just this, https://software.opensuse.org/download.html?project=isv:ownCloud:community&package=owncloud for instance, click on debian and you can see that a signing key is available.

All 13 comments

How can we do that?

Ubuntu has PPAs. Not sure what's the situation on Debian, usually mixing any flavor with Ubuntu's PPAs is a recipe for disaster.

There's https://packagecloud.io/ but they provide very little information about OSS hosting.

What's your current process for building packages? The downloadable .deb seems to dynamically link against a whole load of libraries, but there's no dependency information in control.tar.gz/control.

I do the build manually on my OS X and I use a Ubuntu and Windows VM to build the respective packages/installers.

I believe the request is to set up one of these: (spotify and few others do this, or similar)
https://wiki.debian.org/SettingUpSignedAptRepositoryWithReprepro
Spotify will never enter debians repos. Once this package enters debian, there will be no need for it.
You could also automate with jenkins
https://wiki.jenkins-ci.org/display/JENKINS/Debian+Package+Builder+Plugin

The request will then flow for RPM and repo etc etc. Suse have a build studio platform that you could use instead. https://build.opensuse.org/

For debian itself a RequestForPackaging has already been filed. I believe that debian prefer this not to be the upstream developers.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=813713

hope this helps.

EDIT: seems issue #24 is to do just this, https://software.opensuse.org/download.html?project=isv:ownCloud:community&package=owncloud for instance, click on debian and you can see that a signing key is available.

I'll second using build.opensuse.org to target a number of platforms (including openSUSE). This is one thing that is holding me back from standing up Rocket.Chat here at work (we use openSUSE on dev machines).

Unlikely to be able to build on build.opensuse.org for related reasons here:
https://github.com/RocketChat/Rocket.Chat.Electron/issues/24#issuecomment-225578565

If you have ideas, I'm open to them.

As long as I can get it installed on openSUSE would be great!

Or you could use electron-builder which produces .deb, .rpm, and AppImage automatically.

https://bintray.com/ can be a option for you as well for distributing and populating your deb. package

Any progress on this? Having to update the client manually is pretty annoying.

I'd like to see an AppImage, too. AppImage provides an easy-to-use update mechanism with support for GitHub releases. You just add so-called update information to your AppImage, which points to your GitHub release page. Then, you just upload the AppImage to your release page. AppImageUpdate (the updater app) will then just check for new releases on the release page, and update to the latest release. 100% decentral, i.e. no app stores, no centralistic and proprietary intermediary "app store" thingies.

+1 to apt repo

FYI there's a command line tool called aptly that has a pretty sane approach to Debian repository management. It produces a directory that you can serve as static files through any web server.

In contrast to many other apt repo tools, you can automate it pretty easily for CI/CD workflows.

Was this page helpful?
0 / 5 - 0 ratings