X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm-perl-req-perlfile.patch;h=16ad595114be3d0be9e782727e16bdac52d0e75b;hb=63527776a8e723db59ac58674178c0bfb8145571;hp=93a395032324456dabf7a60e600a6e75d1dcda4c;hpb=7b1387608ae59908481fc3bf06decb1f2cdd0c54;p=packages%2Frpm.git diff --git a/rpm-perl-req-perlfile.patch b/rpm-perl-req-perlfile.patch index 93a3950..16ad595 100644 --- a/rpm-perl-req-perlfile.patch +++ b/rpm-perl-req-perlfile.patch @@ -1,29 +1,53 @@ ---- rpm-4.0/scripts/perl.req Mon Dec 16 11:36:15 2000 -+++ rpm-4.0.mis/scripts/perl.req Mon Dec 16 11:46:28 2000 -@@ -61,6 +61,11 @@ - } +--- rpm-4.2/scripts/perl.req.wigperl Tue Apr 1 13:33:52 2003 ++++ rpm-4.2/scripts/perl.req Tue Apr 1 13:39:47 2003 +@@ -39,28 +39,19 @@ + eval { require version; $HAVE_VERSION = 1; }; + + +-if ("@ARGV") { +- foreach (@ARGV) { ++foreach ( @ARGV ? @ARGV : <> ) { ++ chomp; + if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) { + if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) { +- process_file($_); ++ process_file($_) if -f; + } + } +- } +-} else { +- +- # notice we are passed a list of filenames NOT as common in unix the +- # contents of the file. +- +- foreach (<>) { +- 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 (sort keys %provide) { + delete $require{$_}; +} +delete $require{the}; # don't count "use the sth" as perl module -+ - - foreach $module (sort keys %require) { - if (length($require{$module}) == 0) { -@@ -82,6 +86,53 @@ - exit 0; + foreach $perlver (sort keys %perlreq) { + print "perl >= $perlver\n"; +@@ -82,6 +74,53 @@ + } + } +sub is_perlfile { + my $file = shift; + my $fh = shift; -+ ++ + my $fl = <$fh>; + + my $is_perl = 0; -+ ++ + my $nw = 0; + + if ($file =~ /\.(so|ph|h|html|pod|gz|bz2|png|gif|jpg|xpm|a|patch|o|mo)$/) { @@ -50,11 +74,11 @@ + last if ($. > 30); + } + } -+ ++ + seek($fh, 0, 0); -+ ++ + $is_perl = 1 if ($nw > 1); # propably perl file -+ ++ + #if (!$is_perl) { + # print STDERR "NOPERL $file\n"; + # return 0; @@ -63,19 +87,19 @@ + return $is_perl; +} + - sub process_file { - -@@ -90,6 +141,8 @@ - - open(FILE, "<$file")|| - die("$0: Could not open file: '$file' : $!\n"); -+ + + my ($file) = @_; +@@ -90,6 +129,8 @@ + return; + } + + return if (!is_perlfile($file, \*FILE)); - ++ while () { - -@@ -112,6 +165,10 @@ + + # skip the "= <<" block +@@ -111,6 +152,10 @@ last; } @@ -86,14 +110,14 @@ # Each keyword can appear multiple times. Don't # bother with datastructures to store these strings, # if we need to print it print it now. -@@ -209,6 +266,10 @@ - # if the module name starts in a dot it is not a module name. +@@ -236,6 +281,10 @@ ($module =~ m/^\./) && next; -+ + + # name starts in a non alphanumeric character it is not a module + # name. + ($module =~ m/^\W/) && next; - ++ # if the module ends with .pm strip it to leave only basename. + $module =~ s/\.pm$//;