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 @@ -1196,6 +1196,7 @@ AC_CONFIG_SUBDIRS(popt beecrypt zlib elfutils file db3) AC_CONFIG_FILES([ Doxyfile Makefile rpmrc macros platform rpmpopt rpm.spec + 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 diff -urN rpm-4.3.org/scripts/perl.req rpm-4.3/scripts/perl.req --- rpm-4.3.org/scripts/perl.req 2004-01-07 01:51:04.911464416 +0100 +++ rpm-4.3/scripts/perl.req 2004-01-07 01:55:17.030076058 +0100 @@ -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 @@ -219,7 +231,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}=$_;