X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm-perl-macros.patch;h=33923595dc3faba95bc080cd774915a947e57814;hp=b6a0625181db3b97fb058d22fea444de26714a6f;hb=b48366bfa6d02e94af3356b5cb2891e65f579604;hpb=cebd7a088d7c9afd70f1ae93de6d369a3158b503 diff --git a/rpm-perl-macros.patch b/rpm-perl-macros.patch index b6a0625..3392359 100644 --- a/rpm-perl-macros.patch +++ b/rpm-perl-macros.patch @@ -1,234 +1,130 @@ ---- rpm-3.0.3/scripts/Makefile.am.wiget Sat Jun 5 22:52:30 1999 -+++ rpm-3.0.3/scripts/Makefile.am Sat Oct 30 12:28:50 1999 -@@ -4,7 +4,8 @@ - - EXTRA_DIST = \ - convertrpmrc.sh find-lang.sh freshen.sh getpo.sh \ -- perl.prov perl.req vpkg-provides.sh -+ perl.prov perl.req find-perl-requires find-perl-provides \ -+ vpkg-provides.sh - - installprefix = $(DESTDIR) - -@@ -13,5 +14,6 @@ - configdir = ${prefix}/lib/rpm - config_SCRIPTS = \ - convertrpmrc.sh find-lang.sh freshen.sh getpo.sh \ -- perl.prov perl.req vpkg-provides.sh -+ perl.prov perl.req find-perl-requires find-perl-provides \ -+ vpkg-provides.sh - ---- rpm-3.0.3/scripts/find-perl-provides.wiget Sat Oct 30 12:28:50 1999 -+++ rpm-3.0.3/scripts/find-perl-provides Sat Oct 30 12:28:50 1999 -@@ -0,0 +1,8 @@ -+#!/bin/sh -+ulimit -c 0 -+ -+filelist=`sed "s/['\"]/\\\&/g"` -+ -+echo $filelist|/usr/lib/rpm/find-provides -+/usr/lib/rpm/perl.prov $filelist -+ ---- rpm-3.0.3/scripts/find-perl-requires.wiget Sat Oct 30 12:28:50 1999 -+++ rpm-3.0.3/scripts/find-perl-requires Sat Oct 30 12:28:50 1999 -@@ -0,0 +1,11 @@ -+#!/bin/sh -+ulimit -c 0 -+ -+filelist=`sed "s/['\"]/\\\&/g"` -+ -+requires="`echo $filelist|/usr/lib/rpm/find-requires`" -+requires_perl="`/usr/lib/rpm/perl.req $filelist`" -+requires_mod="`rpm -q --whatprovides --qf "%{NAME}\n" $requires_perl 2>/dev/null`" -+echo "$requires -+$requires_perl -+$requires_mod"| sort -u ---- rpm-3.0.3/macros.in.wiget Sat Oct 30 12:28:50 1999 -+++ rpm-3.0.3/macros.in Sat Oct 30 12:28:50 1999 -@@ -248,6 +248,8 @@ - # %{perl_sitearch}/Image - # %dir %{perl_sitearch}/auto/Image - # -+# -+# NOTE: %{perl_sitearch}, %{perl_archlib} and %{perl_sitelib} macros -+# has been moved to macros.perl (see info in this file for details). -+# - %requires_eq() %(LC_ALL="C" rpm -q --queryformat 'Requires:%%{NAME} = %%{VERSION}' %1| grep -v "is not") --%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch) --%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib) ---- rpm-3.0.3/macros.perl.in.wiget Sat Oct 30 12:28:50 1999 -+++ rpm-3.0.3/macros.perl.in Sat Oct 30 12:28:50 1999 -@@ -0,0 +1,11 @@ -+# Perl specific macro definitions. -+# To make use of these macros insert the following line into your spec file: -+# %include @RPMCONFIGDIR@/macros.perl -+ -+%define __find_requires @RPMCONFIGDIR@/find-perl-requires -+%define __find_provides @RPMCONFIGDIR@/find-perl-provides -+ -+%define perl_sitelib %(eval "`perl -V:installsitelib`"; echo $installsitelib) -+%define perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch) -+%define perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib) -+ ---- rpm-3.0.3/configure.in.wiget Sat Oct 30 13:17:49 1999 -+++ rpm-3.0.3/configure.in Sat Oct 30 13:18:52 1999 -@@ -181,6 +181,7 @@ - AC_MSG_RESULT(patch later then 2.2 found) - fi - -+ AC_PATH_PROG(PERL, perl, /usr/bin/perl, $MYPATH) - AC_PATH_PROG(PGPBIN, pgp, /usr/bin/pgp, $MYPATH) - AC_PATH_PROG(__RM, rm, /bin/rm, $MYPATH) - AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH) -@@ -906,8 +907,9 @@ - export LIBS INCPATH CONFIG_SITE - - AC_CONFIG_SUBDIRS(popt) --AC_OUTPUT([Makefile rpmrc macros macros.pld lib/Makefile -- build/Makefile tools/Makefile scripts/Makefile -+AC_OUTPUT([Makefile rpmrc macros macros.pld macros.perl lib/Makefile -+ build/Makefile tools/Makefile -+ scripts/Makefile scripts/perl.req scripts/perl.prov - tests/Makefile tests/rpmrc tests/macros tests/hello-test/Makefile - misc/Makefile po/Makefile.in intl/Makefile - doc/Makefile doc/manual/Makefile doc/pl/Makefile doc/ru/Makefile ---- rpm-3.0.3/scripts/perl.req.pld Sat Oct 30 17:00:59 1999 -+++ rpm-3.0.3/scripts/perl.req Sat Oct 30 17:01:08 1999 +diff -urN rpm-4.3.org/configure.ac rpm-4.3/configure.ac +--- rpm-4.3.org/configure.ac 2004-01-07 01:51:35.251160244 +0100 ++++ rpm-4.3/configure.ac 2004-01-07 01:55:53.198560246 +0100 +@@ -1313,6 +1313,7 @@ + Doxyfile Makefile macros rpmpopt rpm.spec + rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile + scripts/Makefile scripts/macros.perl scripts/macros.php ++ scripts/perl.req scripts/perl.prov + 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 +--- 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@ ++#!@__PERL@ - # a simple makedepends like script for perl. + # RPM (and its source code) is covered under two separate licenses. -@@ -12,7 +12,11 @@ +@@ -41,7 +41,11 @@ if ("@ARGV") { foreach (@ARGV) { - process_file($_); -+ if (m=/usr/(bin|lib|share|X11R6/(lib|bin))/=) { -+ if (! m=(/(doc|man|info|usr/src)/|\.(so|pl|ph|h|html|pod)$)=) { ++ 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 { -@@ -20,22 +24,30 @@ +@@ -49,7 +53,11 @@ # contents of the file. foreach (<>) { - process_file($_); -+ if (m=/usr/(bin|lib|share|X11R6/(lib|bin))/=) { -+ if (! m=(/(doc|man|info|usr/src)/|\.(so|pl|ph|h|html|pod)$)=) { -+ 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($_); ++ } ++ } } } - - 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 { - -- print "perl($module)>=$require{$module}\n"; -+ print "perl($module) >= $require{$module}\n"; - - # we need to print it without the version number until the - # requires syntax accepts version numbers correctly. - -- print "perl($module)\n"; -+# print "perl($module)\n"; - } - } - -@@ -54,7 +66,7 @@ - while () { - - # skip the documentation -- if ( (m/^=(head1|head2|pod)/) .. (m/^=(cut)/) ) { -+ if ( (m/^=(head1|head2|pod|item)/) .. (m/^=(cut)/) ) { - next; - } - -@@ -108,8 +120,28 @@ +@@ -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-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; + + }; + +@@ -232,7 +262,31 @@ # will be included with the name sys/systeminfo.ph so only use the # basename of *.ph files -- ($module =~ m/\.ph$/) && ($module =~ s!.*/!!g ); +- ($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. + -+ # there is no need to generate dependencies for ph and pl files -+ # so let's just skip them -+ -+ ($module =~ m/\.(ph|pl)$/) && next; ++ ($module =~ m/\.(ph|pl|t)$/) && next; + -+ # skip all modules for oparating systems other than linux ++ # 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 ++ # if the module ends with .pm strip it to leave only basename. + -+ ($module =~ m/\.pm$/) && ($module =~ s/\.pm//g); ++ $module =~ s/\.pm$//; + -+ # strip () from module name ( ex. Carp() ) - -+ ($module =~m/\(\)$/) && ($module =~ s/\(\)//g); ++ $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-3.0.3/scripts/perl.prov.pld Sat Jun 5 22:52:31 1999 -+++ rpm-3.0.3/scripts/perl.prov Sun Oct 31 02:17:45 1999 -@@ -1,4 +1,4 @@ --#!/usr/bin/perl -+#!@PERL@ - - # a simple script to print the proper name for perl libraries. - -@@ -13,7 +13,9 @@ - - if ("@ARGV") { - foreach (@ARGV) { -- process_file($_); -+ if (! m=(/(doc|usr/src)/|\.(so|gz|ph|pod|h|html)$)=) { -+ process_file($_); -+ } - } - } else { - -@@ -21,7 +23,9 @@ - # contents of the file. - - foreach (<>) { -- process_file($_); -+ if (! m=(/(doc|usr/src)/|\.(so|gz|ph|pod|h|html)$)=) { -+ process_file($_); -+ } - } - } - -@@ -30,12 +34,12 @@ - if (length($require{$module}) == 0) { - print "perl($module)\n"; - } else { -- print "perl($module)=$require{$module}\n"; -+ print "perl($module) = $require{$module}\n"; - - # we need to print it without the version number until the - # requires syntax accepts version numbers correctly. - -- print "perl($module)\n"; -+# print "perl($module)\n"; - } - } -