RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Elan Ruusamäe Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 13-Apr-2008 01:38:50 Branch: rpm-4_5 Handle: 2008041223384901 Modified files: (Branch: rpm-4_5) rpm configure.ac rpm/scripts perl.req Log: - merge from PLD Linux: http://cvs.pld-linux.org/SOURCES/rpm-perl-macros.patch?rev=1.31.10.1 Summary: Revision Changes Path 2.70.2.23 +1 -0 rpm/configure.ac 1.14.2.1 +64 -14 rpm/scripts/perl.req ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/configure.ac ============================================================================ $ cvs diff -u -r2.70.2.22 -r2.70.2.23 configure.ac --- rpm/configure.ac 9 Dec 2007 04:48:50 -0000 2.70.2.22 +++ rpm/configure.ac 12 Apr 2008 23:38:49 -0000 2.70.2.23 @@ -1514,6 +1514,7 @@ AC_CONFIG_SUBDIRS(popt zlib file sqlite db3) AC_CONFIG_FILES([ Doxyfile Makefile rpmrc macros platform rpmpopt rpm.spec rpm5.spec po/Makefile.in + scripts/perl.req scripts/perl.prov rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile scripts/Makefile scripts/macros.perl scripts/macros.php scripts/macros.python @@ . patch -p0 <<'@@ .' Index: rpm/scripts/perl.req ============================================================================ $ cvs diff -u -r1.14 -r1.14.2.1 perl.req --- rpm/scripts/perl.req 25 May 2007 17:36:39 -0000 1.14 +++ rpm/scripts/perl.req 12 Apr 2008 23:38:50 -0000 1.14.2.1 @@ -1,4 +1,4 @@ -#!/usr/bin/perl [EMAIL PROTECTED]@ # RPM (and its source code) is covered under two separate licenses. @@ -41,7 +41,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 { @@ -49,7 +53,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($_); + } + } } } @@ -203,19 +211,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/) { - 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 >= 0:5.00$1_$3\n"; + } else { + print "perl >= 0:5.00$1\n"; + } + } else { + print "perl >= 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 { + print "perl >= 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 >= 1:$1.$2.$3\n"; + } + } + next; }; @@ -232,7 +262,27 @@ # 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; + + # 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*\)$//; $require{$module}=$version; $line{$module}=$_; @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org