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

Re: Building my own packages



On Thu, Nov 05, 2020 at 12:39:34PM +0700, Victor Sudakov wrote:
> tomas@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

Attachment: signature.asc
Description: Digital signature


Reply to: