]> TLD Linux GIT Repositories - packages/rpm.git/blobdiff - rpm-perl_req-INC_dirs.patch
- rpm.org RPM, merged from PLD
[packages/rpm.git] / rpm-perl_req-INC_dirs.patch
diff --git a/rpm-perl_req-INC_dirs.patch b/rpm-perl_req-INC_dirs.patch
new file mode 100644 (file)
index 0000000..f15d401
--- /dev/null
@@ -0,0 +1,34 @@
+--- scripts/perl.req~  2004-04-16 13:27:10.000000000 +0200
++++ scripts/perl.req   2004-04-26 23:54:42.128568344 +0200
+@@ -39,9 +39,18 @@
+ eval { require version; $HAVE_VERSION = 1; };
++# *inc variables are used to track dependencies on directories for modules.
++# These directories (especially arch-dependent) are likely to change some day.
++my @inc = sort { length $b cmp length $a }
++          map { s#/*$##; $_ }
++          grep m#^/.#, @INC;
++my %inc = map { $_ => 0 } @inc;
++my $inc = join '|', map "\Q$_\E", @inc;
++
+ foreach ( @ARGV ? @ARGV : <> ) {
+-      chomp;
+-    if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
++    chomp;
++    $inc{$1}++ if m#($inc)/#;  # can't anchor on ^
++    if (m=/usr/(sbin|bin|lib|lib64|libx32|share|X11R6/(lib|lib64|libx32|bin))/=) {
+       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
+         process_file($_) if -f;
+       }
+@@ -53,7 +64,9 @@
+ foreach $perlver (sort keys %perlreq) {
+   print "perl >= $perlver\n";
+ }
++print "$_\n" for sort grep $inc{$_}, keys %inc;
++
+-foreach $module (sort keys %require) {
++foreach my $module (sort grep length, keys %require) {
+   if (length($require{$module}) == 0) {
+     print "perl($module)\n";
+   } else {