X-Git-Url: https://git.tld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm-perl-macros.patch;h=1d09638388873b813cebea16cf0c88c90b1798ad;hp=0744b9f822d54c69b333e55dc8e415519167b15d;hb=75a835a1f9c482610ecd69fb290b39e46ee627d3;hpb=685372ccad422be5593dabe2ed2d89f19037e7ca diff --git a/rpm-perl-macros.patch b/rpm-perl-macros.patch index 0744b9f..1d09638 100644 --- a/rpm-perl-macros.patch +++ b/rpm-perl-macros.patch @@ -1,48 +1,124 @@ ---- rpm-4.5/scripts/perl.req 2008-07-09 12:38:31.000000000 +0300 -+++ rpm-4.4.9/scripts/perl.req.in 2008-08-12 23:08:33.518675858 +0300 -@@ -277,20 +277,20 @@ - # $V-style - if ($ver =~ m/5\.([0-5])(\.([0-9]+))?$/) { - if (defined $3) { -- print "perl >= 0:5.00$1_$3\n"; +--- rpm-5.3.1/configure.ac.wiget 2010-05-22 17:15:11.000000000 +0200 ++++ rpm-5.3.1/configure.ac 2010-05-30 16:37:59.526924459 +0200 +@@ -1100,7 +1100,7 @@ AC_CONFIG_FILES([ po/Makefile.in + + AC_CONFIG_FILES([Makefile + rpmio/Makefile lib/Makefile build/Makefile sign/Makefile +- po/Makefile.in scripts/Makefile fileattrs/Makefile ++ po/Makefile.in scripts/Makefile scripts/perl.req scripts/perl.prov fileattrs/Makefile + misc/Makefile + doc/Makefile + python/Makefile +--- rpm-5.3.1/scripts/perl.req.wiget 2008-10-26 10:50:53.000000000 +0100 ++++ rpm-5.3.1/scripts/perl.req 2010-05-30 16:35:36.999438206 +0200 +@@ -45,7 +45,11 @@ + + if ("@ARGV") { + foreach (@ARGV) { +- process_file($_); ++ if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) { ++ if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) { ++ process_file($_); ++ } ++ } + } + } else { + +@@ -53,7 +57,11 @@ + # contents of the file. + + foreach (<>) { +- process_file($_); ++ if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) { ++ if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) { ++ process_file($_); ++ } ++ } + } + } + +@@ -261,19 +269,41 @@ + + $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/) { +- $perlreq{"0:$ver"} = 1; +- next; +- } +- else { +- $perlreq{"1:$ver"} = 1; +- 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 >= 0:5.00$1\n"; ++ } else { + print "perl-base >= 0:5.00$1\n"; - } - } else { -- print "perl >= 1:$ver\n"; ++ } ++ } else { + print "perl-base >= 1:$ver\n"; - } - } else { - # $]-style - if ($ver =~ m/5\.(00[0-5])_?([0-9]+)?$/) { - if (defined $2) { -- print "perl >= 0:5.$1_$2\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 >= 0:5.$1\n"; ++ } else { + print "perl-base >= 0:5.$1\n"; - } - } else { - # expand to M.NNN_nnn form -@@ -299,7 +299,7 @@ - $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 >= 1:$1.$2.$3\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; -@@ -326,6 +326,10 @@ ++ } ++ } ++ next; + + }; - ($module =~ m/\.(ph|pl|t)$/) && next; +@@ -290,7 +320,31 @@ + # will be included with the name sys/systeminfo.ph so only use the + # basename of *.ph files +- ($module =~ m/\.ph$/) && next; ++ # ($module =~ m/\.ph$/) && ($module =~ s!.*/!!g ); ++ ++ # there is no need to generate dependencies for ph, pl or test files ++ # so let's just skip them. ++ ++ ($module =~ m/\.(ph|pl|t)$/) && next; ++ + # skip all modules for platforms other than linux. + + ($module =~ m/Mac|OS2|MSDOS|Win32|VMS|vmsish/) && next; + - # if the module name starts in a dot it is not a module name. ++ # if the module name starts in a dot it is not a module name. ++ ++ ($module =~ m/^\./) && next; ++ ++ # if the module ends with .pm strip it to leave only basename. ++ ++ $module =~ s/\.pm$//; ++ ++ $module =~ s/\//::/; ++ ++ # trim off trailing parenthesis if any. Sometimes people pass ++ # the module an empty list. ++ ++ $module =~ s/\(\s*\)$//; - ($module =~ m/^\./) && next; + # use base|parent qw(Foo) dependencies + if ($statement eq "use" && ($module eq "base" || $module eq "parent")) {