[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Building my own packages



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

Attachment: signature.asc
Description: Digital signature


Reply to: