-
Notifications
You must be signed in to change notification settings - Fork 1
/
rpm-perl_req-INC_dirs.patch
34 lines (32 loc) · 1.18 KB
/
rpm-perl_req-INC_dirs.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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 {