Bug#661561: lintian: Please improve source-contains-waf-binary tag
On 2012-02-28 00:59, Dmitrijs Ledkovs wrote:
> Package: lintian
> Version: 2.5.5
> Severity: normal
>
Hi,
> The waf tag implemented in #654523 generates false positives, when
> package has implemented changes as described in
> http://wiki.debian.org/UnpackWaf
>
> source-contains-waf-binary tag will still be triggered, since executable
> python file called 'waf' is still present after unpacking.
>
I see that I am missing an "if" clause here, which is probably the
source of this issue[1]. I will get that fixed soonish. I have CC'ed
the ftp-masters, so they are aware of it.
[1] Actually, I am missing "unless $ok" in line 178 of checks/cruft.
> Here are some possible additional conditions to add, which will
> remove false positives for the case when UnpackWaf was performed:
>
> - AND waflib/ does not exist
As far as I understood Luca, the idea was that you would have to strip
out the tar.bz2 file from the waf file, so the presence of this
directory cannot be used as indicator.
> - AND waf is < 5kB
I suspect it is possible to generate a waf file with a tar.bz2 in less
than 5kB. Unlikely perhaps, but possible.
> - AND waf does not contain regexp ^#==>$
> - AND waf is plain text / doesn't contain funny binary data
>
We use an extended variant for that as fall-back. We check that there
is (or isn't) a bz header after the #==> marker. I just managed to
"leave out" the "if" that ignores the "waf"-file if the bz2 file is not
found.
You can see the actual check in checks/cruft (installed as
/usr/share/lintian/checks/cruft) around line 154 to 178.
> Please let me know what you prefer best and I can implement a patch.
>
> Regards,
>
> Dmitrijs.
>
Thanks for the offer.
~Niels
Reply to: