Bug#797858: devscripts: build-rdeps does not work for any but the most trivial dependency situatinos

Jakub Wilk jwilk at debian.org
Thu Sep 10 14:21:26 UTC 2015


Hi Johannes!

[Disclaimer: I'm not a devscripts maintainer.]

* Johannes Schauer <josch at debian.org>, 2015-09-03, 07:08:
>the only situation in which build-rdeps works reliably is if
>
> - the source package specifies "Build-Depends: foo"
> - foo is a real package
> - all source packages using foo directly depend on it
> - foo is Multi-Arch:no

To be fair, the documentation doesn't promise that build-rdeps considers 
indirect dependencies, or cross-arch dependencies, or virtual packages. 
So it's not that build-rdeps works unreliably; it's just it doesn't 
meet your expectations. That said, your expectations are of course 
quite reasonable.

>If dose-ceve is installed (and new enough) then build-rdeps will use it 
>to calculate the reverse build dependencies of a binary packages. If 
>dose-ceve is not installed (or too old) then it will warn that it will 
>use the old unreliable behavior instead.

I don't like the idea of that the command semantics completely changes 
when you install or uninstall a package. I'd rather see build-rdeps fail 
with no output if dose-ceve can't be used.

>If dose-ceve is installed (and new enough) then the old behaviour can 
>be forced with the --without-ceve command line argument.

I don't like the option name. Most people don't know what ceve stands 
for, and it's an implementation detail anyway. (What if edos^Wdose 
maintainers decide to rename it to dose-evec? ;>)

Your patch doesn't seem to handle contrib and non-free correctly. I get:

>Reverse Build-depends in contrib:
>---------------------------------
>
>No reverse build-depends found for dh-autoreconf.

even though of course there ARE packages in contrib build-depending on 
dh-autoreconf.

>+	$packages_path =~ s/_source_Sources$/_binary-${opt_buildarch}_Packages/;

The need for *_Packages should be documented in the REQUIREMENTS section 
of the manpage.

On my machine, your implementation is ~100x slower than the current one. 
:\

-- 
Jakub Wilk



More information about the devscripts-devel mailing list