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

Bug#536397: lintian: False positive with command-with-path-in-maintainer-script



Adam D. Barratt wrote:

> On Thu, 2009-07-09 at 09:58 -0700, Russ Allbery wrote:
>> Stefan Fritsch <sf-DkZZHUWRXjYb1SvskN2V4Q@public.gmane.org> writes:
>> > chmod `dpkg-statoverride --list /usr/sbin/apache2 | cut -f 3`
>> > /usr/sbin/apache2
>> 
>> This is a bug in $LEADIN that causes it to catch things immediately
>> after the *closing* backtick in a backtick expression.  This will also
>> affect checkbashisms in devscripts.
>> 
>> I think the fix is to change:
>> 
>>     our $LEADIN = qr'(?:(?:^|[`&;(|{])\s*|(?:if|then|do|while)\s+)';
>> 
>> to:
>> 
>>     our $LEADIN =
>>     qr'(?:(?:^|[&;(|{]|^[^`]*`)\s*|(?:if|then|do|while)\s+)';
>> 
>> but I'm not sure and could use more review.
> 
> I can't find any obvious issues with it from a few tests, fwiw.
> 

I can.

$ cat /tmp/prove
#!/bin/sh
true `basename "$0"` `echo -e "foo\nbar"`

(suppose true is some other program)

Original checkbashisms:
$ checkbashisms /tmp/prove
possible bashism in /tmp/prove line 2 (echo -e):
true `basename "$0"` `echo -e "foo\nbar"`

checkbashisms with new $LEADIN:
$ checkbashisms /tmp/prove
(nothing)

Cheers,
-- 
Raphael Geissert - Debian Developer
www.debian.org - get.debian.net





Reply to: