--- rpm-4.1/scripts/Makefile.am.wiget Thu Aug 22 19:31:42 2002 +++ rpm-4.1/scripts/Makefile.am Wed Sep 18 23:52:19 2002 @@ -31,4 +31,5 @@ magic.prov magic.req perl.prov perl.req rpmdiff rpmdiff.cgi \ rpm.daily rpm.log rpm.xinetd rpm2cpio.sh \ sql.prov sql.req tcl.req tgpg trpm u_pkg.sh \ + find-perl-requires find-perl-provides \ vpkg-provides.sh vpkg-provides2.sh --- rpm-4.1/scripts/perl.prov.wiget Fri Feb 1 16:20:26 2002 +++ rpm-4.1/scripts/perl.prov Wed Sep 18 23:50:15 2002 @@ -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($_); + } } } --- rpm-4.1/scripts/perl.req.wiget Mon Jun 3 22:56:33 2002 +++ rpm-4.1/scripts/perl.req Wed Sep 18 23:50:15 2002 @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!@__PERL@ # RPM (and it's 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,14 +53,22 @@ # 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($_); + } + } } } 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 @@ -209,7 +221,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. + + ($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-4.1/configure.ac.wiget Thu Aug 22 19:01:34 2002 +++ rpm-4.1/configure.ac Wed Sep 18 23:50:46 2002 @@ -1194,6 +1194,7 @@ AC_CONFIG_SUBDIRS(popt beecrypt zlib libelf db3) AC_OUTPUT([ Doxyfile Makefile rpmrc macros platform rpmpopt rpm.spec + macros.perl scripts/perl.req scripts/perl.prov rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile scripts/Makefile scripts/brp-redhat scripts/macros.perl scripts/macros.php scripts/macros.python --- rpm-4.1/macros.in.wiget Sun Sep 1 00:30:19 2002 +++ rpm-4.1/macros.in Wed Sep 18 23:50:46 2002 @@ -1012,8 +1012,10 @@ # %dir %{perl_sitearch}/auto/Image # %requires_eq() %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") -%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch) -%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib) +# +# NOTE: %{perl_sitearch}, %{perl_archlib} and %{perl_sitelib} macros +# has been moved to macros.perl (see info in this file for details). +# #------------------------------------------------------------------------------ # arch macro for all Intel i?86 compatibile processors