X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm-perl-macros.patch;h=a486444e4de3ad3e116469d730d84cd118bbfcc1;hp=ac0b6eeec86f7df11011c4b5a681e4c865fcce57;hb=55a6203c0c85a4a6b09de66df5e56c6515e55bb4;hpb=04ad64eccb6eb96696634eb9e09ce17dd1f305ab diff --git a/rpm-perl-macros.patch b/rpm-perl-macros.patch index ac0b6ee..a486444 100644 --- a/rpm-perl-macros.patch +++ b/rpm-perl-macros.patch @@ -1,138 +1,16 @@ -diff -urN rpm-3.0.5.orig/configure.in rpm-3.0.5/configure.in ---- rpm-3.0.5.orig/configure.in Sun Jul 30 00:05:48 2000 -+++ rpm-3.0.5/configure.in Sun Jul 30 00:07:06 2000 -@@ -181,6 +181,7 @@ - AC_PATH_PROG(__MKDIR, mkdir, /bin/mkdir, $MYPATH) - AC_PATH_PROG(__MV, mv, /bin/mv, $MYPATH) - AC_PATH_PROG(__PATCH, patch, /usr/bin/patch, $MYPATH) -+ AC_PATH_PROG(PERL, perl, /usr/bin/perl, $MYPATH) - AC_MSG_CHECKING(old version of patch) - PATCHVERSION=`patch --version 2>&1` - -@@ -913,7 +914,8 @@ - dnl export LIBS INCPATH CONFIG_SITE - - AC_CONFIG_SUBDIRS(popt) --AC_OUTPUT([Doxyfile Makefile rpmrc macros macros.pld platform rpmpopt scripts/brp-redhat -+AC_OUTPUT([Doxyfile Makefile rpmrc macros macros.pld platform rpmpopt -+ scripts/brp-redhat macros.perl scripts/perl.req scripts/perl.prov - lib/Makefile build/Makefile tools/Makefile scripts/Makefile - tests/Makefile tests/rpmrc tests/macros tests/hello-test/Makefile - misc/Makefile po/Makefile.in intl/Makefile -diff -urN rpm-3.0.5.orig/macros.in rpm-3.0.5/macros.in ---- rpm-3.0.5.orig/macros.in Sun Jul 30 00:05:48 2000 -+++ rpm-3.0.5/macros.in Sun Jul 30 00:07:06 2000 -@@ -569,9 +569,11 @@ - # %{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) - - #------------------------------------------------------------------------------ - # arch macro for all Intel i?86 compatibile processors -diff -urN rpm-3.0.5.orig/macros.perl.in rpm-3.0.5/macros.perl.in ---- rpm-3.0.5.orig/macros.perl.in Thu Jan 1 01:00:00 1970 -+++ rpm-3.0.5/macros.perl.in Sun Jul 30 00:07:06 2000 -@@ -0,0 +1,12 @@ -+# 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) -+%define perl_privlib %(eval "`perl -V:installprivlib`"; echo $installprivlib) -+ -diff -urN rpm-3.0.5.orig/scripts/Makefile.am rpm-3.0.5/scripts/Makefile.am ---- rpm-3.0.5.orig/scripts/Makefile.am Sun Jul 9 17:36:20 2000 -+++ rpm-3.0.5/scripts/Makefile.am Sun Jul 30 00:07:51 2000 -@@ -8,7 +8,8 @@ - find-prov.pl find-req.pl cpanflute find-provides.perl \ - find-requires.perl get_magic.pl getpo.sh http.req \ - magic.prov magic.req perl.prov perl.req rpmdiff rpmdiff.cgi u_pkg.sh \ -- vpkg-provides.sh vpkg-provides2.sh -+ vpkg-provides.sh vpkg-provides2.sh \ -+ find-perl-requires find-perl-provides - - installprefix = $(DESTDIR) - -@@ -21,4 +22,5 @@ - find-prov.pl find-req.pl cpanflute find-provides.perl \ - find-requires.perl get_magic.pl getpo.sh http.req \ - magic.prov magic.req perl.prov perl.req rpmdiff rpmdiff.cgi u_pkg.sh \ -- vpkg-provides.sh vpkg-provides2.sh -+ vpkg-provides.sh vpkg-provides2.sh \ -+ find-perl-requires find-perl-provides -diff -urN rpm-3.0.5.orig/scripts/find-perl-provides rpm-3.0.5/scripts/find-perl-provides ---- rpm-3.0.5.orig/scripts/find-perl-provides Thu Jan 1 01:00:00 1970 -+++ rpm-3.0.5/scripts/find-perl-provides Sun Jul 30 00:07:06 2000 -@@ -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 -+ -diff -urN rpm-3.0.5.orig/scripts/find-perl-requires rpm-3.0.5/scripts/find-perl-requires ---- rpm-3.0.5.orig/scripts/find-perl-requires Thu Jan 1 01:00:00 1970 -+++ rpm-3.0.5/scripts/find-perl-requires Sun Jul 30 00:07:06 2000 -@@ -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 -diff -urN rpm-3.0.5.orig/scripts/perl.prov rpm-3.0.5/scripts/perl.prov ---- rpm-3.0.5.orig/scripts/perl.prov Wed Jun 14 14:34:50 2000 -+++ rpm-3.0.5/scripts/perl.prov Sun Jul 30 00:07:06 2000 -@@ -47,7 +47,9 @@ - - if ("@ARGV") { - foreach (@ARGV) { -- process_file($_); -+ if (! m=(/(doc|usr/src)/|\.(so|gz|ph|pod|h|html)$)=) { -+ process_file($_); -+ } - } - } else { - -@@ -55,7 +57,9 @@ - # contents of the file. - - foreach (<>) { -- process_file($_); -+ if (! m=(/(doc|usr/src)/|\.(so|gz|ph|pod|h|html)$)=) { -+ process_file($_); -+ } - } - } - -diff -urN rpm-3.0.5.orig/scripts/perl.req rpm-3.0.5/scripts/perl.req ---- rpm-3.0.5.orig/scripts/perl.req Wed Jun 14 14:34:50 2000 -+++ rpm-3.0.5/scripts/perl.req Sun Jul 30 00:07:06 2000 -@@ -1,4 +1,4 @@ --#!/usr/bin/perl -+#!@PERL@ - - # RPM (and it's source code) is covered under two separate licenses. - +--- 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 @@ -41,7 +41,11 @@ if ("@ARGV") { @@ -145,10 +23,10 @@ diff -urN rpm-3.0.5.orig/scripts/perl.req rpm-3.0.5/scripts/perl.req + } } } else { - -@@ -49,14 +53,22 @@ + +@@ -49,7 +53,11 @@ if ("@ARGV") { # contents of the file. - + foreach (<>) { - process_file($_); + if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) { @@ -159,23 +37,63 @@ diff -urN rpm-3.0.5.orig/scripts/perl.req rpm-3.0.5/scripts/perl.req } } - - 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 { - - # I am not using rpm3.0 so I do not want spaces arround my -@@ -183,7 +195,31 @@ - # will be included with the name sys/systeminfo.ph so only use the +@@ -215,19 +223,41 @@ sub process_file { + + $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-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; + + }; + +@@ -244,7 +274,31 @@ sub process_file { + # 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 @@ -202,5 +120,5 @@ diff -urN rpm-3.0.5.orig/scripts/perl.req rpm-3.0.5/scripts/perl.req + + $module =~ s/\(\s*\)$//; - - $require{$module}=$version; + # use base|parent qw(Foo) dependencies + if ($statement eq "use" && ($module eq "base" || $module eq "parent")) {