6 ms·
Agreed, I've tried and failed to make Debian packages, and have no idea how to proceed. In contrast, with Gentoo and their documentation, it was straightforwar
by billsix 8y ago
Agreed, I've tried and failed to make Debian packages, and have no idea how to proceed.
In contrast, with Gentoo and their documentation, it was straightforward for me to make my own additional, separate repo, look at other ebuilds to see how packaging works, and have everything just work.
https://github.com/billsix/billsix-portage https://github.com/billsix/billsix-portage
I submit ebuilds to Gentoo itself if I think others would benefit.
As far as I can tell, packaging for Arch is straightforward as well.
- bamboozled 8y agoNixOS was also easy to get started with, I really like it !
- endgame 8y agoAgreed, Gentoo and Nixpkgs both have really helpful people onboarding new packagers.
- nextos 8y agoNixOS (Nixpkgs actually) is indeed incredibly simple to contribute to. It's a monorepo, and packages are declarative. So for most usecases, its just 5-10 LOC describing the source location, dependencies and build process. After that, if it builds on your local copy of Nixpkgs, it will build on the same Nixpkgs commit as everything is purely functional. A simple PR is all you need. For updates, there's super low burden too. Thanks to packages being declarative, everything is quite explicit. So a bot can check for source updates upstream, update your package and rebuild it. All it requires is simple maintainer approval.
- Shoue 8y agoYeah the packaging part of NixOS/Nixpkgs is very pleasant. You write a "config" in the Nix language (example[1] of vorbis-tools, it's <40 LOC), open a PR on Github and it'll be submitted provided you follow the CR feedback. As a user you'd later download the built binary from the NixOS cache so you don't have to build it yourself. [1]: https://github.com/NixOS/nixpkgs/blob/fce8f26af6ef8209c7d282938e9457438746841b/pkgs/applications/audio/vorbis-tools/default.nix https://github.com/NixOS/nixpkgs/blob/fce8f26af6ef8209c7d282...
- int_19h 8y agoAnd FreeBSD ports (which, if I remember correctly, inspired a lot of things in the Gentoo packaging system).
- crehn 8y agoShameless plug: https://github.com/hoffa/debpack https://github.com/hoffa/debpack It won't pass all lintian tests due to the ridiculous requirements and useless ceremony "correct" Debian packages need. Still working on it.
- Conan_Kudo 8y agoIf we're plugging tools we use to make Debian packages without dealing with the insanity of Debian tooling, I use debbuild[1] with OBS[2] for the bulk of my packaging at work for Debian/Ubuntu systems. As it turns out, it doesn't take that much effort to make packages that comply with Fedora/openSUSE Packaging Guidelines and Debian Policy with this tool, and it has drastically simplified my ability to maintain software across distributions in a way that still cleanly integrates with the distribution platform. This is how the Spacewalk Debian/Ubuntu client packages are built[3][4], among many other things. There's also a few other examples out in the wild[5][6][7]. At least for the stuff I make for myself, I haven't made packages that fully pass lintian, but it's not terribly difficult to do if you want to. [1]: https://github.com/ascherer/debbuild https://github.com/ascherer/debbuild [2]: https://openbuildservice.org/ https://openbuildservice.org/ [3]: https://gitlab.com/datto/engineering/spacewalk-debian-client-packages https://gitlab.com/datto/engineering/spacewalk-debian-client... [4]: https://build.opensuse.org/project/show/systemsmanagement:spacewalk:2.9:debclients https://build.opensuse.org/project/show/systemsmanagement:sp... [5]: https://pagure.io/python36-flatpkg-deb https://pagure.io/python36-flatpkg-deb [6]: https://pagure.io/rpmdevtools-deb https://pagure.io/rpmdevtools-deb [7]: https://build.opensuse.org/package/view_file/Virtualization:Appliances:Builder/python-kiwi/python-kiwi.spec?expand=1 https://build.opensuse.org/package/view_file/Virtualization:...
- kakwa_ 8y agoAnother shameless plug: https://github.com/kakwa/amkecpak https://github.com/kakwa/amkecpak It doesn't exactly simplify the Debian packaging in my case as it leaves the packaging mostly exposed. But it provides a lot of far more convenient and easy to remember commands (make rpm, make deb, make deb_repo, make rpm_repo, etc) compared to the easy to forget options of rpmbuild/mock and dpkg-buildpackage/cowbuilder. It also glues everything together from upstream source recovery to building the final repository ready to be rsynced on a public server.
- Riverheart 8y agoProbably won't help with Debian official packages but I've found success with these materials. https://linuxconfig.org/easy-way-to-create-a-debian-package-and-local-package-repository https://linuxconfig.org/easy-way-to-create-a-debian-package-... And then a quality of life enhancement says push the package building off to FPM. https://github.com/jordansissel/fpm https://github.com/jordansissel/fpm Personal Repo https://www.digitalocean.com/community/tutorials/how-to-use-reprepro-for-a-secure-package-repository-on-ubuntu-14-04 https://www.digitalocean.com/community/tutorials/how-to-use-...
- imglorp 8y ago> Community: If a newbie has a bad time, it's a bug. This is the root of the Debian newbie community experience. FPM seems to get it at least.