--- 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 @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!@PERL@ # a simple makedepends like script for perl. @@ -12,7 +12,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)$)=) { + process_file($_); + } + } } } else { @@ -20,22 +24,30 @@ # 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($_); + } + } } } 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 @@ # 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$/) && ($module =~ s!.*/!!g ); + + # there is no need to generate dependencies for ph and pl files + # so let's just skip them + + ($module =~ m/\.(ph|pl)$/) && next; + + # skip all modules for oparating systems 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 =~ m/\.pm$/) && ($module =~ s/\.pm//g); + + # strip () from module name ( ex. Carp() ) + ($module =~m/\(\)$/) && ($module =~ s/\(\)//g); $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"; } }