OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-re Date: 09-Oct-2003 13:25:05
Branch: HEAD Handle: 2003100912250500
Modified files:
openpkg-re speclint.pl
Log:
teach speclint about canonical '%patch ... -P ... <n>' style commands
Summary:
Revision Changes Path
1.53 +12 -0 openpkg-re/speclint.pl
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-re/speclint.pl
============================================================================
$ cvs diff -u -r1.52 -r1.53 speclint.pl
--- openpkg-re/speclint.pl 2 Oct 2003 18:29:23 -0000 1.52
+++ openpkg-re/speclint.pl 9 Oct 2003 11:25:05 -0000 1.53
@@ -1055,6 +1055,18 @@
# parse %setup and %patch commands
$done = ''; $this = ''; $todo = $spec;
+ $todo =~ s/^(\s*\%patch)((?:\s+-\S+)*)((?:\s+\d+)+)\s*$/&expand_patch($1, $2,
$3)/mge;
+ sub expand_patch {
+ my ($cmd, $opts, $nums) = @_;
+ my $cmds = '';
+ $cmds .= "${cmd}0${opts}\n" if ($opts !~ m|\s+-P|s);
+ $opts =~ s|\s+-P||s;
+ while ($nums =~ s|^\s+(\d+)||) {
+ my $num = $1;
+ $cmds .= "${cmd}${num}${opts}\n";
+ }
+ return $cmds;
+ }
while ($todo =~ m/^\s*\%(setup|patch)(\d+)?(\s+.*)?$/m) {
$done .= $`; $this = $&; $todo = $';
my ($type, $num, $opts) = ($1, $2, $3);
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]