On Thu, Nov 05, 2020 at 12:39:34PM +0700, Victor Sudakov wrote: > to...@tuxteam.de wrote: > > > > > > As a person with the FreeBSD background, I'm used to building my own > > > packages with the exact build options I need (those include exim, nginx, > > > samba, clamav and many others). FreeBSD has a good infrastructure for > > > this (ports tree, poudriere et al.) > > > > > > Where can I learn to do a similar thing for Debian? I'd like to have my > > > own package repository which: > > > > If you're the kind of person who needs to get dirty fingers
[...] > Thank you, it was very instructive! Glad you liked the rush through the swamp. I didn't tell you about the crocs, though ;-) > The result of the described magic would be a .deb package, correct? Yes. It's deposited in the package dir's parent directory (in my example that was "work"). > > There are several directions you can branch out from there. [...] > Next I would like to publish those tweaked and local packages in a local > repository in a corporate intranet, so that I could add this repository to > sources.list and its packages should override the standard Debian ones. Ah, a new direction to branch into :-) There are instructions on how to set up a Debian repository, e.g. here [1]. > Maybe however, it is not such a good idea to publish for other systems a > package built outside a clean reference environment. If you keep your dependencies clean, things should work, mostly. If you are building once-offs, you'll learn to cope with the rough edges. Once you are dealing with many "customers", you should master [1] "clean builds", either with sbuild, pbuilder or any other chroot-y or VM-y scheme (I do use schroot to (cross-) build packages for a customer, for example: I deliver one 386/Whezy version (really!) and another for Buster on Raspberry Pi -- all from the comfort of my refurbished Thinkpad). > Actually I would like to get the better of the two worlds: the general good > quality and stability of Debian packages and - for selected packages only - > the flexibility of *BSD ports, or probably Gentoo(?). There are many moving parts, and they can be combined in many ways. That's why I recommend starting with some minimal path (and accepting some mistakes: for example just ignoring "clean builds" for the start) knowing that you'll have to revisit your path once you know more. But there are many different ways to learn... Cheers [1] https://wiki.debian.org/DebianRepository#Set_up_and_maintain_a_repository - t
signature.asc
Description: Digital signature