Need help for packaging noise-repellent
Moderators: MattKingUSA, khz
- lucianodato
- Established Member
- Posts: 156
- Joined: Sat May 15, 2010 9:00 pm
- Has thanked: 3 times
- Been thanked: 16 times
Need help for packaging noise-repellent
Hello linuxmusicians, I'm looking to make a decent release of noise-repellent and I would like to release packages for different distributions, what are the best options today? Do I have to make a deb package, a ppa, a pkgbuild? Are snaps and flatpacks useful for this? What is the best workflow? Do any of you have any insights?
Arguy (IRC)
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: Need help for packaging noise-repellent
Hilucianodato wrote:Hello linuxmusicians, I'm looking to make a decent release of noise-repellent
Nice.
oh, that would be a hole lot of work. I'm prefer to leave that task to the packagers of the different distributions.lucianodato wrote:and I would like to release packages for different distributions
But, if you really like to go this way, the openSuse Build Service may be a option for you.
https://build.opensuse.org/
It supports a bunch of distributions (SUSE , Arch Linux, Debian, Red Hat, Ubuntu ) see more here :
https://en.opensuse.org/openSUSE:Build_ ... ld_targets
Or, you could make a self extracting Installer with the binary's , when your dependency list is small, it should work for most distributions.
http://makeself.io/
On the road again.
- SpotlightKid
- Established Member
- Posts: 260
- Joined: Sun Jul 02, 2017 1:24 pm
- Has thanked: 57 times
- Been thanked: 61 times
Re: Need help for packaging noise-repellent
IMHO, if you make it easy for distribution packagers, they will come. That means:
- State the URL of the project clearly.
- Have the version number of the project in a file in a way that's easy to parse (e.g. a Makefile variable, a file version.h or similar) and keep it up to date.
- Have a file called LICENSE[.txt] in the sources, that has the license text (preferably a standard OSS license).
- For each release provide a tarball or zip that includes the version number in the file name and stays available at the same URL forever.
- Have a README or INSTALL file in the sources that clearly lists the steps to compile and install the software. Document any configure or make flags for compiling in special features or libraries. Document all dependencies.
- Avoid including third-party libraries in your sources and/or linking them statically. If you must do so so, provide a way to compile your project with already installed versions of third-party libraries and, preferably, linking them dynamically.
- Check that your software compiles with modern GCC versions (i.e. at the moment GCC 6 and 7).
- Make it easy to find a way to provide feedback, support requests or bug reports for your software, i.e. state a contact address or a bug tracker URL prominently on your project's web site.
I could go on, but I think these are the most important things. If you want to create packages for some distributions yourself, I suggest starting with creating a PKGBUILD file for the Arch Linux User Repository, since they are very easy to write.
https://wiki.archlinux.org/index.php/Creating_packages
Chris
- State the URL of the project clearly.
- Have the version number of the project in a file in a way that's easy to parse (e.g. a Makefile variable, a file version.h or similar) and keep it up to date.
- Have a file called LICENSE[.txt] in the sources, that has the license text (preferably a standard OSS license).
- For each release provide a tarball or zip that includes the version number in the file name and stays available at the same URL forever.
- Have a README or INSTALL file in the sources that clearly lists the steps to compile and install the software. Document any configure or make flags for compiling in special features or libraries. Document all dependencies.
- Avoid including third-party libraries in your sources and/or linking them statically. If you must do so so, provide a way to compile your project with already installed versions of third-party libraries and, preferably, linking them dynamically.
- Check that your software compiles with modern GCC versions (i.e. at the moment GCC 6 and 7).
- Make it easy to find a way to provide feedback, support requests or bug reports for your software, i.e. state a contact address or a bug tracker URL prominently on your project's web site.
I could go on, but I think these are the most important things. If you want to create packages for some distributions yourself, I suggest starting with creating a PKGBUILD file for the Arch Linux User Repository, since they are very easy to write.
https://wiki.archlinux.org/index.php/Creating_packages
Chris
- lucianodato
- Established Member
- Posts: 156
- Joined: Sat May 15, 2010 9:00 pm
- Has thanked: 3 times
- Been thanked: 16 times
Re: Need help for packaging noise-repellent
I believe I have all those checked. Noise repellent is at -> https://github.com/lucianodato/noise-repellent if you want to take a look
Arguy (IRC)
Re: Need help for packaging noise-repellent
Hi Luciano, your software is pleasure to build. I just created an ARCH Linux PKGBUILD and I am OK with maintaining it. If you are OK, I will just upload it to the AUR with all the other packages I maintain.lucianodato wrote:I believe I have all those checked. Noise repellent is at -> https://github.com/lucianodato/noise-repellent if you want to take a look
- lucianodato
- Established Member
- Posts: 156
- Joined: Sat May 15, 2010 9:00 pm
- Has thanked: 3 times
- Been thanked: 16 times
Re: Need help for packaging noise-repellent
It's up: https://aur.archlinux.org/packages/noise-repellent-git/lucianodato wrote:Please do! Thanks!