[ 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
signature.asc
Description: signature