]> git.pld-linux.org Git - projects/distfiles.git/commitdiff
- handle NoSource: (send error)
authorMichal Moskal <michal@moskal.me>
Sun, 1 Jun 2003 10:36:42 +0000 (10:36 +0000)
committercvs2git <feedback@pld-linux.org>
Thu, 29 Nov 2012 22:58:14 +0000 (22:58 +0000)
- better error messages

Changed files:
    specparser.pl -> 1.9

specparser.pl

index 66ebdd7dfd511d268b19f9f8ac2b86ee4f3875ff..e8e515bba42ebdb974e8b83532a4bfa4184c7152 100644 (file)
@@ -16,6 +16,8 @@
 sub next_spec($)
 {
   $spec = shift;
+  $base_spec = $spec;
+  $base_spec =~ s|.*/||;
   %macro = ();
   $err_cnt = 0;
 }
@@ -23,12 +25,12 @@ sub next_spec($)
 sub error($)
 {
   $err_cnt++;
-  print "ERROR: $spec: $_[0]\n";
+  print "ERROR: $base_spec: $_[0]\n";
 }
 
 sub warning($)
 {
-  print "ERROR: $spec: $_[0]\n";
+  print "ERROR: $base_spec: $_[0]\n";
 }
 
 sub trim_spaces($)
@@ -111,6 +113,8 @@ sub parse_defines($)
       define("source_$1", expand($2));
     } elsif (/^Patch(\d+)\s*:\s*(.*)/i) {
       define("patch_$1", expand($2));
+    } elsif (/^NoSource\s*:\s*(\d+)\s*$/i) {
+      define("no_source_$1", "1");
     }
   }
   close(F);
@@ -124,8 +128,10 @@ sub print_md5($)
     if (/^\s*#\s*source(\d+)-md5\s*:\s*([a-f0-9]{32})/i) {
       my $no = $1;
       my $md5 = $2;
-      if (defined $macro{"source_$1"}) {
-        my $s = $macro{"source_$1"};
+      if (defined $macro{"no_source_$no"}) {
+        error("both NoSource: $no and md5 given");
+      } elsif (defined $macro{"source_$no"}) {
+        my $s = $macro{"source_$no"};
        if ($s =~ /^([a-z0-9A-Z:\=\?\@\+\~\.\-\/_]|\%[0-9])+$/) {
          if ($s =~ /^(ftp|http):\/\//) {
            if ($s =~ /\/$/) {
This page took 0.06448 seconds and 4 git commands to generate.