#881640 pbuilder: --preserve-buildplace is broken with pbuilder-satisfydepends-classic

#881640#5
Date:
2017-11-13 19:32:20 UTC
From:
To:
Package: pbuilder
Version: 0.229
Severity: normal

Since a recent upload, pbuilder copies and extracts the source package
in the chroot before invoking the satisfydepends script.  With the
combination of pbuilder-satisfydepends-classic and
--preserve-buildplace, this breaks things because the chroot "cache
directory" is no longer left in its initial (clean) state.

This especially breaks things with my setup, which contains a
post-unpack hook which relies on there being exactly one source
package in /build.  (The setup, which was the original use case I had
in mind in implementing --preserve-buildplace in the first place, is a
script to maintain a "dogfooding" local mirror of bootstrapped
packages, and run a loop that goes through all the packages that
haven't been bootstrapped so far trying to build them all.  So, the
--preserve-buildplace is essential to get any kind of speed when most
of the packages don't yet have satisfiable Build-Depends from the
bootstrapped set.)

(It would also be nice if pbuilder-satisfydepends-apt would support
--preserve-buildplace by returning exit code 2 if "apt-get -s
build-dep" fails.  That would be so much faster than
pbuilder-satisfydepends-classic.)

#881640#10
Date:
2017-11-13 21:49:07 UTC
From:
To:
Daniel Schepler dixit:

I think this is the scenario in which you use cowbuilder instead.

Hmm. I just have either a local repo or even just this…
http://www.mirbsd.org/cvs.cgi/contrib/hosted/tg/deb/hookdir/D00local?rev=HEAD
… which makes *.deb under /var/cache/apt available, or another
almost identical script that makes *.deb under /repo available: