r70214 - in /trunk/libmodule-scandeps-perl: AUTHORS Changes MANIFEST META.yml debian/changelog debian/compat debian/control debian/copyright debian/rules lib/Module/ScanDeps.pm t/7-check-dynaloader.t t/9-check_path_to_inc_name.t t/data/use_lib.pl

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Wed Mar 2 02:30:25 UTC 2011


Author: jawnsy-guest
Date: Wed Mar  2 02:30:18 2011
New Revision: 70214

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=70214
Log:
* New upstream release
* Rewrite control description
* Bump to debhelper compat 8
* Add myself to Uploaders and Copyright
* Move script renaming to dh_auto_install override
* Refresh copyright information

Added:
    trunk/libmodule-scandeps-perl/t/data/use_lib.pl
      - copied unchanged from r70213, branches/upstream/libmodule-scandeps-perl/current/t/data/use_lib.pl
Modified:
    trunk/libmodule-scandeps-perl/AUTHORS
    trunk/libmodule-scandeps-perl/Changes
    trunk/libmodule-scandeps-perl/MANIFEST
    trunk/libmodule-scandeps-perl/META.yml
    trunk/libmodule-scandeps-perl/debian/changelog
    trunk/libmodule-scandeps-perl/debian/compat
    trunk/libmodule-scandeps-perl/debian/control
    trunk/libmodule-scandeps-perl/debian/copyright
    trunk/libmodule-scandeps-perl/debian/rules
    trunk/libmodule-scandeps-perl/lib/Module/ScanDeps.pm
    trunk/libmodule-scandeps-perl/t/7-check-dynaloader.t
    trunk/libmodule-scandeps-perl/t/9-check_path_to_inc_name.t

Modified: trunk/libmodule-scandeps-perl/AUTHORS
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/AUTHORS?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/AUTHORS (original)
+++ trunk/libmodule-scandeps-perl/AUTHORS Wed Mar  2 02:30:18 2011
@@ -18,6 +18,7 @@
 David Romano
 Dominique Quatravaux          (DOMQ)
 Edward S. Peschko
+Eric J. Roode                 (ROODE)
 Eric Wilhelm
 Germain Garand                (GGARAND)
 Iain Cass

Modified: trunk/libmodule-scandeps-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/Changes?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/Changes (original)
+++ trunk/libmodule-scandeps-perl/Changes Wed Mar  2 02:30:18 2011
@@ -1,3 +1,23 @@
+[Changes for 1.00 - 2011-02-19]
+* RT #65855: Special handling for POSIX requested (Roderich Schupp)
+* RT #65252: Temp files left when execute fails (Roderich Schupp)
+* add a %Preload rule for Log::Report::Dispatcher (Roderich Schupp)
+  cf. http://www.nntp.perl.org/group/perl.par/2011/01/msg4871.html
+* add %Preload rule for Date::Manip (Roderich Schupp)
+* speed up scanning *significantly* by not re-constructing regexen
+  for every line of input and reducing the no. of sub calls (Steffen Mueller)
+* add Eric Roode to AUTHORS (Steffen Mueller)
+* RT #61027: "use lib" does not work (Roderich Schupp)
+  scan_line(): When handling "use lib '/some/dir'" we add "/some/dir/ARCHNAME",
+  "/some/dir/VER" and "/some/dir/VER/ARCHNAME", but forgot 
+  to add "/some/dir" itself.
+  While we're at it, improve parsing the argument list of "use lib".
+  Simply eval the string, this should at least make all forms of
+  quoted strings work correctly. 
+* fix URI special case (clkao)
+* fix a regression reported by CPAN Testers (Roderich Schupp)
+* finally: bump version to 1.00
+
 [Changes for 0.98 - 2010-07-26]
 * Make %Preload entry for "utf8.pm" lazy (Roderich Schupp)
 * Upgrade to Module::Install 1.00 (Roderich Schupp)
@@ -595,4 +615,3 @@
 
 * written-from-scratch version of dependency finding
   algorithm. 
-

Modified: trunk/libmodule-scandeps-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/MANIFEST?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/MANIFEST (original)
+++ trunk/libmodule-scandeps-perl/MANIFEST Wed Mar  2 02:30:18 2011
@@ -79,4 +79,5 @@
 t/data/static/TestC.pm
 t/data/static/TestD.pm
 t/data/static/useVERSION.pm
+t/data/use_lib.pl
 t/Utils.pm

Modified: trunk/libmodule-scandeps-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/META.yml?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/META.yml (original)
+++ trunk/libmodule-scandeps-perl/META.yml Wed Mar  2 02:30:18 2011
@@ -27,4 +27,4 @@
 resources:
   license: http://dev.perl.org/licenses/
   repository: http://svn.openfoundry.org/par/Module-ScanDeps/trunk/
-version: 0.98
+version: 1.00

Modified: trunk/libmodule-scandeps-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/debian/changelog?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/debian/changelog (original)
+++ trunk/libmodule-scandeps-perl/debian/changelog Wed Mar  2 02:30:18 2011
@@ -1,8 +1,17 @@
-libmodule-scandeps-perl (0.98-2) UNRELEASED; urgency=low
-
+libmodule-scandeps-perl (1.00-1) UNRELEASED; urgency=low
+
+  [ Jonathan Yu ]
+  * New upstream release
+  * Rewrite control description
+  * Bump to debhelper compat 8
+  * Add myself to Uploaders and Copyright
+  * Move script renaming to dh_auto_install override
+  * Refresh copyright information
+
+  [ Ansgar Burchardt ]
   * Update my email address.
 
- -- Ansgar Burchardt <ansgar at debian.org>  Mon, 01 Nov 2010 11:17:00 +0100
+ -- Jonathan Yu <jawnsy at cpan.org>  Tue, 01 Mar 2011 21:53:16 -0500
 
 libmodule-scandeps-perl (0.98-1) unstable; urgency=low
 

Modified: trunk/libmodule-scandeps-perl/debian/compat
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/debian/compat?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/debian/compat (original)
+++ trunk/libmodule-scandeps-perl/debian/compat Wed Mar  2 02:30:18 2011
@@ -1,1 +1,1 @@
-7
+8

Modified: trunk/libmodule-scandeps-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/debian/control?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/debian/control (original)
+++ trunk/libmodule-scandeps-perl/debian/control Wed Mar  2 02:30:18 2011
@@ -1,21 +1,27 @@
 Source: libmodule-scandeps-perl
 Section: perl
 Priority: optional
-Build-Depends: debhelper (>= 7.0.50)
-Build-Depends-Indep: libmodule-pluggable-perl, libprefork-perl, libtest-pod-perl
+Build-Depends: debhelper (>= 8)
+Build-Depends-Indep: perl,
+ libmodule-pluggable-perl,
+ libprefork-perl,
+ libtest-pod-perl
+Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
 Uploaders: Gunnar Wolf <gwolf at debian.org>,
  Krzysztof Krzyzaniak (eloy) <eloy at debian.org>,
  gregor herrmann <gregoa at debian.org>, Ansgar Burchardt <ansgar at debian.org>,
+ Jonathan Yu <jawnsy at cpan.org>,
  Ryan Niebur <ryan at debian.org>
-Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
+Standards-Version: 3.9.1
 Homepage: http://search.cpan.org/dist/Module-ScanDeps/
 Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libmodule-scandeps-perl/
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libmodule-scandeps-perl/
-Standards-Version: 3.9.1
 
 Package: libmodule-scandeps-perl
 Architecture: all
 Depends: ${misc:Depends}, ${perl:Depends}
-Description: Perl module to recursively scan Perl code for dependencies
- Module::ScanDeps scans potential modules used by perl programs and returns
- information about their module dependencies.
+Description: module to recursively scan Perl code for dependencies
+ Module::ScanDeps is a Perl module that scans potential modules used by perl
+ programs to determine information about modules they depend on. It performs
+ static analysis as well as more aggressive scanning (by running files in
+ compile-only or normal mode).

Modified: trunk/libmodule-scandeps-perl/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/debian/copyright?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/debian/copyright (original)
+++ trunk/libmodule-scandeps-perl/debian/copyright Wed Mar  2 02:30:18 2011
@@ -1,16 +1,17 @@
 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
