r6423 - /scripts/qa/versioncheck.pl
dmn at users.alioth.debian.org
dmn at users.alioth.debian.org
Fri Aug 10 10:57:32 UTC 2007
Author: dmn
Date: Fri Aug 10 10:57:32 2007
New Revision: 6423
URL: http://svn.debian.org/wsvn/?sc=1&rev=6423
Log:
Get uversionmangle support in separate sub(). Use it in cpan_versions and also in latest_upstream_from_watch
Modified:
scripts/qa/versioncheck.pl
Modified: scripts/qa/versioncheck.pl
URL: http://svn.debian.org/wsvn/scripts/qa/versioncheck.pl?rev=6423&op=diff
==============================================================================
--- scripts/qa/versioncheck.pl (original)
+++ scripts/qa/versioncheck.pl Fri Aug 10 10:57:32 2007
@@ -266,6 +266,24 @@
return 1 if $a;
return -1 if $b;
return 0;
+}
+
+sub unmangle( $ $ )
+{
+ my( $ver, $mangles ) = @_;
+
+ return $ver unless $mangles;
+
+ my @vms = map( split(/;/, $_), @$mangles );
+
+ foreach my $vm( @vms )
+ {
+ eval "\$ver =~ $vm";
+ die "<<\$_ =~ $vm>> $@" if $@;
+ debugmsg(" mangled: $ver\n");
+ }
+
+ return $ver;
}
# RETURNS undef if all watch files point to CPAN
@@ -310,15 +328,20 @@
while( s/<a [^>]*href="([^"]+)"[^>]*>// )
{
my $href = $1;
- warn $href;
- push @vers, [$1,$url] if $href =~ $filter;
+ push @vers, [
+ unmangle( $1, $opts->{uversionmangle} ),
+ $url,
+ ] if $href =~ $filter;
}
}
else
{
while( s/(?:^|\s+)$filter(?:\s+|$)// )
{
- push @vers, [$1,$url];
+ push @vers, [
+ unmangle( $1, $opts->{uversionmangle} ),
+ $url,
+ ];
}
}
}
@@ -367,18 +390,7 @@
if( $_ =~ $filter )
{
debugmsg(" looking at $_\n") if 1;
- my $ver = $1;
- if( my $uvms = $opts->{uversionmangle} )
- {
- my @uvms = map( split(/;/, $_), @$uvms );
-
- foreach my $uvm( @uvms )
- {
- eval "\$ver =~ $uvm";
- die "<<\$_ =~ $uvm>> $@" if $@;
- debugmsg(" mangled: $ver\n");
- }
- }
+ my $ver = unmangle( $1, $opts->{uversionmangle} );
push @vers, [$ver, $key];
}
}
More information about the Pkg-perl-cvs-commits
mailing list