Hello community, here is the log from the commit of package perl-App-perlbrew for openSUSE:Factory checked in at 2012-05-25 16:17:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-App-perlbrew (Old) and /work/SRC/openSUSE:Factory/.perl-App-perlbrew.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-App-perlbrew", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-App-perlbrew/perl-App-perlbrew.changes 2012-03-07 13:44:12.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-App-perlbrew.new/perl-App-perlbrew.changes 2012-05-25 16:17:37.000000000 +0200 @@ -1,0 +2,7 @@ +Fri May 25 03:28:46 UTC 2012 - [email protected] + +- updated to 0.42 + - Improvement: die when running perlbrew (use|switch) with unknown installation name. + - clean 'build.log' on install. ref: RT #69168. + +------------------------------------------------------------------- Old: ---- App-perlbrew-0.41.tar.gz New: ---- App-perlbrew-0.42.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-App-perlbrew.spec ++++++ --- /var/tmp/diff_new_pack.sCOWtv/_old 2012-05-25 16:17:39.000000000 +0200 +++ /var/tmp/diff_new_pack.sCOWtv/_new 2012-05-25 16:17:39.000000000 +0200 @@ -17,7 +17,7 @@ Name: perl-App-perlbrew -Version: 0.41 +Version: 0.42 Release: 0 %define cpan_name App-perlbrew Summary: Manage perl installations in your $HOME @@ -70,7 +70,6 @@ %prep %setup -q -n %{cpan_name}-%{version} -find . -type f -print0 | xargs -0 chmod 644 %build %{__perl} Makefile.PL INSTALLDIRS=vendor ++++++ App-perlbrew-0.41.tar.gz -> App-perlbrew-0.42.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/Changes new/App-perlbrew-0.42/Changes --- old/App-perlbrew-0.41/Changes 2012-02-02 04:58:45.000000000 +0100 +++ new/App-perlbrew-0.42/Changes 2012-03-07 12:20:40.000000000 +0100 @@ -1,3 +1,7 @@ +0.42: +- Improvement: die when running perlbrew (use|switch) with unknown installation name. +- clean 'build.log' on install. ref: RT #69168. + 0.41: - Fix installation issue when the specified version is not listed in CPAN::Perl::Releases - Fix sub-shell invocation for 'switch' and 'use' command. This is particularly for csh users, but it should also work for bash users. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/MANIFEST new/App-perlbrew-0.42/MANIFEST --- old/App-perlbrew-0.41/MANIFEST 2012-02-02 04:57:45.000000000 +0100 +++ new/App-perlbrew-0.42/MANIFEST 2012-03-03 19:22:39.000000000 +0100 @@ -50,6 +50,7 @@ t/command-lib.t t/command-list.t t/current_perl.t +t/do_system.t t/installation-perlbrew.t t/installation.t t/installation2.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/META.yml new/App-perlbrew-0.42/META.yml --- old/App-perlbrew-0.41/META.yml 2012-02-02 04:59:54.000000000 +0100 +++ new/App-perlbrew-0.42/META.yml 2012-03-07 12:21:39.000000000 +0100 @@ -3,7 +3,7 @@ author: - 'Kang-min Liu C<< <[email protected]> >>' build_requires: - ExtUtils::MakeMaker: 6.42 + ExtUtils::MakeMaker: 6.62 File::Temp: 0 IO::All: 0 Path::Class: 0 @@ -13,9 +13,10 @@ Test::Simple: 0.98 Test::Spec: 0 configure_requires: - ExtUtils::MakeMaker: 6.42 + ExtUtils::MakeMaker: 6.62 distribution_type: module -generated_by: 'Module::Install version 1.01' +dynamic_config: 1 +generated_by: 'Module::Install version 1.04' license: mit meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -36,4 +37,4 @@ resources: license: http://opensource.org/licenses/mit-license.php repository: git://github.com/gugod/App-perlbrew.git -version: 0.41 +version: 0.42 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install/Base.pm new/App-perlbrew-0.42/inc/Module/Install/Base.pm --- old/App-perlbrew-0.41/inc/Module/Install/Base.pm 2012-02-02 04:59:53.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install/Base.pm 2012-03-07 12:21:38.000000000 +0100 @@ -4,7 +4,7 @@ use strict 'vars'; use vars qw{$VERSION}; BEGIN { - $VERSION = '1.01'; + $VERSION = '1.04'; } # Suspend handler for "redefined" warnings diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install/Can.pm new/App-perlbrew-0.42/inc/Module/Install/Can.pm --- old/App-perlbrew-0.41/inc/Module/Install/Can.pm 2012-02-02 04:59:53.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install/Can.pm 2012-03-07 12:21:38.000000000 +0100 @@ -9,7 +9,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.01'; + $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install/Fetch.pm new/App-perlbrew-0.42/inc/Module/Install/Fetch.pm --- old/App-perlbrew-0.41/inc/Module/Install/Fetch.pm 2012-02-02 04:59:53.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install/Fetch.pm 2012-03-07 12:21:38.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.01'; + $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install/Makefile.pm new/App-perlbrew-0.42/inc/Module/Install/Makefile.pm --- old/App-perlbrew-0.41/inc/Module/Install/Makefile.pm 2012-02-02 04:59:53.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install/Makefile.pm 2012-03-07 12:21:38.000000000 +0100 @@ -8,7 +8,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.01'; + $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } @@ -219,14 +219,14 @@ # an underscore, even though its own version may contain one! # Hence the funny regexp to get rid of it. See RT #35800 # for details. - my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/; + my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/; $self->build_requires( 'ExtUtils::MakeMaker' => $v ); $self->configure_requires( 'ExtUtils::MakeMaker' => $v ); } else { # Allow legacy-compatibility with 5.005 by depending on the # most recent EU:MM that supported 5.005. - $self->build_requires( 'ExtUtils::MakeMaker' => 6.42 ); - $self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 ); + $self->build_requires( 'ExtUtils::MakeMaker' => 6.36 ); + $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 ); } # Generate the MakeMaker params @@ -241,7 +241,6 @@ 'all_from' if you prefer) in Makefile.PL. EOT - $DB::single = 1; if ( $self->tests ) { my @tests = split ' ', $self->tests; my %seen; @@ -412,4 +411,4 @@ __END__ -#line 541 +#line 540 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install/Metadata.pm new/App-perlbrew-0.42/inc/Module/Install/Metadata.pm --- old/App-perlbrew-0.41/inc/Module/Install/Metadata.pm 2012-02-02 04:59:53.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install/Metadata.pm 2012-03-07 12:21:38.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.01'; + $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } @@ -151,15 +151,21 @@ sub install_as_vendor { $_[0]->installdirs('vendor') } sub dynamic_config { - my $self = shift; - unless ( @_ ) { - warn "You MUST provide an explicit true/false value to dynamic_config\n"; - return $self; + my $self = shift; + my $value = @_ ? shift : 1; + if ( $self->{values}->{dynamic_config} ) { + # Once dynamic we never change to static, for safety + return 0; } - $self->{values}->{dynamic_config} = $_[0] ? 1 : 0; + $self->{values}->{dynamic_config} = $value ? 1 : 0; return 1; } +# Convenience command +sub static_config { + shift->dynamic_config(0); +} + sub perl_version { my $self = shift; return $self->{values}->{perl_version} unless @_; @@ -170,7 +176,7 @@ # Normalize the version $version = $self->_perl_version($version); - # We don't support the reall old versions + # We don't support the really old versions unless ( $version >= 5.005 ) { die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n"; } @@ -582,7 +588,7 @@ sub requires_from { my $self = shift; my $content = Module::Install::_readperl($_[0]); - my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg; + my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg; while ( @requires ) { my $module = shift @requires; my $version = shift @requires; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install/Scripts.pm new/App-perlbrew-0.42/inc/Module/Install/Scripts.pm --- old/App-perlbrew-0.41/inc/Module/Install/Scripts.pm 2012-02-02 04:59:53.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install/Scripts.pm 2012-03-07 12:21:38.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.01'; + $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install/Win32.pm new/App-perlbrew-0.42/inc/Module/Install/Win32.pm --- old/App-perlbrew-0.41/inc/Module/Install/Win32.pm 2012-02-02 04:59:53.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install/Win32.pm 2012-03-07 12:21:38.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.01'; + $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install/WriteAll.pm new/App-perlbrew-0.42/inc/Module/Install/WriteAll.pm --- old/App-perlbrew-0.41/inc/Module/Install/WriteAll.pm 2012-02-02 04:59:53.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install/WriteAll.pm 2012-03-07 12:21:38.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.01'; + $VERSION = '1.04'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/inc/Module/Install.pm new/App-perlbrew-0.42/inc/Module/Install.pm --- old/App-perlbrew-0.41/inc/Module/Install.pm 2012-02-02 04:59:52.000000000 +0100 +++ new/App-perlbrew-0.42/inc/Module/Install.pm 2012-03-07 12:21:37.000000000 +0100 @@ -31,7 +31,7 @@ # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. - $VERSION = '1.01'; + $VERSION = '1.04'; # Storage for the pseudo-singleton $MAIN = undef; @@ -451,7 +451,7 @@ } sub _cmp ($$) { - _version($_[0]) <=> _version($_[1]); + _version($_[1]) <=> _version($_[2]); } # Cloned from Params::Util::_CLASS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/lib/App/perlbrew.pm new/App-perlbrew-0.42/lib/App/perlbrew.pm --- old/App-perlbrew-0.41/lib/App/perlbrew.pm 2012-02-02 04:58:45.000000000 +0100 +++ new/App-perlbrew-0.42/lib/App/perlbrew.pm 2012-03-07 12:20:40.000000000 +0100 @@ -9,7 +9,7 @@ use FindBin; use CPAN::Perl::Releases; -our $VERSION = "0.41"; +our $VERSION = "0.42"; our $CONFIG; our $PERLBREW_ROOT = $ENV{PERLBREW_ROOT} || catdir($ENV{HOME}, "perl5", "perlbrew"); @@ -122,8 +122,7 @@ if [[ -z "$2" ]] ; then command perlbrew switch else - perlbrew use $2 - __perlbrew_reinit $2 + perlbrew use $2 && __perlbrew_reinit $2 fi ;; @@ -618,7 +617,7 @@ if ($x) { my $dist_tarball = (split("/", $x))[-1]; - my $dist_tarball_url = "http://search.cpan.org//CPAN/authors/id/$x"; + my $dist_tarball_url = "http://search.cpan.org/CPAN/authors/id/$x"; return ($dist_tarball, $dist_tarball_url); } @@ -634,7 +633,7 @@ $html =~ m[<a href="(/CPAN/authors/id/.+/(perl-${version}.tar.(gz|bz2)))">Download</a>]; die "ERROR: Cannot find the tarball for perl-$version\n" if !$dist_path and !$dist_tarball; - my $dist_tarball_url = "http://search.cpan.org/CPAN/authors/id/${dist_path}"; + my $dist_tarball_url = "http://search.cpan.org${dist_path}"; return ($dist_tarball, $dist_tarball_url); } @@ -1026,6 +1025,9 @@ $make, @install ); + + unlink($self->{log_file}); + if($self->{verbose}) { $cmd = "($cmd) 2>&1 | tee $self->{log_file}"; print "$cmd\n" if $self->{verbose}; @@ -1062,6 +1064,10 @@ else { die <<FAIL; Installing $dist_extracted_dir failed. See $self->{log_file} to see why. +You might want to try upgrading patchperl before trying again: + + perlbrew install-patchperl + If you want to force install the distribution, try: perlbrew --force install $self->{dist_name} @@ -1072,8 +1078,8 @@ } sub do_system { - my ($self, $cmd) = @_; - return ! system($cmd); + my ($self, @cmd) = @_; + return ! system(@cmd); } sub do_capture { @@ -1158,6 +1164,10 @@ if ($name) { my ($perl_name, $lib_name) = $self->resolve_installation_name($name); + unless ($perl_name) { + die "\nERROR: The installation \"$name\" is unknown.\n\n"; + } + if(-d "@{[ $self->root ]}/perls/$perl_name/bin") { $env{PERLBREW_PERL} = $perl_name; $env{PERLBREW_PATH} .= ":" . catdir($self->root, "perls", $perl_name, "bin"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/t/09.exit_status.t new/App-perlbrew-0.42/t/09.exit_status.t --- old/App-perlbrew-0.41/t/09.exit_status.t 2012-02-02 04:58:43.000000000 +0100 +++ new/App-perlbrew-0.42/t/09.exit_status.t 2012-03-07 12:20:37.000000000 +0100 @@ -21,10 +21,11 @@ qr[unknown-command] ); -system("perl -Ilib ${bin_perlbrew} unknown-command 2>&1"); +my $perl = $^X; +system("$perl -Ilib ${bin_perlbrew} unknown-command 2>&1"); ok($? != 0); -system("perl -Ilib ${bin_perlbrew} version 2>&1"); +system("$perl -Ilib ${bin_perlbrew} version 2>&1"); ok($? == 0); done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/t/13.perl_release.t new/App-perlbrew-0.42/t/13.perl_release.t --- old/App-perlbrew-0.41/t/13.perl_release.t 2012-02-02 04:58:43.000000000 +0100 +++ new/App-perlbrew-0.42/t/13.perl_release.t 2012-03-07 12:20:37.000000000 +0100 @@ -36,8 +36,8 @@ my $app = App::perlbrew->new; my ($ball, $url) = $app->perl_release($version); - like $ball, qr/perl-?${version}.tar.(bz2|gz)/, $ball; - like $url, qr#authors/id/.+/${ball}$#, $url; + like $ball, qr/^perl-?${version}.tar.(bz2|gz)$/, $ball; + like $url, qr#^https?://search\.cpan\.org/CPAN/authors/id/SOMEONE/${ball}$#, $url; *CPAN::Perl::Releases::perl_tarballs = $orig_sub; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/t/command-help.t new/App-perlbrew-0.42/t/command-help.t --- old/App-perlbrew-0.41/t/command-help.t 2011-11-03 20:03:19.000000000 +0100 +++ new/App-perlbrew-0.42/t/command-help.t 2012-03-07 12:20:37.000000000 +0100 @@ -15,7 +15,9 @@ describe "help" => sub { it "should instruct user to read help for individual commands." => sub { - my $out = `perl -Ilib $bin_perlbrew help`; + my $perl = $^X; + + my $out = `$perl -Ilib $bin_perlbrew help`; like $out, qr/perlbrew help <command>/si; }; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.41/t/do_system.t new/App-perlbrew-0.42/t/do_system.t --- old/App-perlbrew-0.41/t/do_system.t 1970-01-01 01:00:00.000000000 +0100 +++ new/App-perlbrew-0.42/t/do_system.t 2012-03-07 12:20:37.000000000 +0100 @@ -0,0 +1,21 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More tests => 2; + +# test that 'do_system' wraps 'system' correctly + +our @system; +BEGIN { + *CORE::GLOBAL::system = sub { @system = @_; }; +} +use App::perlbrew; + +# don't actually run() it, we just want to call do_system +my $app = App::perlbrew->new('list'); + +$app->do_system(qw(perl -E), 'say 42'); +is_deeply \@system, [qw(perl -E), 'say 42'], 'passed all arguments to system()'; + +$app->do_system("perl -e 'say 42'"); +is_deeply \@system, ["perl -e 'say 42'"], 'passed single string to system()'; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
