On Wed, Nov 04, 2020 at 09:32:31PM +0700, Victor Sudakov wrote: > Dear Colleagues, > > 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 while learning, pick a Debian package you care about (not a very complex one) and download the source. Make a work directory, cd there and download a source package (I'm using hello, because it's small) tomas@trotzki:~$ mkdir work tomas@trotzki:~$ cd work tomas@trotzki:~/work$ apt-get source hello Reading package lists... Done Need to get 733 kB of source archives. [...] Apt-get source will download the source package, unpack it, and apply the Debian-specific patches. The result is now in work/hello-2.10 (for buster). Look around; Debian specific stuff (build machinery, patches, metadata) are in its subdir debian. You can install whatever is needed to build your package (the so-called "build dependencies") by doing sudo apt-get build-dep hello Then (in the package dir) you can do dpkg-buildpackage -uc -us and watch the buildery do its magic :-) There are several directions you can branch out from there. Having the manual (pointed at by other nice folks in this thread) handy is highly recommended. One very interesting is how to decouple your build environment from your machine environment (including building for other Debian versions, cross building for other architectures, etc -> pbuilder, sbuild, and my favourite, schroot). Or packaging something new -> Debian New Maintainer's Guide) etc. Enjoy - t
signature.asc
Description: Digital signature