[ disclaimer: sbuild maintainer here - totally biased ]

Quoting Mattia Rizzolo (2016-11-28 12:06:19)
> On Mon, Nov 28, 2016 at 09:52:39PM +1100, Scott Leggett wrote:
> > (inspired by a blog post[0]), [0]
> > https://people.debian.org/~stapelberg/2016/11/25/build-tools.html
> I'll only say that 1) I fail to see where is this extrem complications in the
> toolchain the author is suggesting

this also escapes me. I would never claim sbuild to be less complex than
pbuilder. Of course sbuild is much more complex and thus it is much more
awesome than pbuilder.  ;)

In all seriousness - sbuild is a beast in itself. Lots of code is just to
preserve the ability to build packages independent of the Debian release
running inside the chroot. Things would be *much* easier if we could just
assume that apt 1.4 was available inside the chroot. The rest of the
complication comes from the support of multiple chroot backends - from schroot
to qemu or lxc.

My personal reason to prefer sbuild over pbuilder is just that if I find a bug
in sbuild then I know how to fix it (it's very readable Perl). Writing bash for
pbuilder is one of my greatest nightmares. :D

> 2) neither use of sbuild nor pbuilder is mandatory to build packages

In fact I like that we have two popular builders. It's much easier to find bugs
if there are multiple implementations of a mechanism that is intended to do the
same thing. As long as there are people maintaining it, I see no reason to drop
either.

> I can very much assure you such difference has nothing to do with the builder
> used.  You either have different build-deps installed that behaves
> differently, or you're actually building different source packages.  Or in
> pbuilder *you* (it's not done by pbuilder itself) are exporting
> DH_ALWAYS_EXCLUDE from somewhere and you're not doing it in sbuild.

If you really somehow export DH_ALWAYS_EXCLUDE somewhere, then the reason this
does not show up in sbuild is, that sbuild only allows certain variables from
your environment to "leak" into your build. Which variables those are is
determined by the "environment filter" which is a list of regular expressions.
Only environment variables matching at least one of these regexes are passed on
into the build. The default set of regexes does not contain a regex that
matches DH_ALWAYS_EXCLUDE. See "ENVIRONMENT_FILTER" in sbuild.conf for more
information.

Thanks!

cheers, josch

Attachment: signature.asc
Description: signature

Reply via email to