-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") {
+ }
}
} 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))/=) {
}
}
-
- 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
+
+ $module =~ s/\(\s*\)$//;
-
- $require{$module}=$version;
+ # use base|parent qw(Foo) dependencies
+ if ($statement eq "use" && ($module eq "base" || $module eq "parent")) {