[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: