develooper Front page | perl.cvs.p5ee | Postings from April 2013

[svn:p5ee] r15610 - in p5ee/trunk/App-Options: . bin lib/App

From:
spadkins
Date:
April 1, 2013 21:49
Subject:
[svn:p5ee] r15610 - in p5ee/trunk/App-Options: . bin lib/App
Message ID:
20130401214910.5EEEE184BB6@xx12.develooper.com
Author: spadkins
Date: Mon Apr  1 14:49:10 2013
New Revision: 15610

Modified:
   p5ee/trunk/App-Options/CHANGES
   p5ee/trunk/App-Options/bin/prefix
   p5ee/trunk/App-Options/lib/App/Options.pm

Log:
Modified handling of perlinc so that the standard directories are added to @INC regardless of whether perlinc is set. Then perlinc directories are added afterward.

Modified: p5ee/trunk/App-Options/CHANGES
==============================================================================
--- p5ee/trunk/App-Options/CHANGES	(original)
+++ p5ee/trunk/App-Options/CHANGES	Mon Apr  1 14:49:10 2013
@@ -2,6 +2,11 @@
 # CHANGE LOG
 #############################################################################
 
+VERSION 1.13
+ x Modified handling of perlinc so that the standard directories are added
+   to @INC regardless of whether perlinc is set. Then perlinc directories
+   are added afterward.
+
 VERSION 1.12
  x Added a copyright statement at the request of a Debian administrator.
    https://rt.cpan.org/Public/Bug/Display.html?id=62017

Modified: p5ee/trunk/App-Options/bin/prefix
==============================================================================
--- p5ee/trunk/App-Options/bin/prefix	(original)
+++ p5ee/trunk/App-Options/bin/prefix	Mon Apr  1 14:49:10 2013
@@ -79,6 +79,7 @@
    then
       if [[ -f "$PREFIXES_FILE" ]]     # check if multiple environments exist
       then
+         set -- $(cat $PREFIXES_FILE | while read DIR do; [ -d $DIR ] && echo $DIR; done)
          export NUM_PREFIXES=$(wc -l < "$PREFIXES_FILE")
          if [[ "$NEW_PREFIX" = "" ]]      
          then

Modified: p5ee/trunk/App-Options/lib/App/Options.pm
==============================================================================
--- p5ee/trunk/App-Options/lib/App/Options.pm	(original)
+++ p5ee/trunk/App-Options/lib/App/Options.pm	Mon Apr  1 14:49:10 2013
@@ -14,7 +14,7 @@
 use File::Spec;
 use Config;
 
-$VERSION = "1.12";
+$VERSION = "1.13";
 
 =head1 NAME
 
@@ -85,7 +85,8 @@
 option facilitates the inclusion ("use") of application-specific
 perl modules from special places to enable the installation of
 multiple versions of an application on the same system (i.e.
-/usr/myproduct/version).
+/usr/myproduct/version). Specifically, App::Options adds the
+following paths to the @INC variable
 
 The description of the AppConfig distribution sounds similar
 to what is described here.  However, the following are some key
@@ -298,7 +299,22 @@
 
     perlinc - a path of directories to prepend to the @INC search path.
        This list of directories is separated by any combination of
-       [,; ] characters.
+       [,; ] characters. This is in addition to the following paths which
+       are added to @INC regardless.
+
+          $PREFIX/lib
+          $PREFIX/lib/perl5         (if $PREFIX/lib/perl5 exists)
+          $PREFIX/lib/perl5/$perlversion
+          $PREFIX/lib/perl5/site_perl
+          $PREFIX/lib/perl5/site_perl/$perlversion
+          $PREFIX/lib/perl          (if $PREFIX/lib/perl exists and not perl5)
+          $PREFIX/lib/perl/$perlversion
+          $PREFIX/lib/perl/site_perl
+          $PREFIX/lib/perl/site_perl/$perlversion
+          $PREFIX/share/perl        (if $PREFIX/share/perl exists)
+          $PREFIX/share/perl/$perlversion
+          $PREFIX/share/perl/site_perl
+          $PREFIX/share/perl/site_perl/$perlversion
 
     debug_options - if this is set, a variety of debug information is
        printed out during the option processing.  This helps in debugging
@@ -753,19 +769,7 @@
     #    i.e. /usr/mycompany/lib/5.6.1 and /usr/mycompany/lib/site_perl/5.6.1
     #################################################################
 
-    if (defined $values->{perlinc}) {    # add perlinc entries
-        if ($values->{perlinc}) {
-            unshift(@INC, split(/[,; ]+/,$values->{perlinc}));
-            if ($debug_options >= 2) {
-                print STDERR "9. perlinc Directories Added to \@INC\n   ",
-                    join("\n   ", @INC), "\n";
-            }
-        }
-        else {
-            print STDERR "9. No Directories Added to \@INC\n" if ($debug_options >= 2);
-        }
-    }
-    else {
+    {
         my $libdir = "$prefix/lib";
         my $libdir_found = 0;
         # Look to see whether this PREFIX has been included already in @INC.
@@ -799,24 +803,27 @@
 
         if (!$libdir_found) {
             unshift(@INC, "$libdir");
-            if ($^V) {
-                my $perlversion = sprintf("%vd", $^V);
-                unshift(@INC, $libdir);
-                if (-d "$libdir/perl5") {
-                    unshift(@INC, "$libdir/perl5/site_perl/$perlversion");  # site_perl goes first!
-                    unshift(@INC, "$libdir/perl5/$perlversion");
-                    unshift(@INC, "$libdir/perl5");
-                }
-                elsif (-d "$libdir/perl") {
-                    unshift(@INC, "$libdir/perl/site_perl/$perlversion");   # site_perl goes first!
-                    unshift(@INC, "$libdir/perl/$perlversion");
-                    unshift(@INC, "$libdir/perl");
-                }
-                if (-d "$prefix/share/perl") {
-                    unshift(@INC, "$prefix/share/perl/site_perl/$perlversion");   # site_perl goes first!
-                    unshift(@INC, "$prefix/share/perl/$perlversion");
-                    unshift(@INC, "$prefix/share/perl");
-                }
+        }
+        if ($^V) {
+            my $perlversion = sprintf("%vd", $^V);
+            unshift(@INC, $libdir);
+            if (-d "$libdir/perl5") {
+                unshift(@INC, "$libdir/perl5");
+                unshift(@INC, "$libdir/perl5/$perlversion");
+                unshift(@INC, "$libdir/perl5/site_perl");               # site_perl goes first!
+                unshift(@INC, "$libdir/perl5/site_perl/$perlversion");  # site_perl goes first!
+            }
+            elsif (-d "$libdir/perl") {
+                unshift(@INC, "$libdir/perl");
+                unshift(@INC, "$libdir/perl/$perlversion");
+                unshift(@INC, "$libdir/perl/site_perl");                # site_perl goes first!
+                unshift(@INC, "$libdir/perl/site_perl/$perlversion");   # site_perl goes first!
+            }
+            if (-d "$prefix/share/perl") {
+                unshift(@INC, "$prefix/share/perl");
+                unshift(@INC, "$prefix/share/perl/$perlversion");
+                unshift(@INC, "$prefix/share/perl/site_perl");                # site_perl goes first!
+                unshift(@INC, "$prefix/share/perl/site_perl/$perlversion");   # site_perl goes first!
             }
         }
         if ($debug_options >= 2) {
@@ -824,6 +831,18 @@
                 join("\n   ", @INC), "\n";
         }
     }
+    if (defined $values->{perlinc}) {    # add perlinc entries
+        if ($values->{perlinc}) {
+            unshift(@INC, split(/[,; ]+/,$values->{perlinc}));
+            if ($debug_options >= 2) {
+                print STDERR "9. perlinc Directories Added to \@INC\n   ",
+                    join("\n   ", @INC), "\n";
+            }
+        }
+        else {
+            print STDERR "9. No Directories Added to \@INC\n" if ($debug_options >= 2);
+        }
+    }
     #print STDERR "09 option_defs [", join("|", sort keys %$option_defs), "]\n" if ($prefix eq "/usr");
 
     #################################################################



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About