admin: distfiles/specparser.pl - allow repeated SourceN + md5
sparky
sparky at pld-linux.org
Mon Mar 12 21:47:36 CET 2007
Author: sparky Date: Mon Mar 12 20:47:36 2007 GMT
Module: admin Tag: HEAD
---- Log message:
- allow repeated SourceN + md5
---- Files affected:
admin/distfiles:
specparser.pl (1.12 -> 1.13)
---- Diffs:
================================================================
Index: admin/distfiles/specparser.pl
diff -u admin/distfiles/specparser.pl:1.12 admin/distfiles/specparser.pl:1.13
--- admin/distfiles/specparser.pl:1.12 Mon Dec 18 12:57:40 2006
+++ admin/distfiles/specparser.pl Mon Mar 12 21:47:30 2007
@@ -105,13 +105,13 @@
while (<F>) {
chomp;
if (/^\s*\%(define|global)\s+([^\s]+)\s+([^\s].*)$/) {
- define($2, $3);
+ define($2, $3);
} elsif (/^Version\s*:\s*(.*)/i) {
define("version", $1);
} elsif (/^Name\s*:\s*(.*)/i) {
define("name", $1);
- } elsif (/^Source(\d+)\s*:\s*(.*)/i) {
- define("source_$1", expand($2));
+ #} elsif (/^Source(\d+)\s*:\s*(.*)/i) {
+ # define("source_$1", expand($2));
} elsif (/^Patch(\d+)\s*:\s*(.*)/i) {
define("patch_$1", expand($2));
} elsif (/^NoSource\s*:\s*(\d+)\s*$/i) {
@@ -124,15 +124,20 @@
sub print_md5($)
{
open(F, "< $_[0]") or die;
+ my $sourceno = undef;
+ my $source = undef;
while (<F>) {
chomp;
- if (/^\s*#\s*source(\d+)-md5\s*:\s*([a-f0-9]{32})/i) {
+ if (/^Source(\d+)\s*:\s*(.*)/i) {
+ $sourceno = $1;
+ $source = expand($2);
+ } elsif (/^\s*#\s*source(\d+)-md5\s*:\s*([a-f0-9]{32})/i) {
my $no = $1;
my $md5 = $2;
if (defined $macro{"no_source_$no"}) {
error("both NoSource: $no and md5 given");
- } elsif (defined $macro{"source_$no"}) {
- my $s = $macro{"source_$no"};
+ } elsif (defined $sourceno and ($sourceno == $no)) {
+ my $s = $source;
if ($s =~ /^([a-z0-9A-Z:\=\?\@\+\~\.\-\/_]|\%[0-9])+$/) {
if ($s =~ /^(ftp|http|https):\/\//) {
if ($s =~ /\/$/) {
@@ -152,9 +157,13 @@
} else {
error("source $no url $s is ill-formatted");
}
+ } elsif (defined $sourceno) {
+ error("found md5 for source $no, but last defined source is $sourceno");
} else {
error("source $no not defined");
}
+ $sourceno = undef;
+ $source = undef;
}
}
close(F);
================================================================
---- CVS-web:
http://cvs.pld-linux.org/admin/distfiles/specparser.pl?r1=1.12&r2=1.13&f=u
More information about the pld-cvs-commit
mailing list