admin: distfiles/specparser.pl - recognize PatchN-md5:

sparky sparky at pld-linux.org
Tue Jun 14 08:56:54 CEST 2011


Author: sparky                       Date: Tue Jun 14 06:56:54 2011 GMT
Module: admin                         Tag: HEAD
---- Log message:
- recognize PatchN-md5:

---- Files affected:
admin/distfiles:
   specparser.pl (1.24 -> 1.25) 

---- Diffs:

================================================================
Index: admin/distfiles/specparser.pl
diff -u admin/distfiles/specparser.pl:1.24 admin/distfiles/specparser.pl:1.25
--- admin/distfiles/specparser.pl:1.24	Wed Dec  8 20:40:50 2010
+++ admin/distfiles/specparser.pl	Tue Jun 14 08:56:49 2011
@@ -120,7 +120,7 @@
             }
             push @spec, $_;
         } elsif (/^NoSource\s*:\s*(\d+)\s*$/i) {
-            $no_source{$1} = 1;
+            $no_source{ "source" . $1 } = 1;
         }
     }
     close(F);
@@ -241,33 +241,33 @@
 sub add_md5_to_print($) # {{{
 {
     open(F, "< $_[0]") or die("failed opening: " . $_[0]);
-    my @sourcemap = ();
+    my %sourcemap = ();
     while (<F>) {
         chomp;
-        if (/^Source(\d+)\s*:\s*(.*)/i) {
-            my $sourceno = $1;
+        if (/^((?:Source|Patch)\d+)\s*:\s*(.*)/i) {
+            my $sourceno = lc $1;
             my $source = $2;
             # master.dl is outdated currently
             # $source =~ s/dl.sourceforge.net/master.dl.sourceforge.net/;
-            $sourcemap[$sourceno] = $source;
-        } elsif (/^\s*#\s*source(\d+)-md5\s*:\s*([a-f0-9]{32})/i) {
-            my $no = $1;
+            $sourcemap{ $sourceno } = $source;
+        } elsif (/^\s*#\s*((?:source|patch)\d+)-md5\s*:\s*([a-f0-9]{32})/i) {
+            my $no = lc $1;
             my $md5 = $2;
             if (defined $no_source{$no}) {
                 error("both NoSource: $no and md5 given");
-            } elsif (defined $sourcemap[$no]) {
-                my $source = $sourcemap[$no];
+            } elsif (defined $sourcemap{ $no} ) {
+                my $source = $sourcemap{ $no };
                 push @sources, [$no, $md5, $source];
             } else {
                 error("source $no not defined (# SourceN-md5: has to be placed just after SourceN:)");
             }
-        } elsif (/^\s*BuildRequires:\s*digest\(%SOURCE(\d+)\)\s*=\s*([a-f0-9]{32})/i) {
-            my $no = $1;
+        } elsif (/^\s*BuildRequires:\s*digest\(%((?:SOURCE|PATCH)\d+)\)\s*=\s*([a-f0-9]{32})/i) {
+            my $no = lc $1;
             my $md5 = $2;
-            if (defined $no_source{$no}) {
+            if (defined $no_source{ $no }) {
                 error("both NoSource: $no and md5 given");
-            } elsif (defined $sourcemap[$no]) {
-                my $source = $sourcemap[$no];
+            } elsif (defined $sourcemap{ $no }) {
+                my $source = $sourcemap{ $no };
                 push @sources, [$no, $md5, $source];
             } else {
                 error("source $no not defined (# Source digest has to be placed after SourceN:)");
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/admin/distfiles/specparser.pl?r1=1.24&r2=1.25&f=u



More information about the pld-cvs-commit mailing list