Hello community,
here is the log from the commit of package perl-App-perlbrew for openSUSE:Factory checked in at 2014-10-01 07:40:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-App-perlbrew (Old)
and /work/SRC/openSUSE:Factory/.perl-App-perlbrew.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-App-perlbrew"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-App-perlbrew/perl-App-perlbrew.changes 2014-03-18 14:15:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-App-perlbrew.new/perl-App-perlbrew.changes 2014-10-01 07:40:47.000000000 +0200
@@ -1,0 +2,23 @@
+Mon Sep 15 15:44:39 UTC 2014 - coolo@suse.com
+
+- updated to 0.71
+ - Fix a few bugs of having unwanted values in PERL5LIB when switching between libs
+
+ 0.70: # 2014-09-02T20:41:15+0900
+ - download the fatpacked perlbrew from an http:// url.
+ - protect fatpacked perlbrew from PERL5LIB, thanks to dagolden++
+ - avoid several warnings, thanks to DabeDotCom++
+ - making perlbrew a bit friendlier to init.d script, thanks to maxhq++ . see also https://github.com/gugod/App-perlbrew/pull/404
+ - make it possible to override PERLBREWURL before invoking installers
+
+ 0.69: # 2014-06-10T23:32:05+0200
+ - fix 'perlbrew env' breakage by just avoiding bad local::lib versions.
+
+ 0.68: # 2014-06-07T15:08:00+0200
+ - disable SSL cert checks. GH #385.
+ - "perlbrew download stable" works as on expects. GH #383
+ - Many fish shell fixes. GH #376 #378 #379
+ - make 5.21 installable. GH #396
+ - various documentation fixes.
+
+-------------------------------------------------------------------
Old:
----
App-perlbrew-0.67.tar.gz
New:
----
App-perlbrew-0.71.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-App-perlbrew.spec ++++++
--- /var/tmp/diff_new_pack.gINexe/_old 2014-10-01 07:40:48.000000000 +0200
+++ /var/tmp/diff_new_pack.gINexe/_new 2014-10-01 07:40:48.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-App-perlbrew
-Version: 0.67
+Version: 0.71
Release: 0
%define cpan_name App-perlbrew
Summary: Manage perl installations in your $HOME
@@ -29,21 +29,27 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(CPAN::Perl::Releases) >= 1.26
-BuildRequires: perl(Capture::Tiny) >= 0.22
-BuildRequires: perl(Devel::PatchPerl) >= 1.00
-BuildRequires: perl(IO::All) >= 0.46
-BuildRequires: perl(Path::Class)
-BuildRequires: perl(Test::Exception)
-BuildRequires: perl(Test::NoWarnings)
-BuildRequires: perl(Test::Output) >= 0.04
-BuildRequires: perl(Test::Simple) >= 0.98
-BuildRequires: perl(Test::Spec) >= 0.46
-BuildRequires: perl(local::lib) >= 1.008026
-Requires: perl(CPAN::Perl::Releases) >= 1.26
-Requires: perl(Capture::Tiny) >= 0.22
-Requires: perl(Devel::PatchPerl) >= 1.00
-Requires: perl(local::lib) >= 1.008026
+BuildRequires: perl(CPAN::Perl::Releases) >= 1.84
+BuildRequires: perl(Capture::Tiny) >= 0.25
+BuildRequires: perl(Devel::PatchPerl) >= 1.24
+BuildRequires: perl(File::Temp) >= 0.2304
+BuildRequires: perl(IO::All) >= 0.51
+BuildRequires: perl(Path::Class) >= 0.33
+BuildRequires: perl(Pod::Parser) >= 1.62
+BuildRequires: perl(Pod::Usage) >= 1.64
+BuildRequires: perl(Test::Exception) >= 0.32
+BuildRequires: perl(Test::More) >= 1.001002
+BuildRequires: perl(Test::NoWarnings) >= 1.04
+BuildRequires: perl(Test::Output) >= 1.03
+BuildRequires: perl(Test::Simple) >= 1.001002
+BuildRequires: perl(Test::Spec) >= 0.47
+BuildRequires: perl(local::lib) >= 2.000014
+Requires: perl(CPAN::Perl::Releases) >= 1.84
+Requires: perl(Capture::Tiny) >= 0.25
+Requires: perl(Devel::PatchPerl) >= 1.24
+Requires: perl(Pod::Parser) >= 1.62
+Requires: perl(Pod::Usage) >= 1.64
+Requires: perl(local::lib) >= 2.000014
%{perl_requires}
# MANUAL
BuildRequires: groff
@@ -51,11 +57,13 @@
%description
perlbrew is a program to automate the building and installation of perl in
-an easy way. It installs everything to '~/perl5/perlbrew', and requires you
-to tweak your PATH by including a bashrc/cshrc file it provides. You then
-can benefit from not having to run 'sudo' commands to install cpan modules
-because those are installed inside your HOME too. It provides multiple
-isolated perl environments, and a mechanism for you to switch between them.
+an easy way. It provides multiple isolated perl environments, and a
+mechanism for you to switch between them.
+
+Everything are installed unter '~/perl5/perlbrew'. You then need to include
+a bashrc/cshrc provided by perlbrew to tweak the PATH for you. You then can
+benefit from not having to run 'sudo' commands to install cpan modules
+because those are installed inside your HOME too.
For the documentation of perlbrew usage see the perlbrew manpage command on
CPAN, or by running 'perlbrew help'. The following documentation features
++++++ App-perlbrew-0.67.tar.gz -> App-perlbrew-0.71.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/Changes new/App-perlbrew-0.71/Changes
--- old/App-perlbrew-0.67/Changes 2013-11-20 08:50:10.000000000 +0100
+++ new/App-perlbrew-0.71/Changes 2014-09-13 20:01:52.000000000 +0200
@@ -1,3 +1,23 @@
+0.71: # 2014-09-13T19:59:15+0200
+- Fix a few bugs of having unwanted values in PERL5LIB when switching between libs
+
+0.70: # 2014-09-02T20:41:15+0900
+- download the fatpacked perlbrew from an http:// url.
+- protect fatpacked perlbrew from PERL5LIB, thanks to dagolden++
+- avoid several warnings, thanks to DabeDotCom++
+- making perlbrew a bit friendlier to init.d script, thanks to maxhq++ . see also https://github.com/gugod/App-perlbrew/pull/404
+- make it possible to override PERLBREWURL before invoking installers
+
+0.69: # 2014-06-10T23:32:05+0200
+- fix 'perlbrew env' breakage by just avoiding bad local::lib versions.
+
+0.68: # 2014-06-07T15:08:00+0200
+- disable SSL cert checks. GH #385.
+- "perlbrew download stable" works as on expects. GH #383
+- Many fish shell fixes. GH #376 #378 #379
+- make 5.21 installable. GH #396
+- various documentation fixes.
+
0.67: # 2013-11-20T08:40:52+0100
- Support fish shell. Thanks to @yenzie++
- `info` command now takes an optional module name and show information for it. Thanks to @trcjr++
@@ -105,7 +125,7 @@
0.46:
- fix: The deprecation warning when running `self-upgrde`
-- fix: system MANPATH detection
+- fix: system MANPATH detection
- improvement: Specifying multiple perl: `exec --with perl-5.14.2,perl-5.16.0`
0.45:
@@ -208,7 +228,7 @@
- Hotfix for `perlbrew install` command
0.26:
-- Fix GH #119
+- 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
@@ -355,5 +375,3 @@
0.01:
- First release. Installs perl-5.11.[12345] on my mac.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/MANIFEST new/App-perlbrew-0.71/MANIFEST
--- old/App-perlbrew-0.67/MANIFEST 2013-08-01 07:21:45.000000000 +0200
+++ new/App-perlbrew-0.71/MANIFEST 2014-09-02 13:42:20.000000000 +0200
@@ -56,6 +56,7 @@
t/do_system.t
t/failure-command-install-cpanm.t
t/failure-command-install-patchperl.t
+t/http-program-control.t
t/http.t
t/installation-perlbrew.t
t/installation.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/META.yml new/App-perlbrew-0.71/META.yml
--- old/App-perlbrew-0.67/META.yml 2013-11-20 08:51:09.000000000 +0100
+++ new/App-perlbrew-0.71/META.yml 2014-09-13 20:09:58.000000000 +0200
@@ -4,20 +4,20 @@
- 'Kang-min Liu C<< >>'
build_requires:
ExtUtils::MakeMaker: 6.59
- File::Temp: 0
- IO::All: 0.46
- Path::Class: 0
- Test::Exception: 0
- Test::More: 0
- Test::NoWarnings: 0
- Test::Output: 0.04
- Test::Simple: 0.98
- Test::Spec: 0.46
+ File::Temp: '0.2304'
+ IO::All: '0.51'
+ Path::Class: '0.33'
+ Test::Exception: '0.32'
+ Test::More: '1.001002'
+ Test::NoWarnings: '1.04'
+ Test::Output: '1.03'
+ Test::Simple: '1.001002'
+ Test::Spec: '0.47'
configure_requires:
ExtUtils::MakeMaker: 6.59
distribution_type: module
dynamic_config: 1
-generated_by: 'Module::Install version 1.06'
+generated_by: 'Module::Install version 1.12'
license: mit
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -29,12 +29,14 @@
- inc
- t
requires:
- CPAN::Perl::Releases: 1.26
- Capture::Tiny: 0.22
- Devel::PatchPerl: 1.00
- local::lib: 1.008026
+ CPAN::Perl::Releases: '1.84'
+ Capture::Tiny: '0.25'
+ Devel::PatchPerl: '1.24'
+ Pod::Parser: '1.62'
+ Pod::Usage: '1.64'
+ local::lib: '2.000014'
perl: 5.8.0
resources:
license: http://opensource.org/licenses/mit-license.php
repository: git://github.com/gugod/App-perlbrew.git
-version: 0.67
+version: '0.71'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/Makefile.PL new/App-perlbrew-0.71/Makefile.PL
--- old/App-perlbrew-0.67/Makefile.PL 2013-11-20 08:49:39.000000000 +0100
+++ new/App-perlbrew-0.71/Makefile.PL 2014-09-13 20:01:41.000000000 +0200
@@ -7,24 +7,33 @@
repository 'git://github.com/gugod/App-perlbrew.git';
requires
- 'Devel::PatchPerl' => '1.00',
- 'local::lib' => '1.008026',
- 'Capture::Tiny' => '0.22',
- 'CPAN::Perl::Releases' => '1.26';
+ 'CPAN::Perl::Releases' => '1.84',
+ 'Capture::Tiny' => '0.25',
+ 'Devel::PatchPerl' => '1.24',
+ 'Pod::Parser' => '1.62',
+ 'Pod::Usage' => '1.64',
+ 'local::lib' => '2.000014';
test_requires
- 'Test::Simple' => '0.98',
- 'Test::More' => '0',
- 'Test::Output' => '0.04', # stdout_like added in 0.04
- 'Test::Exception' => '0',
- 'Test::NoWarnings' => '0',
- 'Test::Spec' => '0.46', # with() added in 0.46
- 'Path::Class' => '0',
- 'IO::All' => '0.46',
- 'File::Temp' => '0';
+ 'ExtUtils::MakeMaker' => '6.86',
+ 'File::Temp' => '0.2304',
+ 'IO::All' => '0.51',
+ 'Path::Class' => '0.33',
+ 'Test::Exception' => '0.32',
+ 'Test::More' => '1.001002',
+ 'Test::NoWarnings' => '1.04',
+ 'Test::Output' => '1.03',
+ 'Test::Simple' => '1.001002',
+ 'Test::Spec' => '0.47';
install_script 'bin/perlbrew';
tests 't/*.t';
+makemaker_args(
+ dist => {
+ COMPRESS => "zopfli -i50",
+ }
+);
+
WriteAll;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/README new/App-perlbrew-0.71/README
--- old/App-perlbrew-0.67/README 2013-03-17 21:52:42.000000000 +0100
+++ new/App-perlbrew-0.71/README 2014-09-05 20:56:01.000000000 +0200
@@ -3,12 +3,13 @@
Description:
perlbrew is a program to automate the building and installation of perl
- in an easy way. It installs everything to "~/perl5/perlbrew", and
- requires you to tweak your PATH by including a bashrc/cshrc file it
- provides. You then can benefit from not having to run 'sudo' commands to
- install cpan modules because those are installed inside your HOME too.
- It provides multiple isolated perl environments, and a mechanism for you
- to switch between them.
+ in an easy way. It provides multiple isolated perl environments, and a
+ mechanism for you to switch between them.
+
+ Everything are installed unter "~/perl5/perlbrew". You then need to
+ include a bashrc/cshrc provided by perlbrew to tweak the PATH for you.
+ You then can benefit from not having to run 'sudo' commands to install
+ cpan modules because those are installed inside your HOME too.
For the documentation of perlbrew usage see perlbrew command on CPAN, or
by running "perlbrew help". The following documentation features the API
@@ -30,11 +31,11 @@
to put it in your PATH.
The installed perlbrew command is a standalone executable that can be
- run with system perl. The minimun system perl version requirement is
+ run with system perl. The minimum system perl version requirement is
5.8.0, which should be good enough for most of the OSes these days.
- A packed version of "patchperl" to "~/perl5/perlbrew/bin", which is
- required to build old perls.
+ A fat-packed version of "patchperl" is also installed to
+ "~/perl5/perlbrew/bin", which is required to build old perls.
The directory "~/perl5/perlbrew" will contain all install perl
executables, libraries, documentations, lib, site_libs. In the
@@ -46,6 +47,10 @@
export PERLBREW_ROOT=/opt/perl5
curl -kL http://install.perlbrew.pl | bash
+ As a result, different users on the same machine can all share the same
+ perlbrew root directory (although only original user that made the
+ installation would have the permission to perform perl installations.)
+
You may also install perlbrew from CPAN:
cpan App::perlbrew
@@ -76,7 +81,7 @@
set this environment variable in your "bashrc" to the directory in
your shell RC before sourcing perlbrew's RC.
- It is possible to share one perlbrew root with multilpe user account
+ It is possible to share one perlbrew root with multiple user account
on the same machine. Therefore people do not have to install the
same version of perl over an over. Let's say "/opt/perl5" is the
directory we want to share. All users should be able append this
@@ -85,7 +90,7 @@
export PERLBREW_ROOT=/opt/perl5
source ${PERLBREW_ROOT}/etc/bashrc
- After doing so, everone's PATH should include "/opt/perl5/bin" and
+ After doing so, everyone's PATH should include "/opt/perl5/bin" and
"/opt/perl5/perls/${PERLBREW_PERL}/bin". Each user can invoke
"perlbrew switch" and "perlbrew use" to independently switch to
different perl environment of their choice. However, only the user
@@ -123,7 +128,7 @@
setting per-machine. To do so, you can use the "PERLBREW_HOME"
environment variable to tell perlbrew where to look for the
initialization file. Here's a brief bash snippet for the given
- senario.
+ scenario.
if [ "$(hostname)" == "machine-a" ]; then
export PERLBREW_HOME=~/.perlbrew-a
@@ -133,6 +138,13 @@
source ~/perl5/perlbrew/etc/bashrc
+ PERLBREW_CONFIGURE_FLAGS
+ This environment variable specify the list of command like flags to
+ pass through to 'sh Configure'. By default it is '-de'.
+
+ PERLBREW_CPAN_MIRROR
+ The CPAN mirror url of your choice.
+
Project Development:
perlbrew project uses github
http://github.com/gugod/App-perlbrew/issues and RT
@@ -147,7 +159,7 @@
Kang-min Liu ""
Copyright:
- Copyright (c) 2010, 2011, 2012 Kang-min Liu "".
+ Copyright (c) 2010,2011,2012,2013,2014 Kang-min Liu "".
Disclaimer of Warranty:
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/bin/perlbrew new/App-perlbrew-0.71/bin/perlbrew
--- old/App-perlbrew-0.67/bin/perlbrew 2013-11-20 08:49:39.000000000 +0100
+++ new/App-perlbrew-0.71/bin/perlbrew 2014-09-05 20:56:01.000000000 +0200
@@ -20,7 +20,7 @@
Commands:
init Initialize perlbrew environment.
- info Show usefull information about the perlbrew installation
+ info Show useful information about the perlbrew installation
install Install perl
uninstall Uninstall the given installation
@@ -150,10 +150,12 @@
Usage: perlbrew info [ <module> ]
-Display usefull information about the perlbrew installation.
+Display useful information about the perlbrew installation.
If a module is given the version and location of the module is displayed.
+=back
+
=head1 COMMAND: INSTALL
=over 4
@@ -313,7 +315,12 @@
Usage: perlbrew list
-List the installed versions of perl.
+List all perl installations inside perlbrew root specifed by C<$PERLBREW_ROOT>
+environment variable. By default, the value is C<~/perl5/perlbrew>.
+
+If there are libs associated to some perl installations, they will be included
+as part of the name. The output items in this list can be the argument in
+various other commands.
=head1 COMMAND: AVAILABLE
@@ -433,7 +440,7 @@
export PERLBREW_PATH=/Users/gugod/perl5/perlbrew/bin:/Users/gugod/perl5/perlbrew/perls/current/bin
export PERLBREW_PERL=perl-5.14.1
-tcsh / csh users should use 'setenv' statements instead of `export`.
+tcsh / csh users should see 'setenv' statements instead of `export`.
=head1 COMMAND: SYMLINK-EXECUTABLES
@@ -495,9 +502,9 @@
NOTICE: You should not need to run this command in your daily routine.
-This command install perlbrew itself to C<$PERLBREW_ROOT/bin>. It is intended
-used by the perlbrew installer. However, you may manually do the following to
-re-install only the C<perlbrew> executable:
+This command install perlbrew itself to C<$PERLBREW_ROOT/bin>. It is intended to
+be used by the perlbrew installer. However, you could manually do the following
+to re-install only the C<perlbrew> executable:
curl -kL http://get.perlbrew.pl -o perlbrew
perl ./perlbrew self-install
@@ -509,7 +516,7 @@
Usage: perlbrew clean
-Removes downloaded Perl tarballs and build directories.
+Removes all previously downloaded Perl tarballs and build directories.
=head1 COMMAND: VERSION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install/Base.pm new/App-perlbrew-0.71/inc/Module/Install/Base.pm
--- old/App-perlbrew-0.67/inc/Module/Install/Base.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install/Base.pm 2014-09-13 20:09:58.000000000 +0200
@@ -4,7 +4,7 @@
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.12';
}
# Suspend handler for "redefined" warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install/Can.pm new/App-perlbrew-0.71/inc/Module/Install/Can.pm
--- old/App-perlbrew-0.67/inc/Module/Install/Can.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install/Can.pm 2014-09-13 20:09:58.000000000 +0200
@@ -8,7 +8,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install/Fetch.pm new/App-perlbrew-0.71/inc/Module/Install/Fetch.pm
--- old/App-perlbrew-0.67/inc/Module/Install/Fetch.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install/Fetch.pm 2014-09-13 20:09:58.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install/Makefile.pm new/App-perlbrew-0.71/inc/Module/Install/Makefile.pm
--- old/App-perlbrew-0.67/inc/Module/Install/Makefile.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install/Makefile.pm 2014-09-13 20:09:58.000000000 +0200
@@ -8,7 +8,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -133,7 +133,7 @@
return $args;
}
-# For mm args that take multiple space-seperated args,
+# For mm args that take multiple space-separated args,
# append an argument to the current list.
sub makemaker_append {
my $self = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install/Metadata.pm new/App-perlbrew-0.71/inc/Module/Install/Metadata.pm
--- old/App-perlbrew-0.67/inc/Module/Install/Metadata.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install/Metadata.pm 2014-09-13 20:09:58.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -347,7 +347,7 @@
^ \s*
package \s*
([\w:]+)
- \s* ;
+ [\s|;]*
/ixms
) {
my ($name, $module_name) = ($1, $1);
@@ -705,7 +705,7 @@
my @yaml = Parse::CPAN::Meta::LoadFile('META.yml');
my $meta = $yaml[0];
- # Overwrite the non-configure dependency hashs
+ # Overwrite the non-configure dependency hashes
delete $meta->{requires};
delete $meta->{build_requires};
delete $meta->{recommends};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install/Scripts.pm new/App-perlbrew-0.71/inc/Module/Install/Scripts.pm
--- old/App-perlbrew-0.67/inc/Module/Install/Scripts.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install/Scripts.pm 2014-09-13 20:09:58.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install/Win32.pm new/App-perlbrew-0.71/inc/Module/Install/Win32.pm
--- old/App-perlbrew-0.67/inc/Module/Install/Win32.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install/Win32.pm 2014-09-13 20:09:58.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install/WriteAll.pm new/App-perlbrew-0.71/inc/Module/Install/WriteAll.pm
--- old/App-perlbrew-0.67/inc/Module/Install/WriteAll.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install/WriteAll.pm 2014-09-13 20:09:58.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/inc/Module/Install.pm new/App-perlbrew-0.71/inc/Module/Install.pm
--- old/App-perlbrew-0.67/inc/Module/Install.pm 2013-11-20 08:51:08.000000000 +0100
+++ new/App-perlbrew-0.71/inc/Module/Install.pm 2014-09-13 20:09:58.000000000 +0200
@@ -17,7 +17,7 @@
# 3. The ./inc/ version of Module::Install loads
# }
-use 5.005;
+use 5.006;
use strict 'vars';
use Cwd ();
use File::Find ();
@@ -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.06';
+ $VERSION = '1.12';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -156,10 +156,10 @@
sub autoload {
my $self = shift;
my $who = $self->_caller;
- my $cwd = Cwd::cwd();
+ my $cwd = Cwd::getcwd();
my $sym = "${who}::AUTOLOAD";
$sym->{$cwd} = sub {
- my $pwd = Cwd::cwd();
+ my $pwd = Cwd::getcwd();
if ( my $code = $sym->{$pwd} ) {
# Delegate back to parent dirs
goto &$code unless $cwd eq $pwd;
@@ -239,7 +239,7 @@
# ignore the prefix on extension modules built from top level.
my $base_path = Cwd::abs_path($FindBin::Bin);
- unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+ unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) {
delete $args{prefix};
}
return $args{_self} if $args{_self};
@@ -338,7 +338,7 @@
if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
my $content = Module::Install::_read($subpath . '.pm');
my $in_pod = 0;
- foreach ( split //, $content ) {
+ foreach ( split /\n/, $content ) {
$in_pod = 1 if /^=\w/;
$in_pod = 0 if /^=cut/;
next if ($in_pod || /^=cut/); # skip pod text
@@ -434,7 +434,7 @@
# _version is for processing module versions (eg, 1.03_05) not
# Perl versions (eg, 5.8.1).
-sub _version ($) {
+sub _version {
my $s = shift || 0;
my $d =()= $s =~ /(\.)/g;
if ( $d >= 2 ) {
@@ -450,12 +450,12 @@
return $l + 0;
}
-sub _cmp ($$) {
+sub _cmp {
_version($_[1]) <=> _version($_[2]);
}
# Cloned from Params::Util::_CLASS
-sub _CLASS ($) {
+sub _CLASS {
(
defined $_[0]
and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/lib/App/perlbrew.pm new/App-perlbrew-0.71/lib/App/perlbrew.pm
--- old/App-perlbrew-0.67/lib/App/perlbrew.pm 2013-11-20 08:50:10.000000000 +0100
+++ new/App-perlbrew-0.71/lib/App/perlbrew.pm 2014-09-13 20:01:52.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
use 5.008;
-our $VERSION = "0.67";
+our $VERSION = "0.71";
use Config;
BEGIN {
@@ -22,8 +22,17 @@
use List::Util qw/min/;
use Getopt::Long ();
+sub uniq {
+ my %seen; grep { !$seen{$_}++ } @_;
+}
+
### global variables
+# set $ENV{SHELL} to executable path of parent process (= shell) if it's missing
+# (e.g. if this script was executed by a daemon started with "service xxx start")
+# ref: https://github.com/gugod/App-perlbrew/pull/404
+$ENV{SHELL} ||= readlink joinpath("/proc", getppid, "exe") if -d "/proc";
+
local $SIG{__DIE__} = sub {
my $message = shift;
warn $message;
@@ -111,36 +120,47 @@
my %commands = (
curl => {
test => '--version >/dev/null 2>&1',
- get => '--silent --location --fail -o - {url}',
- download => '--silent --location --fail -o {output} {url}'
+ get => '--insecure --silent --location --fail -o - {url}',
+ download => '--insecure --silent --location --fail -o {output} {url}',
+ order => 1,
},
wget => {
test => '--version >/dev/null 2>&1',
- get => '--quiet -O - {url}',
- download => '--quiet -O {output} {url}',
+ get => '--no-check-certificate --quiet -O - {url}',
+ download => '--no-check-certificate --quiet -O {output} {url}',
+ order => 2,
},
fetch => {
test => '--version >/dev/null 2>&1',
- get => '-o - {url}',
- download => '{url}'
+ get => '--no-verify-peer -o - {url}',
+ download => '--no-verify-peer {url}',
+ order => 3,
}
);
+ our $HTTP_USER_AGENT_PROGRAM;
sub http_user_agent_program {
- my $program;
- for my $p (keys %commands) {
- my $code = system("$p $commands{$p}->{test}") >> 8;
- if ($code != 127) {
- $program = $p;
- last;
+ $HTTP_USER_AGENT_PROGRAM ||= do {
+ my $program;
+
+ for my $p (sort {$commands{$a}{order}<=>$commands{$b}{order}} keys %commands) {
+ my $code = system("$p $commands{$p}->{test}") >> 8;
+ if ($code != 127) {
+ $program = $p;
+ last;
+ }
}
- }
- unless($program) {
- die "[ERROR] Cannot find a proper http user agent program. Please install curl or wget.\n";
- }
+ unless($program) {
+ die "[ERROR] Cannot find a proper http user agent program. Please install curl or wget.\n";
+ }
+
+ $program;
+ };
+
+ die "[ERROR] Unrecognized http user agent program: $HTTP_USER_AGENT_PROGRAM. It can only be one of: ".join(",", keys %commands)."\n" unless $commands{$HTTP_USER_AGENT_PROGRAM};
- return $program;
+ return $HTTP_USER_AGENT_PROGRAM;
}
sub http_user_agent_command {
@@ -300,7 +320,7 @@
'quiet|q!',
'verbose|v',
'as=s',
- 'append=s',
+ 'append=s',
'help|h',
'version',
'root=s',
@@ -982,7 +1002,7 @@
my $dist_tarball_path = joinpath($self->root, "dists", $dist_tarball);
if (-f $dist_tarball_path) {
- print "Use the previously fetched ${dist_tarball}\n"
+ print "Using the previously fetched ${dist_tarball}\n"
if $self->{verbose};
}
else {
@@ -1150,6 +1170,9 @@
sub run_command_download {
my ($self, $dist) = @_;
+ $dist = $self->resolve_stable_version
+ if $dist && $dist eq 'stable';
+
my ($dist_version) = $dist =~ /^ (?:perl-?)? (.*) $/xs;
die "\"$dist\" does not look like a perl distribution name. " unless $dist_version =~ /^\d\./;
@@ -1279,7 +1302,7 @@
}
unshift @d_options, qq(prefix=$perlpath);
- push @d_options, "usedevel" if $dist_version =~ /5\.1[13579]|git|blead/;
+ push @d_options, "usedevel" if $dist_version =~ /5\.\d[13579]|git|blead/;
unless (grep { /eval:scriptdir=/} @a_options) {
push @a_options, "'eval:scriptdir=${perlpath}/bin'";
@@ -1467,7 +1490,21 @@
for (<$root/perls/*>) {
my ($name) = $_ =~ m/\/([^\/]+$)/;
my $executable = joinpath($_, 'bin', 'perl');
- my $orig_version = `$executable -e 'print \$]'`;
+ my $version_file = joinpath($_,'.version');
+ my $orig_version;
+ if ( -e $version_file ){
+ open my $fh, '<', $version_file;
+ local $/;
+ $orig_version = <$fh>;
+ chomp $orig_version;
+ } else {
+ $orig_version = `$executable -e 'print \$]'`;
+ if ( defined $orig_version and length $orig_version ){
+ if (open my $fh, '>', $version_file ){
+ print {$fh} $orig_version;
+ }
+ }
+ }
push @result, {
name => $name,
@@ -1538,6 +1575,14 @@
PERLBREW_ROOT => $self->root
);
+ require local::lib;
+ my $current_local_lib_root = $self->env("PERL_LOCAL_LIB_ROOT") || "";
+ my $current_local_lib_context = local::lib->new;
+ my @perlbrew_local_lib_root = uniq(grep { /\Q${PERLBREW_HOME}\E/ } split(/:/, $current_local_lib_root));
+ if ($current_local_lib_root =~ /^\Q$PERLBREW_HOME\E/) {
+ $current_local_lib_context = $current_local_lib_context->activate($_) for @perlbrew_local_lib_root;
+ }
+
if ($perl_name) {
if(-d "@{[ $self->root ]}/perls/$perl_name/bin") {
$env{PERLBREW_PERL} = $perl_name;
@@ -1546,63 +1591,35 @@
}
if ($lib_name) {
- require local::lib;
-
- if ($ENV{PERL_LOCAL_LIB_ROOT}
- && $ENV{PERL_LOCAL_LIB_ROOT} =~ /^\Q$PERLBREW_HOME\E/
- ) {
- my %deactivate_env = local::lib->build_deact_all_environment_vars_for($ENV{PERL_LOCAL_LIB_ROOT});
- @env{keys %deactivate_env} = values %deactivate_env;
- }
+ $current_local_lib_context = $current_local_lib_context->deactivate($_) for @perlbrew_local_lib_root;
my $base = "$PERLBREW_HOME/libs/${perl_name}\@${lib_name}";
if (-d $base) {
- delete $ENV{PERL_LOCAL_LIB_ROOT};
- @ENV{keys %env} = values %env;
- while (my ($k,$v) = each %ENV) {
- delete $ENV{$k} unless defined($v);
- }
- my %lib_env = local::lib->build_environment_vars_for($base, 0, 1);
+ $current_local_lib_context = $current_local_lib_context->activate($base);
$env{PERLBREW_PATH} = joinpath($base, "bin") . ":" . $env{PERLBREW_PATH};
$env{PERLBREW_MANPATH} = joinpath($base, "man") . ":" . $env{PERLBREW_MANPATH};
$env{PERLBREW_LIB} = $lib_name;
-
- $env{PERL_MM_OPT} = $lib_env{PERL_MM_OPT};
- $env{PERL_MB_OPT} = $lib_env{PERL_MB_OPT};
- $env{PERL5LIB} = $lib_env{PERL5LIB};
- $env{PERL_LOCAL_LIB_ROOT} = $lib_env{PERL_LOCAL_LIB_ROOT};
- }
- }
- else {
- my $libroot = $self->env("PERL_LOCAL_LIB_ROOT");
- if ($libroot && $libroot =~ /^\Q$PERLBREW_HOME\E/) {
- require local::lib;
- my %deactivate_env = local::lib->build_deact_all_environment_vars_for($libroot);
- @env{keys %deactivate_env} = values %deactivate_env;
- $env{PERLBREW_LIB} = undef;
- }
- if (my $perl5lib = $self->env("PERL5LIB")) {
- my @perl5libs = split $Config{path_sep} => $perl5lib;
- my @pristine_perl5libs = grep { !/^\Q$PERLBREW_HOME\E/ } @perl5libs;
- if (@pristine_perl5libs) {
- $env{PERL5LIB} = join $Config{path_sep}, @pristine_perl5libs;
- }
- else {
- $env{PERL5LIB} = undef;
- }
}
+ } else {
+ $current_local_lib_context = $current_local_lib_context->deactivate($_) for @perlbrew_local_lib_root;
+ $env{PERLBREW_LIB} = undef;
}
- }
- else {
- my $libroot = $self->env("PERL_LOCAL_LIB_ROOT");
- if ($libroot && $libroot =~ /^\Q$PERLBREW_HOME\E/) {
- require local::lib;
- my %deactivate_env = local::lib->build_deact_all_environment_vars_for($libroot);
- @env{keys %deactivate_env} = values %deactivate_env;
- $env{PERLBREW_LIB} = undef;
+
+ my %ll_env = $current_local_lib_context->build_environment_vars;
+ delete $ll_env{PATH};
+ for my $key (keys %ll_env) {
+ $env{$key} = $ll_env{$key};
}
+ } else {
+ $current_local_lib_context = $current_local_lib_context->deactivate($_) for @perlbrew_local_lib_root;
+ my %ll_env = $current_local_lib_context->build_environment_vars;
+ delete $ll_env{PATH};
+ for my $key (keys %ll_env) {
+ $env{$key} = $ll_env{$key};
+ }
+ $env{PERLBREW_LIB} = undef;
$env{PERLBREW_PERL} = undef;
}
@@ -1826,11 +1843,15 @@
for my $k (sort keys %env) {
my $v = $env{$k};
if (defined $v) {
- $v =~ s/(\\")/\\$1/g;
- print "export $k=\"$v\"\n";
+ if ($v || ($v && exists($ENV{$k}))) {
+ $v =~ s/(\\")/\\$1/g;
+ print "export $k=\"$v\"\n";
+ }
}
else {
- print "unset $k\n";
+ if (exists $ENV{$k}) {
+ print "unset $k\n";
+ }
}
}
}
@@ -1838,11 +1859,15 @@
for my $k (sort keys %env) {
my $v = $env{$k};
if (defined $v) {
- $v =~ s/(\\")/\\$1/g;
- print "setenv $k \"$v\"\n";
+ if ($v || ($v && exists($ENV{$k}))) {
+ $v =~ s/(\\")/\\$1/g;
+ print "setenv $k \"$v\"\n";
+ }
}
else {
- print "unsetenv $k\n";
+ if (exists $ENV{$k}) {
+ print "unsetenv $k\n";
+ }
}
}
}
@@ -1867,7 +1892,7 @@
sub run_command_install_patchperl {
my ($self) = @_;
$self->do_install_program_from_url(
- 'https://raw.github.com/gugod/patchperl-packing/master/patchperl',
+ 'https://raw.githubusercontent.com/gugod/patchperl-packing/master/patchperl',
'patchperl',
sub {
my ($body) = @_;
@@ -1879,7 +1904,7 @@
sub run_command_install_cpanm {
my ($self) = @_;
- $self->do_install_program_from_url('https://raw.github.com/miyagawa/cpanminus/master/cpanm' => 'cpanm');
+ $self->do_install_program_from_url('https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm' => 'cpanm');
}
sub run_command_self_upgrade {
@@ -2548,9 +2573,9 @@
sub PERLBREW_FISH_CONTENT {
return "set -x PERLBREW_FISH_VERSION $VERSION\n" . <<'END';
-function __perlbrew_reinit;
+function __perlbrew_reinit
if not test -d "$PERLBREW_HOME"
- mkdir-p "$PERLBREW_HOME"
+ mkdir -p "$PERLBREW_HOME"
end
echo '# DO NOT EDIT THIS FILE' > "$PERLBREW_HOME/init"
@@ -2559,10 +2584,10 @@
__perlbrew_set_path
end
-function __perlbrew_set_path;
+function __perlbrew_set_path
set -l MANPATH_WITHOUT_PERLBREW (perl -e 'print join " ", grep { index($_, $ENV{PERLBREW_HOME}) < 0 } grep { index($_, $ENV{PERLBREW_ROOT}) < 0 } split/:/,qx(manpath 2> /dev/null);')
- if test -n "$PERLBREW_MANPATH"
+ if test -n "$PERLBREW_MANPATH"
set -x MANPATH $PERLBREW_MANPATH $MANPATH_WITHOUT_PERLBREW
else
set -x MANPATH $MANPATH_WITHOUT_PERLBREW
@@ -2578,7 +2603,7 @@
end
end
-function __perlbrew_set_env;
+function __perlbrew_set_env
set -l code (eval $perlbrew_command env $argv | perl -pe 's/export\s+(\S+)="(\S*)"/set -x $1 $2;/g; y/:/ /')
if test -z "$code"
@@ -2586,10 +2611,9 @@
else
eval $code
end
-
end
-function __perlbrew_activate;
+function __perlbrew_activate
functions -e perl
if test -n "$PERLBREW_PERL"
@@ -2605,17 +2629,23 @@
function __perlbrew_deactivate
__perlbrew_set_env
- set -r PERLBREW_PERL
- set -r PERLBREW_LIB
+ set -x PERLBREW_PERL
+ set -x PERLBREW_LIB
+ set -x PERLBREW_PATH
__perlbrew_set_path
end
-function perlbrew;
+function perlbrew
+
+ test -z "$argv"
+ and echo " Usage: perlbrew <command> [options] [arguments]"
+ and echo " or: perlbrew help"
+ and return 1
switch $argv[1]
case use
- if test ( count $argv ) -eq 1
- if test -x "$PERLBREW_PERL"
+ if test ( count $argv ) -eq 1
+ if test -z "$PERLBREW_PERL"
echo "Currently using system perl"
else
echo "Currently using $PERLBREW_PERL"
@@ -2648,20 +2678,18 @@
case '*'
command perlbrew $argv
-
-
end
end
function __source_init
- eval (perl -pe's/^export/set -x/; s/=/ /; s/$/;/;' "$PERLBREW_HOME/init")
+ perl -pe's/^export/set -x/; s/=/ /; s/$/;/;' "$PERLBREW_HOME/init" | . -
end
if test -z "$PERLBREW_ROOT"
set -x PERLBREW_ROOT "$HOME/perl5/perlbrew"
end
-if test -x "$PERLBREW_HOME"
+if test -z "$PERLBREW_HOME"
set -x PERLBREW_HOME "$HOME/.perlbrew"
end
@@ -2700,8 +2728,8 @@
end
end
-for com in (perlbrew help | perl -ne'print lc if s/^COMMAND:\s+//')
- complete -f -c perlbrew -n '__fish_perlbrew_needs_command' -a $com
+for com in (perlbrew help | perl -ne'print lc if s/^COMMAND:\s+//')
+ complete -f -c perlbrew -n '__fish_perlbrew_needs_command' -a $com
end
for com in switch use;
@@ -2893,16 +2921,15 @@
perlbrew available
# Install some Perls
- perlbrew install 5.14.0
+ perlbrew install 5.18.2
perlbrew install perl-5.8.1
- perlbrew install perl-5.13.6
+ perlbrew install perl-5.19.9
# See what were installed
perlbrew list
- # Switch perl in the $PATH
- perlbrew switch perl-5.12.2
- perl -v
+ # Swith to an installation and set it as default
+ perlbrew switch perl-5.18.2
# Temporarily use another version only in current shell.
perlbrew use perl-5.8.1
@@ -2921,11 +2948,13 @@
=head1 DESCRIPTION
perlbrew is a program to automate the building and installation of perl in an
-easy way. It installs everything to C<~/perl5/perlbrew>, and requires you to
-tweak your PATH by including a bashrc/cshrc file it provides. You then can
-benefit from not having to run 'sudo' commands to install cpan modules because
-those are installed inside your HOME too. It provides multiple isolated perl
-environments, and a mechanism for you to switch between them.
+easy way. It provides multiple isolated perl environments, and a mechanism
+for you to switch between them.
+
+Everything are installed unter C<~/perl5/perlbrew>. You then need to include a
+bashrc/cshrc provided by perlbrew to tweak the PATH for you. You then can
+benefit from not having to run 'sudo' commands to install
+cpan modules because those are installed inside your HOME too.
For the documentation of perlbrew usage see L<perlbrew> command
on CPAN, or by running C<perlbrew help>. The following documentation
@@ -2951,8 +2980,8 @@
system perl. The minimum system perl version requirement is 5.8.0, which should
be good enough for most of the OSes these days.
-A packed version of C<patchperl> to C<~/perl5/perlbrew/bin>, which is required
-to build old perls.
+A fat-packed version of C<patchperl> is also installed to
+C<~/perl5/perlbrew/bin>, which is required to build old perls.
The directory C<~/perl5/perlbrew> will contain all install perl executables,
libraries, documentations, lib, site_libs. In the documentation, that directory
@@ -2963,6 +2992,10 @@
export PERLBREW_ROOT=/opt/perl5
curl -kL http://install.perlbrew.pl | bash
+As a result, different users on the same machine can all share the same perlbrew
+root directory (although only original user that made the installation would
+have the permission to perform perl installations.)
+
You may also install perlbrew from CPAN:
cpan App::perlbrew
@@ -3018,7 +3051,7 @@
=head1 COPYRIGHT
-Copyright (c) 2010, 2011, 2012 Kang-min Liu C<< >>.
+Copyright (c) 2010,2011,2012,2013,2014 Kang-min Liu C<< >>.
=head1 LICENCE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.67/t/http-program-control.t new/App-perlbrew-0.71/t/http-program-control.t
--- old/App-perlbrew-0.67/t/http-program-control.t 1970-01-01 01:00:00.000000000 +0100
+++ new/App-perlbrew-0.71/t/http-program-control.t 2014-09-05 20:56:01.000000000 +0200
@@ -0,0 +1,23 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+use FindBin;
+use lib $FindBin::Bin;
+use App::perlbrew;
+require 'test_helpers.pl';
+
+use Test::More;
+use Test::Exception;
+
+for (qw(curl wget fetch)) {
+ $App::perlbrew::HTTP_USER_AGENT_PROGRAM = "curl";
+ is App::perlbrew::http_user_agent_program(), "curl";
+}
+
+$App::perlbrew::HTTP_USER_AGENT_PROGRAM = "something-that-is-not-recognized";
+dies_ok {
+ App::perlbrew::http_user_agent_program();
+} "should die when asked to use unrecognized http UA program";
+
+done_testing;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org