Re: PW#5-12: New upload procedure
schwarz@monet.m.isar.de (Christian Schwarz) wrote on 13.01.98 in <[🔎] 199801132234.XAA04243@klee.painters.schwarz-online.com>:
> So, if a package upload fixes some bugs, the maintainer should include
> some tags in the debian/changelog file that use the following syntax
> (Perl regexp syntax, case-insensitive):
>
> /fixes:\s*(bug)?\#\d+\(,\s*(bug)?\#\d+\)*/i
>
> Here is an example for those that do not speak Perl:
>
> foo (1.0-5) unstable; urgency=low
>
> * Recompiled with libc6, fixes: Bug#98765, Bug#98766
> * Removed `rm -rf /' from postrm script, fixes:#99999
>
> -- Wile E. Coyote <coyote@debian.org> Wed, 29 Oct 1997 14:22:37
> -0600
The regexp doesn't match the example. It does match
fixes: bug#123(, bug#345)))))))))))))))))
which is probably not what you intended :-)
In Perl regular expressions, alphanumeric characters always match
literally unless preceded by a backslash, and non-alphanumeric characters
always match literally if preceded by a backslash.
So, take out the backslashes before the parentheses, and you are fine.
OTOH, every () sets one of the $1 $2 ... variables; if you want to avoid
that (that's more for the actual implementation than for the policy
manual), use (?: ) instead of ( ) to not touch those variables.
Here's a short explanation of the corrected regex:
/fixes:\s*(bug)?\#\d+(,\s*(bug)?\#\d+)*/i
fixes: matches "fixes:"
\s* matches zero or more whitespace characters
(in C: one of " \t\n\r\f")
bug matches "bug"
(thing)? matches "" or "thing"
\# matches "#"
\d+ matches some digits, at least one
, matches ","
(thing)* matches "", "thing", "thingthing", and so on
/thing/i matches "thing", "Thing", "tHiNg", and so on
MfG Kai
Reply to: