--- 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 {