r77385 - in /trunk/perlbrew: Changes MANIFEST META.yml Makefile.PL debian/changelog lib/App/perlbrew.pm t/09.exit_status.t t/10.resolve.t t/command-exec.t

ghedo-guest at users.alioth.debian.org ghedo-guest at users.alioth.debian.org
Mon Jul 11 18:08:12 UTC 2011


Author: ghedo-guest
Date: Mon Jul 11 18:08:10 2011
New Revision: 77385

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=77385
Log:
New upstream release

Added:
    trunk/perlbrew/t/10.resolve.t
      - copied unchanged from r77384, branches/upstream/perlbrew/current/t/10.resolve.t
    trunk/perlbrew/t/command-exec.t
      - copied unchanged from r77384, branches/upstream/perlbrew/current/t/command-exec.t
Modified:
    trunk/perlbrew/Changes
    trunk/perlbrew/MANIFEST
    trunk/perlbrew/META.yml
    trunk/perlbrew/Makefile.PL
    trunk/perlbrew/debian/changelog
    trunk/perlbrew/lib/App/perlbrew.pm
    trunk/perlbrew/t/09.exit_status.t

Modified: trunk/perlbrew/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/perlbrew/Changes?rev=77385&op=diff
==============================================================================
--- trunk/perlbrew/Changes (original)
+++ trunk/perlbrew/Changes Mon Jul 11 18:08:10 2011
@@ -1,3 +1,13 @@
+0.27:
+- Hotfix for `perlbrew install` command
+
+0.26:
+- Fix GH #119 
+- Fix t/08.exit_status.t for cpantesters
+- Fix several bugs in `exec` command
+- Implement GH #103 - install -v shows build.log
+- Add -Dusedevel when installing blead perl
+
 0.25:
 - suggest when user types wrong commands. hoelzro++
 - Improvements about self-upgrade by hoelzro++

Modified: trunk/perlbrew/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/perlbrew/MANIFEST?rev=77385&op=diff
==============================================================================
--- trunk/perlbrew/MANIFEST (original)
+++ trunk/perlbrew/MANIFEST Mon Jul 11 18:08:10 2011
@@ -33,5 +33,7 @@
 t/08.error_install_cpanm.t
 t/08.error_mirror.t
 t/09.exit_status.t
+t/10.resolve.t
+t/command-exec.t
 t/installation.t
 t/installation2.t

Modified: trunk/perlbrew/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/perlbrew/META.yml?rev=77385&op=diff
==============================================================================
--- trunk/perlbrew/META.yml (original)
+++ trunk/perlbrew/META.yml Mon Jul 11 18:08:10 2011
@@ -4,6 +4,7 @@
   - 'Kang-min Liu  C<< <gugod at gugod.org> >>'
 build_requires:
   ExtUtils::MakeMaker: 6.42
+  File::Temp: 0
   IO::All: 0
   Path::Class: 0
   Test::Exception: 0
@@ -32,4 +33,4 @@
 resources:
   license: http://opensource.org/licenses/mit-license.php
   repository: git://github.com/gugod/App-perlbrew.git
-version: 0.25
+version: 0.27

Modified: trunk/perlbrew/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/perlbrew/Makefile.PL?rev=77385&op=diff
==============================================================================
--- trunk/perlbrew/Makefile.PL (original)
+++ trunk/perlbrew/Makefile.PL Mon Jul 11 18:08:10 2011
@@ -58,6 +58,7 @@
 test_requires 'Test::Spec';
 test_requires 'Path::Class';
 test_requires 'IO::All';
+test_requires 'File::Temp';
 
 install_script 'bin/perlbrew';
 

Modified: trunk/perlbrew/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/perlbrew/debian/changelog?rev=77385&op=diff
==============================================================================
--- trunk/perlbrew/debian/changelog (original)
+++ trunk/perlbrew/debian/changelog Mon Jul 11 18:08:10 2011
@@ -1,3 +1,9 @@
+perlbrew (0.27-1) UNRELEASED; urgency=low
+
+  * New upstream release
+
+ -- Alessandro Ghedini <al3xbio at gmail.com>  Mon, 11 Jul 2011 20:07:02 +0200
+
 perlbrew (0.25-1) UNRELEASED; urgency=low
 
   TODO:

Modified: trunk/perlbrew/lib/App/perlbrew.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/perlbrew/lib/App/perlbrew.pm?rev=77385&op=diff
==============================================================================
--- trunk/perlbrew/lib/App/perlbrew.pm (original)
+++ trunk/perlbrew/lib/App/perlbrew.pm Mon Jul 11 18:08:10 2011
@@ -6,7 +6,7 @@
 use File::Spec::Functions qw( catfile );
 use FindBin;
 
