Adam D. Barratt wrote:
> On Sat, 2009-05-30 at 21:31 -0500, Raphael Geissert wrote:
>> Package: devscripts
>> Version: 2.10.49
>
> Are all of the issues you mentioned actually found by that version of
> the script? (It's not even the latest /released/ version, and doubly
> inaccurate if any of the issues only occur with the changes from your
> last report).
By the time I last upgraded my machine, .49 was still in testing; and .50
doesn't include any change to checkbashisms anyway. And no, the FPs
reported here are irrelevant to the other bug I submitted, as I plan to
mention the "to be introduced" FPs in the other report :)
>
>> Severity: important
>
> Really? :-) Unless I've missed something in one of the reports, I don't
> see what makes this particular set of misdetections more "important"
> than any other tbh.
Incorrectly counting the number of quotation marks and leading to some
blocks not/being checked seemed important to me :).
>
> "Yay". The new and improved $"" check hasn't elicited any complaints for
> over six months - I knew it was going too well. :-/ Cloned as #531326.
>
I hadn't performed an archive-wide run since, hence the lack of reports :)
By the way, those are just some of the many samples, but most are too
similar to include them all.
>> gjots2_2.3.4-2.1_all.deb
>> possible bashism in ./usr/bin/gjots2html line 76 (brace expansion):
>> m4_changequote({{{{,}}}})
>>
>> Caused due to incorrectly counting the number quotation marks.
>> Fix:
>> @@ -265,7 +265,7 @@ foreach my $filename (@ARGV) {
>> $templine =~ s/$otherquote.*?$quote.*?$otherquote//g;
>> # "\""
>> $templine =~ s/(^|[^\\])$quote\\$quote$quote/$1/g;
>> - my $count = () = $templine =~ /(^|[^\\])$quote/g;
>> + my $count = () = $templine =~ /(^|(?!\\))$quote/g;
>>
>> # If there's an odd number of non-escaped
>> # quotes in the line it's almost certainly the
>
> Hmmm, okay. Note that while this may fix this instance, our bĂȘte noire
> git-instaweb still isn't parsed correctly. :-/
I know :( I re-checked git-instaweb and some other FPs.
>
>> -------------------
[...]
>>
>> @@ -451,6 +451,9 @@ sub script_is_evil_and_wrong {
>>
>> $ret = $. - 1;
>> last;
>> + } elsif (m'@DPATCH@') {
>> + $ret = $. - 1;
>> + last;
>
> Yeah. It'll still miss cases where the dpatch includes a valid /bin/sh
> script with bashisms, but it's better than nothing.
>
As long as those bashisms are above the @DPATCH@ line, they will be checked.
Or did you mean something else?
Cheers,
--
Raphael Geissert - Debian Maintainer
www.debian.org - get.debian.net
--
To unsubscribe, send mail to [email protected].