]> git.pld-linux.org Git - packages/rpm.git/blobdiff - perl.prov
- added dir-macros-relative patch (hardcode base dir macros, derived as relative...
[packages/rpm.git] / perl.prov
index 21da4a8b8bedfcf782e071c7239008712300a6ef..6a66f7652b8e8a9204115a3c9edf26021e4fde29 100644 (file)
--- a/perl.prov
+++ b/perl.prov
@@ -31,9 +31,12 @@ use Safe;
 sub new {
        my $class = shift;
        my $self = {
-               inc => [ sort { length $b cmp length $a } grep m#^/#, @INC ],
+               inc => [
+                       sort { length $b cmp length $a } grep m#^/#,
+                       map { y#/#/#s; s#/$##; $_ } @INC
+               ],
                provide => {},
-               safe => Safe->new,
+               safe    => Safe->new,
                @_,
        };
        bless $self, $class;
@@ -57,7 +60,7 @@ sub process_file {
        # if the file lives under @INC, we can
        # obtain the package name from it's path
        for (@{ $self->{inc} }) {
-               if ($file =~ m#\Q$_\E/?(.+)$#) {    # we can't use ^ here
+               if ($file =~ m#\Q$_\E/(.+)$#) {    # we can't use ^ here
                        $package = $1;
 
                        if ($package !~ s/\.pm$//) {    # it's a *.pl
@@ -102,7 +105,8 @@ sub process_file {
                        ( $version = $self->{safe}->reval($_) ) =~ s/^\s+|alpha|beta|\s+$//g;
                        if ( defined $version
                                && length $version
-                               && $version =~ /[^\d\._abcdefgh]/ )
+                               && ($version =~ /[^\d\._abcdefgh]/
+                                       || $version =~ /^[^\d]*$/ ))
                        {
                                warn "$0: weird version number in $file: [$version]\n";
                                $version = '';
This page took 0.035139 seconds and 4 git commands to generate.