Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
4
rated 0 times [  4] [ 0]  / answers: 1 / hits: 496  / 2 Years ago, wed, december 15, 2021, 10:14:29

I've been inspecting different howto's and guides on how to build packages lately. And there seems to be a lot of ways one could go about it. So I'm a bit confused about what exactly to use. That is I'm trying to see the whole picture. What tools exist? What are the relationships between them? Which are wrappers for which? Which are better suited for what? Like, apt-get source is probably mainly targeting users, not developers. Better alternative must be dget. Which are the alternatives for which? To name a few there are pbuilder, pdebuild, pbuilder-dist, cowbuilder, sbuild, debuild, dpkg-buildpackage, fakeroot. And there must be a lot more I don't even know about. What are the most common workflows?


More From » packaging

 Answers
7

What I managed to find out. First, there is this brief description which is what I mostly ask here.



At the core of the build system lies dpkg-buildpackages, which uses fakeroot, which in its turn runs debian/rules (which is a makefile) to bulid a package. And that might be enough if you're going to build a package for internal use for the release you're running it in.



If on the other hand you're aiming at contibuting to debian/ubuntu, you're going to use at least debuild, which runs lintian and signs the files.



If you want to target different debian/ubuntu releases, you're going to use pbuilder, which among other things builds packages in a clean environment not clobbered with your already installed packages to see the actual dependencies. One might consider using pbuilder-dist to simplify matters even more.



There's pdebuild which is said to be "pbuilder way of doing debuild". I don't see it running lintian, but that might be not in line with pbuilder way.



Then there's also cowbuilder, if you want to speed up building packages (wrapper around pbuilder?). There are also tools for building from git repositories, I haven't dug into.



UPD I'm told on #debian-mentors that "sbuild behaves the same as the buildd, less surprises", that "pbuilder's support for experimental is just wrong", that "OTOH sbuild still misses something to take away network from the build process", and that pbuilder is not maintained. Taking away network is needed since building packages should not rely on it being present, they shouldn't download anything.



schroot from experimental is supposedly able to isolate (unshare) network.


[#19788] Friday, December 17, 2021, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
poefor

Total Points: 379
Total Questions: 95
Total Answers: 115

Location: Serbia
Member since Tue, Jul 26, 2022
2 Years ago
;