-Maintainer: Steffen Müller
+Maintainer: Audrey Tang <cpan at audreyt.org>
 Source: http://search.cpan.org/dist/Module-ScanDeps/
 Name: Module-ScanDeps
 
-Copyright: © 2002-2008, Audrey Tang <autrijus at autrijus.org>
- © 2005-2010, Steffen Mueller <smueller at cpan.org>
+Files: *
+Copyright: 2002-2008, Audrey Tang <cpan at audreyt.org>
+ 2005-2010, Steffen Mueller <smueller at cpan.org>
 License: Artistic or GPL-1+
 
 Files: lib/Module/ScanDeps/DataFeed.pm
-Copyright: 2004-2009 Edward S. Peschko <esp5 at pge.com>,
- Audrey Tang <cpan at audreyt.org>,
- Steffen Mueller <smueller at cpan.org>
+Copyright: 2004-2009 Edward S. Peschko <esp5 at pge.com>
+ 2004-2009, Audrey Tang <cpan at audreyt.org>
+ 2004-2009, Steffen Mueller <smueller at cpan.org>
 License: Artistic or GPL-1+
 
 Files: inc/Module/*
@@ -20,24 +21,27 @@
 License: Artistic or GPL-1+
 
 Files: debian/*
-Copyright: 2005, 2006, Florian Ragwitz <rafl at debian.org>
- 2007, 2008, Krzysztof Krzyzaniak (eloy) <eloy at debian.org>
- 2008, 2009, Ansgar Burchardt <ansgar at debian.org>
+Copyright: 2005-2006, Florian Ragwitz <rafl at debian.org>
+ 2007-2008, Krzysztof Krzyzaniak (eloy) <eloy at debian.org>
+ 2008-2010, Ansgar Burchardt <ansgar at debian.org>
  2008, Gunnar Wolf <gwolf at debian.org>
  2008, gregor herrmann <gregoa at debian.org>
  2009, Ryan Niebur <ryan at debian.org>
+ 2011, Jonathan Yu <jawnsy at cpan.org>
 License: Artistic or GPL-1+
 
 License: Artistic
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the Artistic License, which comes with Perl.
-    On Debian GNU/Linux systems, the complete text of the Artistic License
-    can be found in `/usr/share/common-licenses/Artistic'.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the Artistic License, which comes with Perl.
+ .
+ On Debian systems, the complete text of the Artistic License can be
+ found in `/usr/share/common-licenses/Artistic'.
 
 License: GPL-1+
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 1, or (at your option)
-    any later version.
-    On Debian GNU/Linux systems, the complete text of version 1 of the GNU
-    General Public License can be found in `/usr/share/common-licenses/GPL-1'.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 1, or (at your option)
+ any later version.
+ .
+ On Debian systems, the complete text of version 1 of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-1'.

Modified: trunk/libmodule-scandeps-perl/debian/rules
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/debian/rules?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/debian/rules (original)
+++ trunk/libmodule-scandeps-perl/debian/rules Wed Mar  2 02:30:18 2011
@@ -1,16 +1,12 @@
 #!/usr/bin/make -f
+
+PACKAGE = $(shell dh_listpackages)
+TMP     = $(CURDIR)/debian/$(PACKAGE)
 
 %:
 	dh $@
 
-CMD=$(subst override_,,$@)
-
-TMP=debian/$(shell dh_listpackages)
-
-override_dh_compress:
-	[ ! -f $(TMP)/usr/bin/scandeps.pl ] || \
-		mv $(TMP)/usr/bin/scandeps.pl $(TMP)/usr/bin/scandeps
-	[ ! -f $(TMP)/usr/share/man/man1/scandeps.pl.1p ] || \
-		mv $(TMP)/usr/share/man/man1/scandeps.pl.1p $(TMP)/usr/share/man/man1/scandeps.1p
-	$(CMD)
-
+override_dh_auto_install:
+	dh_auto_install
+	mv $(TMP)/usr/bin/scandeps.pl $(TMP)/usr/bin/scandeps
+	mv $(TMP)/usr/share/man/man1/scandeps.pl.1p $(TMP)/usr/share/man/man1/scandeps.1p

Modified: trunk/libmodule-scandeps-perl/lib/Module/ScanDeps.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/lib/Module/ScanDeps.pm?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/lib/Module/ScanDeps.pm (original)
+++ trunk/libmodule-scandeps-perl/lib/Module/ScanDeps.pm Wed Mar  2 02:30:18 2011
@@ -4,7 +4,7 @@
 use warnings;
 use vars qw( $VERSION @EXPORT @EXPORT_OK @ISA $CurrentPackage @IncludeLibs $ScanFileRE );
 
-$VERSION   = '0.98';
+$VERSION   = '1.00';
 @EXPORT    = qw( scan_deps scan_deps_runtime );
 @EXPORT_OK = qw( scan_line scan_chunk add_deps scan_deps_runtime path_to_inc_name );
 
@@ -266,6 +266,14 @@
     'Crypt/Random/Generator.pm' => sub {
         _glob_in_inc('Crypt/Random/Provider', 1);
     },
+    'Date/Manip.pm' => [qw( Date/Manip/DM5.pm Date/Manip/DM6.pm )],
+    'Date/Manip/Base.pm' => sub {
+        _glob_in_inc('Date/Manip/Lang', 1);
+    },
+    'Date/Manip/TZ.pm' => sub {
+        return (_glob_in_inc('Date/Manip/TZ', 1),
+                _glob_in_inc('Date/Manip/Offset', 1));
+    },
     'DateTime/Locale.pm' => 'sub',
     'DBI.pm' => sub {
         grep !/\bProxy\b/, _glob_in_inc('DBD', 1);
@@ -315,6 +323,7 @@
     },
     'Log/Log4perl.pm' => 'sub',
     'Log/Any.pm' => 'sub',
+    'Log/Report/Dispatcher.pm' => 'sub',
     'LWP/UserAgent.pm' => sub {
         return(
             qw(
@@ -367,6 +376,11 @@
         _glob_in_inc('POE/XS/Loop', 1),
         _glob_in_inc('POE/Loop', 1),
     },
+    'POSIX.pm'                      => sub {
+        map { my $sigmod = $_;
+              map "auto/POSIX/$sigmod/$_->{name}", _glob_in_inc("auto/POSIX/$sigmod");
+            } qw( SigAction SigRt )
+    },
     'PPI.pm'                        => 'sub',
     'Parse/AFP.pm'                  => 'sub',
     'Parse/Binary.pm'               => 'sub',
@@ -415,7 +429,7 @@
         grep /\.txt$/, map "unicore/$_->{name}", _glob_in_inc('unicore', 0);
     },
     'URI.pm'            => sub {
-        grep !/.\b[_A-Z]/, _glob_in_inc('URI', 1);
+        grep !/urn/, _glob_in_inc('URI', 1);
     },
     'Win32/EventLog.pm'    => [qw( Win32/IPC.pm )],
     'Win32/Exe.pm'         => 'sub',
@@ -809,14 +823,18 @@
             return ("autouse.pm", "$autouse.pm");
         }
 
-        if (my ($libs) = /\b(?:use\s+lib\s+|(?:unshift|push)\W+\@INC\W+)(.+)/)
+        if (my ($how, $libs) = /\b(use\s+lib\s+|(?:unshift|push)\s+\@INC\s+,)(.+)/)
         {
             my $archname = defined($Config{archname}) ? $Config{archname} : '';
             my $ver = defined($Config{version}) ? $Config{version} : '';
-            foreach (grep(/\w/, split(/["';() ]/, $libs))) {
-                unshift(@INC, "$_/$ver")           if -d "$_/$ver";
-                unshift(@INC, "$_/$archname")      if -d "$_/$archname";
-                unshift(@INC, "$_/$ver/$archname") if -d "$_/$ver/$archname";
+            foreach my $dir (do { no strict; no warnings; eval $libs }) {
+                next unless defined $dir;
+                my @dirs = $dir;
+                push @dirs, "$dir/$ver", "$dir/$archname", "$dir/$ver/$archname" 
+                    if $how =~ /lib/;
+                foreach (@dirs) {
+                    unshift(@INC, $_) if -d $_;
+                }
             }
             next;
         }
@@ -828,27 +846,35 @@
 }
 
 # short helper for scan_chunk
-sub _typical_module_loader_chunk {
-  local $_ = shift;
-  my $loader = shift;
-  my $prefix='';
-  if (@_ and $_[0]) {
-    $prefix=$_[0].'::';
-  }
-  my $loader_file = $loader;
-  $loader_file =~ s/::/\//;
-  $loader_file .= ".pm";
-  $loader = quotemeta($loader);
-
-  if (/^\s* use \s+ $loader(?!\:) \b \s* (.*)/sx) {
+my %LoaderRegexp; # cache
+sub _build_loader_regexp {
+    my $loaders = shift;
+    my $prefix = (@_ && $_[0]) ? $_[0].'::' : '';
+   
+    my $loader = join '|', map quotemeta($_), split /\s+/, $loaders;
+    my $regexp = qr/^\s* use \s+ ($loader)(?!\:) \b \s* (.*)/sx;
+    # WARNING: This doesn't take the prefix into account
+    $LoaderRegexp{$loaders} = $regexp;
+    return $regexp
+}
+
+# short helper for scan_chunk
+sub _extract_loader_dependency {
+    my $loader = shift;
+    my $loadee = shift;
+    my $prefix = (@_ && $_[0]) ? $_[0].'::' : '';
+
+    my $loader_file = $loader;
+    $loader_file =~ s/::/\//;
+    $loader_file .= ".pm";
+
     return [
-      $loader_file,
-      map { my $mod="$prefix$_";$mod=~s{::}{/}g; "$mod.pm" }
-      grep { length and !/^q[qw]?$/ and !/-/ } split(/[^\w:-]+/, $1)
-      #should skip any module name that contains '-', not split it in two
+        $loader_file,
+        map { my $mod="$prefix$_"; $mod =~ s{::}{/}g; "$mod.pm" }
+        grep { length and !/^q[qw]?$/ and !/-/ }
+        split /[^\w:-]+/, $loadee
+        #should skip any module name that contains '-', not split it in two
     ];
-  }
-  return();
 }
 
 sub scan_chunk {
@@ -860,13 +886,17 @@
 
         # TODO: There's many more of these "loader" type modules on CPAN!
         # scan for the typical module-loader modules
-        foreach my $loader (qw(asa base parent prefork POE encoding maybe only::matching)) {
-          my $retval = _typical_module_loader_chunk($_, $loader);
+        my $loaders = "asa base parent prefork POE encoding maybe only::matching";
+        # grab pre-calculated regexp or re-build it (and cache it)
+        my $loader_regexp = $LoaderRegexp{$loaders} || _build_loader_regexp($loaders);
+        if ($_ =~ $loader_regexp) { # $1 == loader, $2 == loadee
+          my $retval = _extract_loader_dependency($1, $2);
           return $retval if $retval;
         }
 
-        foreach my $loader (qw(Catalyst)) {
-          my $retval = _typical_module_loader_chunk($_, $loader,'Catalyst::Plugin');
+        $loader_regexp = $LoaderRegexp{"Catalyst"} || _build_loader_regexp("Catalyst", "Catalyst::Plugin");
+        if ($_ =~ $loader_regexp) { # $1 == loader, $2 == loadee
+          my $retval = _extract_loader_dependency($1, $2, "Catalyst::Plugin");
           return $retval if $retval;
         }
 
@@ -1121,13 +1151,13 @@
 
 sub set_file {
     my $self = shift;
-    foreach my $script (@_) {
-        my ($vol, $dir, $file) = File::Spec->splitpath($script);
-        $self->{main} = {
-            key  => $file,
-            file => $script,
-        };
-    }
+    my $script = shift;
+
+    my ($vol, $dir, $file) = File::Spec->splitpath($script);
+    $self->{main} = {
+        key  => $file,
+        file => $script,
+    };
 }
 
 sub set_options {
@@ -1229,11 +1259,11 @@
     $fhout->close;
     $fhin->close;
 
-    system($perl, $fname);
-
-    _extract_info("$fname.out", $inchash, $dl_shared_objects, $incarray);
-    unlink("$fname");
-    unlink("$fname.out");
+    my $rc = system($perl, $fname);
+
+    _extract_info("$fname.out", $inchash, $dl_shared_objects, $incarray) if $rc == 0;
+    unlink("$fname", "$fname.out");
+    die "SYSTEM ERROR in compiling $file: $rc" unless $rc == 0;
 }
 
 sub _execute {
@@ -1252,11 +1282,11 @@
     $fhin->close;
 
     File::Path::rmtree( ['_Inline'], 0, 1); # XXX hack
-    system($perl, (map { "-I$_" } @IncludeLibs), $fname) == 0 or die "SYSTEM ERROR in executing $file: $?";
-
-    _extract_info("$fname.out", $inchash, $dl_shared_objects, $incarray);
-    unlink("$fname");
-    unlink("$fname.out");
+    my $rc = system($perl, (map { "-I$_" } @IncludeLibs), $fname);
+
+    _extract_info("$fname.out", $inchash, $dl_shared_objects, $incarray) if $rc == 0;
+    unlink("$fname", "$fname.out");
+    die "SYSTEM ERROR in executing $file: $rc" unless $rc == 0;
 }
 
 # create a new hashref, applying fixups

Modified: trunk/libmodule-scandeps-perl/t/7-check-dynaloader.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/t/7-check-dynaloader.t?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/t/7-check-dynaloader.t (original)
+++ trunk/libmodule-scandeps-perl/t/7-check-dynaloader.t Wed Mar  2 02:30:18 2011
@@ -36,8 +36,18 @@
 
 ok( $entry, 'we have some key that looks like it pulled in the Cwd or Glob shared lib' );
 
-# build a path the the Cwd library based on the entry in %INC and our Module::ScanDeps path
+# Build a path the the Cwd library based on the entry in %INC and 
+# our Module::ScanDeps path: if the module Foo::Bar was found as 
+# /some/path/Foo/Bar.pm, assume its shared library is in 
+# /some/path/auto/Foo/Bar/Bar.$dlext
 $cwd_bundle_path =~ s,(Cwd|File/Glob)\.pm$,$entry,;
+
+# NOTE: This behaviour is not really guaranteed by the way DynaLoader 
+# works, but it is a reasonable assumption for any module installed 
+# by ExtUtils::MakeMaker. But it fails when the module wasn't installed, 
+# but located via blib (where the pm file is below blib/lib, but the
+# correposnding shared library is below blib/arch). CPAN Testers does this.
+$cwd_bundle_path =~ s,\bblib\b(.)\blib\b,blib$1arch,;
 
 is( $rv->{$entry}->{file}, $cwd_bundle_path, 'the full bundle path we got looks legit' );
 

Modified: trunk/libmodule-scandeps-perl/t/9-check_path_to_inc_name.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmodule-scandeps-perl/t/9-check_path_to_inc_name.t?rev=70214&op=diff
==============================================================================
--- trunk/libmodule-scandeps-perl/t/9-check_path_to_inc_name.t (original)
+++ trunk/libmodule-scandeps-perl/t/9-check_path_to_inc_name.t Wed Mar  2 02:30:18 2011
@@ -4,12 +4,12 @@
 use warnings;
 use Cwd;
 
-use Test::More tests => 6;
+use Test::More tests => 7;
 
 ##############################################################
 # Tests compilation of Module::ScanDeps
 ##############################################################
-BEGIN { use_ok( 'Module::ScanDeps', qw(path_to_inc_name) ); }
+BEGIN { use_ok( 'Module::ScanDeps', qw(path_to_inc_name scan_deps) ); }
 
 my $name;
 my $basepath;
@@ -34,4 +34,8 @@
 $name = 'use_scoped_package.pl';
 is(path_to_inc_name($basepath.$name, $warn), $name, "$name correctly returned by path_to_inc_name($basepath$name)");
 
-__END__
+# 'use lib ...' 
+my $rv = scan_deps("t/data/use_lib.pl");
+ok(exists $rv->{"Some.pm"}, "'use lib ...' correctly interpreted");
+
+__END__




More information about the Pkg-perl-cvs-commits mailing list