Package: dgit
Version: 1.4
Severity: normal
Hi,
one of the advantages of using sbuild or pbuilder is, that I do not need
to have the potentially heavy build dependencies installed on my host
system but only temporary in the respective chroots.
So I was surprised that doing `dgit sbuild` ran dpkg-buildpackage to
build the source package which runs dpkg-checkbuilddeps which in turn
requires me to have all build dependencies installed on my host system.
The second problem with dpkg-checkbuilddeps are conflicts. I do not want
to have to remove any packages conflicting with my source package if I'm
gonna build with sbuild anyways.
Now there is the -wdd option which lets dpkg-checkbuilddeps not be run
but besides this rather being an ugly hack, I wonder why debian/rules
clean (which might require build dependencies or conflicts) has to be
run at all? If running with -wdd I might still have to remove packages
from my system (because they conflict) or install them (because the
clean target needs them).
Why is dpkg-checkbuilddeps run in the first place? Do you need it to run
the debian/rules clean target? Is my git tree not already clean?
If dpkg-buildpackage is just used to create the source package, then it
is probably better to run `dpkg-source -b .` instead. This is also
documented in the dpkg-buildpackage man page for the `-S` option.
I tried to apply the following patch:
@@ -3103,7 +3103,7 @@ sub build_source {
$sourcechanges = "${package}_".(stripepoch $version)."_source.changes";
$dscfn = dscfn($version);
if ($cleanmode eq 'dpkg-source') {
- runcmd_ordryrun_local (@dpkgbuildpackage, qw(-us -uc -S)),
+ runcmd_ordryrun_local (@dpkgsource, qw(-b .)),
changesopts();
} elsif ($cleanmode eq 'dpkg-source-d') {
runcmd_ordryrun_local (@dpkgbuildpackage, qw(-us -uc -S -d)),
but it seems that later on, dgit requires a .changes file which seems to
be the reason why it is run. This is a pity because sbuild would've
created that changes file if it were able to run. Is there something in
dgit that requires something from the changes file *before* running
sbuild?
Thanks!
cheers, josch