-our $VERSION = "0.25";
+our $VERSION = "0.27";
 our $CONF;
 
 my $ROOT             = $ENV{PERLBREW_ROOT} || "$ENV{HOME}/perl5/perlbrew";
@@ -444,13 +444,19 @@
     }
 
     # Assume 5.12.3 means perl-5.12.3, for example.
-    if ($x =~ /\A(?:switch|use|install|env)\Z/ and my $dist = shift @args) {
-        if ($dist =~ /\A(?:\d+\.)*\d+\Z/) {
-            unshift @args, "perl-$dist";
+    if ($x =~ /\A(?:switch|use|env)\Z/ and my $name = shift @args) {
+        my $fullname = $self->resolve_installation_name($name);
+        if ($fullname) {
+            unshift @args, $fullname;
         }
         else {
-            unshift @args, $dist;
-        }
+            die "Unknown installation name: $name\n";
+        }
+    }
+    elsif ($x eq 'install') {
+        # prepend "perl-" to version number, but only if there is an argument
+        $args[0] =~ s/\A((?:\d+\.)*\d+)\Z/perl-$1/
+            if @args;
     }
 
     $self->$s(@args);
@@ -858,7 +864,7 @@
     $as = $self->{as} if $self->{as};
 
     unshift @d_options, qq(prefix=$ROOT/perls/$as);
-    push @d_options, "usedevel" if $dist_version =~ /5\.1[13579]|git/;
+    push @d_options, "usedevel" if $dist_version =~ /5\.1[13579]|git|blead/;
     print "Installing $dist_extracted_dir into " . $self->path_with_tilde("$ROOT/perls/$as") . "\n";
     print <<INSTALL if $self->{quiet} && !$self->{verbose};
 
@@ -904,9 +910,13 @@
         $make,
         @install
     );
-    $cmd = "($cmd) >> '$self->{log_file}' 2>&1 ";
-
-    print "$cmd\n" if $self->{verbose};
+    if($self->{verbose}) {
+        $cmd = "($cmd) 2>&1 | tee $self->{log_file}";
+        print "$cmd\n" if $self->{verbose};
+    } else {
+        $cmd = "($cmd) >> '$self->{log_file}' 2>&1 ";
+    }
+
 
     delete $ENV{$_} for qw(PERL5LIB PERL5OPT);
 
@@ -1259,17 +1269,11 @@
         my %env = $self->perlbrew_env($i->{name});
         next if !$env{PERLBREW_PERL};
 
-        my $command = "";
-
-        while ( my($name, $value) = each %env) {
-            $command .= "$name=$value ";
-        }
-
-        $command .= ' PATH=${PERLBREW_PATH}:${PATH} ';
-        $command .= "; " . join " ", map { quotemeta($_) } @args;
+        local @ENV{ keys %env } = values %env;
+        local $ENV{PATH} = join(':', $env{PERLBREW_PATH}, $ENV{PATH});
 
         print "$i->{name}\n==========\n";
-        system "$command\n";
+        system @args;
         print "\n\n";
         # print "\n<===\n\n\n";
     }
@@ -1344,6 +1348,20 @@
     else {
         die "\nERROR: Unrecognized action: `${cmd}`.\n\n";
     }
+}
+
+sub resolve_installation_name {
+    my ($self, $name) = @_;
+    die "App::perlbrew->resolve_installation_name requires one argument." unless $name;
+
+    if ( $self->is_installed($name) ) {
+        return $name;
+    }
+    elsif ($self->is_installed("perl-$name")) {
+        return "perl-$name";
+    }
+
+    return undef;
 }
 
 sub conf {

Modified: trunk/perlbrew/t/09.exit_status.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/perlbrew/t/09.exit_status.t?rev=77385&op=diff
==============================================================================
--- trunk/perlbrew/t/09.exit_status.t (original)
+++ trunk/perlbrew/t/09.exit_status.t Mon Jul 11 18:08:10 2011
@@ -10,6 +10,8 @@
     $ENV{PERLBREW_ROOT} = file(__FILE__)->dir->subdir("mock_perlbrew_root");
 }
 
+my $bin_perlbrew = file(__FILE__)->dir->parent->subdir("bin")->file("perlbrew");
+
 use App::perlbrew;
 
 throws_ok(
@@ -20,10 +22,10 @@
     qr[unknown_command]
 );
 
-`perlbrew unknown-command 2>&1`;
+system("perl -Ilib ${bin_perlbrew} unknown-command 2>&1");
 ok($? != 0);
 
-`perlbrew version 2>&1`;
+system("perl -Ilib ${bin_perlbrew} version 2>&1");
 ok($? == 0);
 
 done_testing;




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