Bug#739671: phppear check randomly checks one binary
On 2014-02-21 07:21, Mathieu Parent wrote:
> Package: lintian
> Version: 2.5.21
>
> Hi lintian maintainers,
>
> The phppear check aims to check for special substvars in the main
> binary package, which is usually the first. it is coded like that:
>
> my $binary = $binaries[0];
>
> [ref]: http://anonscm.debian.org/gitweb/?p=lintian/lintian.git;a=blob;f=checks/phppear.pm#l47
>
>
> ... but, $binaries is unordered, and the check will randomly pick one binary.
>
> I don't know where to patch. Any pointer?
>
> Regards
>
Hi,
The result is "unordered" because it is the result of a "keys %{...}"
operation and the order of hash keys are "undefined" in Perl (between
runs at least). It would be simple to get a "defined" order by simply
sorting the keys before returning, but I guess you want the order from
the d/control file?
To do that you would need to patch _load_ctrl to store a reference to
@control_data on $self and then fetch/use that from from the "binaries"
sub. The return-statement would become something like:
return @{ self->{...} };
~Niels
Reply to: