scripts/macros.python tools/Makefile misc/Makefile doc/Makefile
doc/manual/Makefile doc/fr/Makefile doc/ja/Makefile doc/ko/Makefile
doc/pl/Makefile doc/ru/Makefile doc/sk/Makefile python/Makefile
-diff -urN rpm-4.3.org/scripts/perl.req rpm-4.3/scripts/perl.req
---- rpm-4.3.org/scripts/perl.req 2004-01-07 01:51:04.911464416 +0100
-+++ rpm-4.3/scripts/perl.req 2004-01-07 01:55:17.030076058 +0100
+--- rpm-4.4.9/scripts/perl.req.orig 2006-07-08 16:13:50.000000000 +0200
++++ rpm-4.4.9/scripts/perl.req 2008-03-24 01:13:31.985544655 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!@__PERL@
- # RPM (and it's source code) is covered under two separate licenses.
+ # RPM (and its source code) is covered under two separate licenses.
@@ -41,7 +41,11 @@
}
} else {
-@@ -49,14 +53,22 @@
+@@ -49,7 +53,11 @@
# contents of the file.
foreach (<>) {
}
}
+@@ -203,19 +211,41 @@
- foreach $module (sort keys %require) {
- if (length($require{$module}) == 0) {
-- print "perl($module)\n";
-+ if ($module =~ /^[0-9._]+$/) {
-+ print "perl >= $module\n";
-+ } else {
-+ print "perl($module)\n";
-+ }
- } else {
+ $module =~ s/\(\s*\)$//;
+
+- if ( $module =~ m/^v?([0-9._]+)$/ ) {
++ if ( $module =~ m/^(v?)([0-9._]+)$/ ) {
+ # if module is a number then both require and use interpret that
+ # to mean that a particular version of perl is specified
+
+- my $ver=$1;
+- if ($ver =~ /5.00/) {
+- print "perl >= 0:$ver\n";
+- next;
+- }
+- else {
+- print "perl >= 1:$ver\n";
+- next;
+- }
++ my $ver=$2;
++ if (($1 eq 'v') or ($ver =~ /[0-9]+\.[0-9]+\.[0-9]+/)) {
++ # $V-style
++ if ($ver =~ m/5\.([0-5])(\.([0-9]+))?$/) {
++ if (defined $3) {
++ print "perl-base >= 0:5.00$1_$3\n";
++ } else {
++ print "perl-base >= 0:5.00$1\n";
++ }
++ } else {
++ print "perl-base >= 1:$ver\n";
++ }
++ } else {
++ # $]-style
++ if ($ver =~ m/5\.(00[0-5])_?([0-9]+)?$/) {
++ if (defined $2) {
++ print "perl-base >= 0:5.$1_$2\n";
++ } else {
++ print "perl-base >= 0:5.$1\n";
++ }
++ } else {
++ # expand to M.NNN_nnn form
++ $ver =~ s/^([0-9])$/$1./;
++ $ver =~ s/^([0-9]\.[0-9]{0,5}|[0-9]\.[0-9]{3}_[0-9]{0,2})$/${1}000000/;
++ $ver =~ s/^([0-9]\.[0-9]{3})_?([0-9]{3})0*$/$1_$2/;
++ # match trimming leading 0s
++ $ver =~ m/^([0-9])\.0*([1-9][0-9]*|0)_0*([1-9][0-9]*|0)$/;
++ print "perl-base >= 1:$1.$2.$3\n";
++ }
++ }
++ next;
+
+ };
- # I am not using rpm3.0 so I do not want spaces arround my
-@@ -219,7 +231,31 @@
+@@ -232,7 +262,31 @@
# will be included with the name sys/systeminfo.ph so only use the
# basename of *.ph files