From: Jakub Bogusz Date: Mon, 24 Mar 2008 01:33:45 +0000 (+0000) Subject: - handle different forms of "require version" X-Git-Tag: auto/ac/rpm-build-macros-1_448-1~10 X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=commitdiff_plain;h=fe3cefac46d84b81226c93c571534c2ee4d2a360 - handle different forms of "require version" Changed files: rpm-perl-macros.patch -> 1.33 --- diff --git a/rpm-perl-macros.patch b/rpm-perl-macros.patch index 2648466..3392359 100644 --- a/rpm-perl-macros.patch +++ b/rpm-perl-macros.patch @@ -9,14 +9,13 @@ diff -urN rpm-4.3.org/configure.ac rpm-4.3/configure.ac 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 @@ @@ -31,7 +30,7 @@ diff -urN rpm-4.3.org/scripts/perl.req rpm-4.3/scripts/perl.req } } else { -@@ -49,14 +53,22 @@ +@@ -49,7 +53,11 @@ # contents of the file. foreach (<>) { @@ -44,19 +43,59 @@ diff -urN rpm-4.3.org/scripts/perl.req rpm-4.3/scripts/perl.req } } +@@ -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