Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-App-perlbrew for openSUSE:Factory checked in at 2021-04-22 18:04:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-App-perlbrew (Old) and /work/SRC/openSUSE:Factory/.perl-App-perlbrew.new.12324 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-App-perlbrew" Thu Apr 22 18:04:51 2021 rev:28 rq:887848 version:0.92 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-App-perlbrew/perl-App-perlbrew.changes 2021-02-03 19:56:24.573724216 +0100 +++ /work/SRC/openSUSE:Factory/.perl-App-perlbrew.new.12324/perl-App-perlbrew.changes 2021-04-22 18:06:29.174746485 +0200 @@ -1,0 +2,13 @@ +Fri Apr 16 03:06:03 UTC 2021 - Tina M??ller <[email protected]> + +- updated to 0.92 + see /usr/share/doc/packages/perl-App-perlbrew/Changes + + 0.92 + - Released at 2021-04-15T23:53:55+0900 + - Thanks to our contributors: chee + - Fix a message mentioning fish config. GitHub PR #712 + - Fetch cperl releases from https://github.com/perl11/cperl/releases instead + - Let `clone-modules` command accept `--notest` and skip running module tests + +------------------------------------------------------------------- Old: ---- App-perlbrew-0.91.tar.gz New: ---- App-perlbrew-0.92.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-App-perlbrew.spec ++++++ --- /var/tmp/diff_new_pack.iLkLxf/_old 2021-04-22 18:06:29.622747226 +0200 +++ /var/tmp/diff_new_pack.iLkLxf/_new 2021-04-22 18:06:29.622747226 +0200 @@ -18,7 +18,7 @@ %define cpan_name App-perlbrew Name: perl-App-perlbrew -Version: 0.91 +Version: 0.92 Release: 0 Summary: Manage perl installations in your C<$HOME> License: MIT @@ -28,7 +28,7 @@ BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros -BuildRequires: perl(CPAN::Perl::Releases) >= 5.20210123 +BuildRequires: perl(CPAN::Perl::Releases) >= 5.20210320 BuildRequires: perl(Capture::Tiny) >= 0.36 BuildRequires: perl(Devel::PatchPerl) >= 2.08 BuildRequires: perl(ExtUtils::MakeMaker) >= 7.22 @@ -45,10 +45,10 @@ 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(Test::Spec) >= 0.49 BuildRequires: perl(Test::TempDir::Tiny) >= 0.016 BuildRequires: perl(local::lib) >= 2.000014 -Requires: perl(CPAN::Perl::Releases) >= 5.20210123 +Requires: perl(CPAN::Perl::Releases) >= 5.20210320 Requires: perl(Capture::Tiny) >= 0.36 Requires: perl(Devel::PatchPerl) >= 2.08 Requires: perl(ExtUtils::MakeMaker) >= 7.22 @@ -65,7 +65,20 @@ # MANUAL END %description -Manage perl installations in your C<$HOME> +perlbrew is a program to automate the building and installation of perl 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 at +https://metacpan.org/, or by running 'perlbrew help', or by visiting at +https://perlbrew.pl/. The following documentation features the API of +'App::perlbrew' module, and may not be remotely close to what your want to +read. %prep %autosetup -n %{cpan_name}-%{version} @@ -85,7 +98,7 @@ %perl_gen_filelist %files -f %{name}.files -%doc Changes CONTRIBUTING.md metamerge.json README README.md +%doc Changes CONTRIBUTING.md README %license LICENSE %changelog ++++++ App-perlbrew-0.91.tar.gz -> App-perlbrew-0.92.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/.circleci/config.yml new/App-perlbrew-0.92/.circleci/config.yml --- old/App-perlbrew-0.91/.circleci/config.yml 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/.circleci/config.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -version: 2 -jobs: - criticism: - docker: - - image: gugod/perlcritic:latest - steps: - - checkout - - run: perlcritic --profile .perlcriticrc t lib script - test: - docker: - - image: perl:5.28 - steps: - - checkout - - run: perl -V - - run: cpanm --notest Test2::Harness; cpanm --notest --installdeps . - - run: yath -workflows: - version: 2 - test_and_critic: - jobs: - - criticism - - test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/.perlcriticrc new/App-perlbrew-0.92/.perlcriticrc --- old/App-perlbrew-0.91/.perlcriticrc 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/.perlcriticrc 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -color = 0 -verbose = %f:%l:%c:[%p] %m => %r\n - -only = 1 -include = RequireUseStrict ProhibitUnused diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/Build.PL new/App-perlbrew-0.92/Build.PL --- old/App-perlbrew-0.91/Build.PL 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/Build.PL 2021-04-15 16:56:02.000000000 +0200 @@ -1,4 +1,4 @@ -# This Build.PL for App-perlbrew was generated by mbtiny 0.028. +# This Build.PL for App-perlbrew was generated by mbtiny 0.029. use 5.006; use Module::Build::Tiny 0.034; Build_PL(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/Changes new/App-perlbrew-0.92/Changes --- old/App-perlbrew-0.91/Changes 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/Changes 2021-04-15 16:56:02.000000000 +0200 @@ -1,3 +1,10 @@ +0.92 + - Released at 2021-04-15T23:53:55+0900 + - Thanks to our contributors: chee + - Fix a message mentioning fish config. GitHub PR #712 + - Fetch cperl releases from https://github.com/perl11/cperl/releases instead + - Let `clone-modules` command accept `--notest` and skip running module tests + 0.91 - Released at 2021-01-31T17:10:27+0900 - Fix META info included in 0.90. No other feature changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/MANIFEST new/App-perlbrew-0.92/MANIFEST --- old/App-perlbrew-0.91/MANIFEST 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/MANIFEST 2021-04-15 16:56:02.000000000 +0200 @@ -1,5 +1,3 @@ -.circleci/config.yml -.perlcriticrc Build.PL CONTRIBUTING.md Changes @@ -8,7 +6,6 @@ META.json META.yml README -README.md cpanfile lib/App/Perlbrew/Path.pm lib/App/Perlbrew/Path/Installation.pm @@ -16,7 +13,6 @@ lib/App/Perlbrew/Path/Root.pm lib/App/Perlbrew/Util.pm lib/App/perlbrew.pm -metamerge.json script/perlbrew t/00.load.t t/01.options.t @@ -50,6 +46,7 @@ t/builddir.t t/command-alias.t t/command-available.t +t/command-clone-modules.t t/command-compgen.t t/command-display-rc.t t/command-env.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/META.json new/App-perlbrew-0.92/META.json --- old/App-perlbrew-0.91/META.json 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/META.json 2021-04-15 16:56:02.000000000 +0200 @@ -4,7 +4,7 @@ "Kang-min Liu C<< <[email protected]> >>" ], "dynamic_config" : 0, - "generated_by" : "App::ModuleBuildTiny version 0.028", + "generated_by" : "App::ModuleBuildTiny version 0.029", "license" : [ "mit" ], @@ -21,13 +21,13 @@ }, "develop" : { "requires" : { - "App::ModuleBuildTiny" : "0.028", + "App::ModuleBuildTiny" : "0.029", "Pod::Markdown" : "2.002" } }, "runtime" : { "requires" : { - "CPAN::Perl::Releases" : "5.20210123", + "CPAN::Perl::Releases" : "5.20210320", "Capture::Tiny" : "0.36", "Devel::PatchPerl" : "2.08", "ExtUtils::MakeMaker" : "7.22", @@ -49,7 +49,7 @@ "Test::NoWarnings" : "1.04", "Test::Output" : "1.03", "Test::Simple" : "1.001002", - "Test::Spec" : "0.47", + "Test::Spec" : "0.49", "Test::TempDir::Tiny" : "0.016" } } @@ -72,7 +72,7 @@ }, "App::perlbrew" : { "file" : "lib/App/perlbrew.pm", - "version" : "0.91" + "version" : "0.92" } }, "release_status" : "stable", @@ -86,7 +86,7 @@ "web" : "https://github.com/gugod/App-perlbrew" } }, - "version" : "0.91", + "version" : "0.92", "x_serialization_backend" : "JSON::PP version 4.04", "x_spdx_expression" : "MIT", "x_static_install" : "1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/META.yml new/App-perlbrew-0.92/META.yml --- old/App-perlbrew-0.91/META.yml 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/META.yml 2021-04-15 16:56:02.000000000 +0200 @@ -11,12 +11,12 @@ Test::NoWarnings: '1.04' Test::Output: '1.03' Test::Simple: '1.001002' - Test::Spec: '0.47' + Test::Spec: '0.49' Test::TempDir::Tiny: '0.016' configure_requires: Module::Build::Tiny: '0.034' dynamic_config: 0 -generated_by: 'App::ModuleBuildTiny version 0.028, CPAN::Meta::Converter version 2.150010' +generated_by: 'App::ModuleBuildTiny version 0.029, CPAN::Meta::Converter version 2.150010' license: mit meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -35,9 +35,9 @@ file: lib/App/Perlbrew/Util.pm App::perlbrew: file: lib/App/perlbrew.pm - version: '0.91' + version: '0.92' requires: - CPAN::Perl::Releases: '5.20210123' + CPAN::Perl::Releases: '5.20210320' Capture::Tiny: '0.36' Devel::PatchPerl: '2.08' ExtUtils::MakeMaker: '7.22' @@ -50,7 +50,7 @@ resources: bugtracker: https://github.com/gugod/App-perlbrew/issues repository: https://github.com/gugod/App-perlbrew.git -version: '0.91' +version: '0.92' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' x_spdx_expression: MIT x_static_install: '1' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/README new/App-perlbrew-0.92/README --- old/App-perlbrew-0.91/README 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/README 2021-04-15 16:56:02.000000000 +0200 @@ -2,7 +2,7 @@ App::perlbrew - Manage perl installations in your $HOME - SYNOPSIS +SYNOPSIS # Installation curl -L https://install.perlbrew.pl | bash @@ -38,7 +38,7 @@ # Exec something with all perlbrew-ed perls perlbrew exec -- perl -E 'say $]' - DESCRIPTION +DESCRIPTION perlbrew is a program to automate the building and installation of perl in an easy way. It provides multiple isolated perl environments, and a @@ -55,7 +55,7 @@ following documentation features the API of App::perlbrew module, and may not be remotely close to what your want to read. - INSTALLATION +INSTALLATION It is the simplest to use the perlbrew installer, just paste this statement to your terminal: @@ -114,7 +114,7 @@ cpan command, but it is also easy to upgrade perlbrew by running cpan App::perlbrew again. - PROJECT DEVELOPMENT +PROJECT DEVELOPMENT perlbrew project <https://perlbrew.pl/> uses github https://github.com/gugod/App-perlbrew/issues for issue tracking. Issues @@ -129,13 +129,13 @@ COPYRIGHT - Copyright (c) 2010- Kang-min Liu <[email protected]>. + Copyright (c) 2021 Kang-min Liu <[email protected]>. - LICENCE +LICENCE The MIT License - DISCLAIMER OF WARRANTY +DISCLAIMER OF WARRANTY BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/README.md new/App-perlbrew-0.92/README.md --- old/App-perlbrew-0.91/README.md 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,171 +0,0 @@ -# NAME - -App::perlbrew - Manage perl installations in your `$HOME` - -## SYNOPSIS - - # Installation - curl -L https://install.perlbrew.pl | bash - - # Initialize - perlbrew init - - # See what is available - perlbrew available - - # Install some Perls - perlbrew install 5.18.2 - perlbrew install perl-5.8.1 - perlbrew install perl-5.19.9 - - # See what were installed - perlbrew list - - # 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 - perl -v - - # Or turn it off completely. Useful when you messed up too deep. - # Or want to go back to the system Perl. - perlbrew off - - # Use 'switch' command to turn it back on. - perlbrew switch perl-5.12.2 - - # Exec something with all perlbrew-ed perls - perlbrew exec -- perl -E 'say $]' - -## DESCRIPTION - -[perlbrew](https://metacpan.org/pod/perlbrew) is a program to automate the building and installation of perl 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](https://metacpan.org/pod/perlbrew) command -on [MetaCPAN](https://metacpan.org/), or by running `perlbrew help`, -or by visiting [perlbrew's official website](https://perlbrew.pl/). The following documentation -features the API of `App::perlbrew` module, and may not be remotely -close to what your want to read. - -## INSTALLATION - -It is the simplest to use the perlbrew installer, just paste this statement to -your terminal: - - curl -L https://install.perlbrew.pl | bash - -Or this one, if you have `fetch` (default on FreeBSD): - - fetch -o- https://install.perlbrew.pl | sh - -After that, `perlbrew` installs itself to `~/perl5/perlbrew/bin`, and you -should follow the instruction on screen to modify your shell rc file to put it -in your PATH. - -The installed perlbrew command is a standalone executable that can be 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 fat-packed version of [patchperl](https://metacpan.org/pod/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 documentation, that directory -is referred as `perlbrew root`. If you need to set it to somewhere else because, -say, your `HOME` has limited quota, you can do that by setting `PERLBREW_ROOT` -environment variable before running the installer: - - export PERLBREW_ROOT=/opt/perl5 - curl -L https://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 - -In this case, the perlbrew command is installed as `/usr/bin/perlbrew` or -`/usr/local/bin/perlbrew` or others, depending on the location of your system -perl installation. - -Please make sure not to run this with one of the perls brewed with -perlbrew. It's the best to turn perlbrew off before you run that, if you're -upgrading. - - perlbrew off - cpan App::perlbrew - -You should always use system cpan (like /usr/bin/cpan) to install -`App::perlbrew` because it will be installed under a system PATH like -`/usr/bin`, which is not affected by perlbrew `switch` or `use` command. - -The `self-upgrade` command will not upgrade the perlbrew installed by cpan -command, but it is also easy to upgrade perlbrew by running `cpan App::perlbrew` -again. - -## METHODS - -- (Str) current\_perl - - Return the "current perl" object attribute string, or, if absent, the value of - `PERLBREW_PERL` environment variable. - -- (Str) current\_perl (Str) - - Set the `current_perl` object attribute to the given value. - -## PROJECT DEVELOPMENT - -[perlbrew project](https://perlbrew.pl/) uses github -[https://github.com/gugod/App-perlbrew/issues](https://github.com/gugod/App-perlbrew/issues) and RT -<https://rt.cpan.org/Dist/Display.html?Queue=App-perlbrew> for issue -tracking. Issues sent to these two systems will eventually be reviewed -and handled. - -See [https://github.com/gugod/App-perlbrew/contributors](https://github.com/gugod/App-perlbrew/contributors) for a list -of project contributors. - -# AUTHOR - -Kang-min Liu `<[email protected]>` - -# COPYRIGHT - -Copyright (c) 2010- Kang-min Liu `<[email protected]>`. - -### LICENCE - -The MIT License - -## DISCLAIMER OF WARRANTY - -BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH -YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR, OR CORRECTION. - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE -LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, -OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE -THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/cpanfile new/App-perlbrew-0.92/cpanfile --- old/App-perlbrew-0.91/cpanfile 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/cpanfile 2021-04-15 16:56:02.000000000 +0200 @@ -1,4 +1,4 @@ -requires 'CPAN::Perl::Releases' => '5.20210123'; +requires 'CPAN::Perl::Releases' => '5.20210320'; requires 'Capture::Tiny' => '0.36'; requires 'Devel::PatchPerl' => '2.08'; requires 'Pod::Parser' => '1.63'; @@ -19,7 +19,7 @@ requires 'Test::NoWarnings' => '1.04'; requires 'Test::Output' => '1.03'; requires 'Test::Simple' => '1.001002'; - requires 'Test::Spec' => '0.47'; + requires 'Test::Spec' => '0.49'; requires 'Test::TempDir::Tiny' => '0.016'; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/lib/App/perlbrew.pm new/App-perlbrew-0.92/lib/App/perlbrew.pm --- old/App-perlbrew-0.91/lib/App/perlbrew.pm 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/lib/App/perlbrew.pm 2021-04-15 16:56:02.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; use 5.008; -our $VERSION = "0.91"; +our $VERSION = "0.92"; use Config; BEGIN { @@ -291,6 +291,7 @@ 'all', 'shell=s', 'no-patchperl', + 'no-decoration', "builddir=s", @@ -858,7 +859,7 @@ # cperl releases: https://github.com/perl11/cperl/tags my $cperl_remote = 'https://github.com'; - my $url_cperl_release_list = $cperl_remote . '/perl11/cperl/tags'; + my $url_cperl_release_list = $cperl_remote . '/perl11/cperl/releases'; my $html = http_get($url_cperl_release_list); @@ -867,7 +868,7 @@ } if ($html) { - while ($html =~ m{href="(/perl11/cperl/archive/cperl-(5.+?)\.tar\.gz)"}xg) { + while ($html =~ m{href="(/perl11/cperl/releases/download/cperl-(5.+?)/cperl-.+?\.tar\.gz)"}g) { $dist{ "cperl-$2" } = $cperl_remote . $1; } } @@ -1041,9 +1042,12 @@ "cperl-5.24.0-RC1" => "https://github.com/perl11/cperl/releases/download/cperl-5.24.0-RC1/cperl-5.24.0-RC1.tar.gz", "cperl-5.24.2" => "https://github.com/perl11/cperl/releases/download/cperl-5.24.2/cperl-5.24.2.tar.gz", "cperl-5.25.2" => "https://github.com/perl11/cperl/releases/download/cperl-5.24.2/cperl-5.25.2.tar.gz", - "cperl-5.26.0" => "https://github.com/perl11/cperl/archive/cperl-5.26.0.tar.gz", - "cperl-5.26.0-RC1" => "https://github.com/perl11/cperl/archive/cperl-5.26.0-RC1.tar.gz", - "cperl-5.27.0" => "https://github.com/perl11/cperl/archive/cperl-5.27.0.tar.gz", + "cperl-5.26.4" => "https://github.com/perl11/cperl/releases/download/cperl-5.26.4/cperl-5.26.4.tar.gz", + "cperl-5.26.5" => "https://github.com/perl11/cperl/releases/download/cperl-5.26.5/cperl-5.26.5.tar.gz", + "cperl-5.28.2" => "https://github.com/perl11/cperl/releases/download/cperl-5.28.2/cperl-5.28.2.tar.gz", + "cperl-5.29.0" => "https://github.com/perl11/cperl/releases/download/cperl-5.29.0/cperl-5.29.0.tar.gz", + "cperl-5.29.1" => "https://github.com/perl11/cperl/releases/download/cperl-5.29.1/cperl-5.29.1.tar.gz", + "cperl-5.30.0" => "https://github.com/perl11/cperl/releases/download/cperl-5.30.0/cperl-5.30.0.tar.gz", ); my $error = 1; @@ -1059,17 +1063,19 @@ my ($self, $dist, $rd) = @_; $rd ||= {}; - my $expect_href = "/perl11/cperl/archive/${dist}.tar.gz"; - my $html = http_get('https://github.com/perl11/cperl/releases/tag/' . $dist); + my $expect_href = "/perl11/cperl/releases/download/${dist}/${dist}.tar.gz"; my $error = 1; + my $html = eval { + http_get('https://github.com/perl11/cperl/releases/tag/' . $dist); + } || ""; + if ($html =~ m{ <a \s+ href="($expect_href)" }xsi) { $rd->{tarball_name} = "${dist}.tar.gz"; $rd->{tarball_url} = "https://github.com" . $1; $error = 0; - } else { - $error = 1; } + return ($error, $rd); } @@ -1168,7 +1174,7 @@ } elsif ($shell =~ m/fish/) { $code = ". $root_dir/etc/perlbrew.fish"; - $yourshrc = 'config/fish/config.fish'; + $yourshrc = '.config/fish/config.fish'; } else { $code = "source $root_dir/etc/bashrc"; @@ -2084,18 +2090,27 @@ my $self = shift; my $is_verbose = $self->{verbose}; - for my $i ($self->installed_perls) { - printf "%-2s%-20s %-20s %s\n", - $i->{is_current} ? '*' : '', - $i->{name}, - ( $is_verbose ? - (index($i->{name}, $i->{version}) < 0) ? "($i->{version})" : '' - : '' ), - ( $is_verbose ? "(installed on $i->{ctime})" : '' ); - - for my $lib (@{$i->{libs}}) { - print $lib->{is_current} ? "* " : " ", - $lib->{name}, "\n" + if ($self->{'no-decoration'}) { + for my $i ($self->installed_perls) { + print $i->{name} . "\n"; + for my $lib (@{$i->{libs}}) { + print $lib->{name} . "\n"; + } + } + } else { + for my $i ($self->installed_perls) { + printf "%-2s%-20s %-20s %s\n", + $i->{is_current} ? '*' : '', + $i->{name}, + ( $is_verbose ? + (index($i->{name}, $i->{version}) < 0) ? "($i->{version})" : '' + : '' ), + ( $is_verbose ? "(installed on $i->{ctime})" : '' ); + + for my $lib (@{$i->{libs}}) { + print $lib->{is_current} ? "* " : " ", + $lib->{name}, "\n" + } } } @@ -2842,15 +2857,15 @@ # create a new application to 'exec' the 'cpanm' # with the specified module list - my $app = $class->new( + my @args = ( qw(--quiet exec --with), $dst_perl, - 'cpanm', - @modules_to_install - ); - - $app->run; + 'cpanm' + ); + push @args, '--notest' if $self->{notest}; + push @args, @modules_to_install; + $class->new(@args)->run; } sub format_info_output @@ -3386,7 +3401,7 @@ App::perlbrew - Manage perl installations in your C<$HOME> -=head2 SYNOPSIS +=head1 SYNOPSIS # Installation curl -L https://install.perlbrew.pl | bash @@ -3422,7 +3437,7 @@ # Exec something with all perlbrew-ed perls perlbrew exec -- perl -E 'say $]' -=head2 DESCRIPTION +=head1 DESCRIPTION L<perlbrew> is a program to automate the building and installation of perl in an easy way. It provides multiple isolated perl environments, and a mechanism @@ -3439,7 +3454,7 @@ features the API of C<App::perlbrew> module, and may not be remotely close to what your want to read. -=head2 INSTALLATION +=head1 INSTALLATION It is the simplest to use the perlbrew installer, just paste this statement to your terminal: @@ -3497,7 +3512,7 @@ command, but it is also easy to upgrade perlbrew by running C<cpan App::perlbrew> again. -=head2 PROJECT DEVELOPMENT +=head1 PROJECT DEVELOPMENT L<perlbrew project|https://perlbrew.pl/> uses github L<https://github.com/gugod/App-perlbrew/issues> for issue @@ -3513,13 +3528,13 @@ =head1 COPYRIGHT -Copyright (c) 2010- Kang-min Liu C<< <[email protected]> >>. +Copyright (c) 2021 Kang-min Liu C<< <[email protected]> >>. -=head3 LICENCE +=head1 LICENCE The MIT License -=head2 DISCLAIMER OF WARRANTY +=head1 DISCLAIMER OF WARRANTY BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/metamerge.json new/App-perlbrew-0.92/metamerge.json --- old/App-perlbrew-0.91/metamerge.json 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/metamerge.json 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -{ - "x_static_install": true, - "resources": { - "bugtracker": { - "web": "https://github.com/gugod/App-perlbrew/issues" - }, - "repository": { - "web": "https://github.com/gugod/App-perlbrew", - "url": "https://github.com/gugod/App-perlbrew.git", - "type": "git" - } - } -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/script/perlbrew new/App-perlbrew-0.92/script/perlbrew --- old/App-perlbrew-0.91/script/perlbrew 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/script/perlbrew 2021-04-15 16:56:02.000000000 +0200 @@ -197,7 +197,7 @@ version in the repository, which is downloaded from this specific URL regardless of mirror settings: - http://perl5.git.perl.org/perl.git/snapshot/blead.tar.gz + https://github.com/Perl/perl5/archive/blead.tar.gz The specified perl is downloaded from the official CPAN website or from the mirror site configured before. @@ -640,7 +640,11 @@ =head1 COMMAND: CLONE-MODULES Usage: - perlbrew clone-modules <src_version> <dst_version> + perlbrew clone-modules [options] <src_version> <dst_version> + +Options: + + --notest Skip all module tests This command re-installs all CPAN modules found from one installation to another. For example, this list all modules under '5.26.1' and re-install them under '5.27.7': diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/t/17.release-detail-cperl-remote.t new/App-perlbrew-0.92/t/17.release-detail-cperl-remote.t --- old/App-perlbrew-0.91/t/17.release-detail-cperl-remote.t 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/t/17.release-detail-cperl-remote.t 2021-04-15 16:56:02.000000000 +0200 @@ -14,13 +14,23 @@ my $app = App::perlbrew->new(); -my $rd = { type => "cperl", "version" => "5.27.1" }; -$app->release_detail_cperl_remote("cperl-5.27.1", $rd); +subtest 'Unknown version, expecting error', sub { + my ($error, $rd) = $app->release_detail_cperl_remote("xxx"); + ok $error, "Errored, as expected"; + ok defined($rd); +}; -ok defined( $rd->{tarball_url} ); -ok defined( $rd->{tarball_name} ); +for my $version ("5.27.1", "5.30.0") { + subtest "Known version ($version), expecting success", sub { + my $rd = { type => "cperl", "version" => $version }; + $app->release_detail_cperl_remote("cperl-${version}", $rd); -is $rd->{tarball_url}, "https://github.com/perl11/cperl/archive/cperl-5.27.1.tar.gz"; -is $rd->{tarball_name}, "cperl-5.27.1.tar.gz"; + ok defined( $rd->{tarball_url} ); + ok defined( $rd->{tarball_name} ); + + is $rd->{tarball_url}, "https://github.com/perl11/cperl/releases/download/cperl-${version}/cperl-${version}.tar.gz"; + is $rd->{tarball_name}, "cperl-${version}.tar.gz"; + } +} done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/t/command-clone-modules.t new/App-perlbrew-0.92/t/command-clone-modules.t --- old/App-perlbrew-0.91/t/command-clone-modules.t 1970-01-01 01:00:00.000000000 +0100 +++ new/App-perlbrew-0.92/t/command-clone-modules.t 2021-04-15 16:56:02.000000000 +0200 @@ -0,0 +1,104 @@ +#!/usr/bin/env perl +use strict; +use warnings; + +BEGIN { $ENV{SHELL} = "/bin/bash" } + +use FindBin; +use lib $FindBin::Bin; +use App::perlbrew; +require "test_helpers.pl"; + +use Test::Spec; + +mock_perlbrew_install("perl-5.14.1"); +mock_perlbrew_install("perl-5.16.0"); + +no warnings; +my ($__from, $__to, $__notest); +sub App::perlbrew::run_command_exec { + my ($self, @args) = @_; + + diag "ARGS: @args"; + + if (grep { $_ eq '-MExtUtils::Installed' } @args) { + $__from = $args[1]; + + my ($fn) = $args[5] =~ m{open .+">", "(.+?)";}; + if ($fn) { + open my $fh, ">", $fn; + print $fh "Foo\nBar\n"; + close($fh); + } else { + die "Failed to grok output path."; + } + } elsif (grep { $_ eq 'cpanm' } @args) { + $__to = $args[1]; + ($__notest) = grep { $_ eq '--notest' } @{$self->{original_argv}}; + } + return $self; +} +use warnings; + +describe "clone-modules command," => sub { + before each => sub { + delete $ENV{PERL_MB_OPT}; + delete $ENV{PERL_MM_OPT}; + delete $ENV{PERL_LOCAL_LIB_ROOT}; + delete $ENV{PERLBREW_LIB}; + delete $ENV{PERL5LIB}; + $__from = undef; + $__to = undef; + $__notest = undef; + }; + + describe "when invoked with two arguments, A and B", sub { + it "should display clone modules from A to B", sub { + my $app = App::perlbrew->new( + "clone-modules", "perl-5.14.1", "perl-5.16.0" + ); + $app->run; + is $__from, "perl-5.14.1"; + is $__to, "perl-5.16.0"; + ok(!defined($__notest)); + }; + }; + + describe "when invoked with two arguments, A and B, with `--notest`", sub { + it "should display clone modules from A to B", sub { + my $app = App::perlbrew->new( + "clone-modules", "--notest", "perl-5.14.1", "perl-5.16.0" + ); + $app->run; + is $__from, "perl-5.14.1"; + is $__to, "perl-5.16.0"; + ok(defined($__notest)); + }; + }; + + describe "when invoked with one argument X", sub { + it "should display clone modules from current-perl to X", sub { + my $app = App::perlbrew->new("clone-modules", "perl-5.14.1"); + $app->expects("current_env")->returns("perl-5.16.0")->at_least(1); + $app->run; + + is $__from, "perl-5.16.0"; + is $__to, "perl-5.14.1"; + ok(!defined($__notest)); + }; + }; + + describe "when invoked with one argument X, with `--notest`", sub { + it "should display clone modules from current-perl to X", sub { + my $app = App::perlbrew->new("clone-modules", "--notest", "perl-5.14.1"); + $app->expects("current_env")->returns("perl-5.16.0")->at_least(1); + $app->run; + + is $__from, "perl-5.16.0"; + is $__to, "perl-5.14.1"; + ok(defined($__notest)); + }; + }; +}; + +runtests unless caller; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/t/command-list.t new/App-perlbrew-0.92/t/command-list.t --- old/App-perlbrew-0.91/t/command-list.t 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/t/command-list.t 2021-04-15 16:56:02.000000000 +0200 @@ -57,6 +57,18 @@ stdout_like sub { $app->run(); }, qr/^(\s|\*)\sc?perl-?\d\.\d{1,3}[_.]\d{1,2}(\@nobita)?/, 'Cannot find Perl with libraries in output' }; + describe "when `--no-decoration` is given", sub { + it "does not mark anything", sub { + $ENV{PERLBREW_LIB} = "nobita"; + my $app = App::perlbrew->new("list", "--no-decoration"); + stdout_like sub { $app->run(); }, qr/^perl-?\d\.\d{1,3}[_.]\d{1,2}(@\w+)?/, 'No decoration mark in the output'; + }; + }; + }; + + describe "when `--no-decoration` is given", sub { + my $app = App::perlbrew->new("list", "--no-decoration"); + stdout_like sub { $app->run(); }, qr/^perl-?\d\.\d{1,3}[_.]\d{1,2}(@\w+)?/, 'No decoration mark in the output'; }; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.91/t/installation2.t new/App-perlbrew-0.92/t/installation2.t --- old/App-perlbrew-0.91/t/installation2.t 2021-01-31 09:14:01.000000000 +0100 +++ new/App-perlbrew-0.92/t/installation2.t 2021-04-15 16:56:02.000000000 +0200 @@ -49,17 +49,17 @@ pass; } }; - + describe "->do_install_this method" => sub { it "should log successful brews to the log_file." => sub { my $app = App::perlbrew->new; $app->{dist_extracted_dir} = ''; $app->{dist_name} = ''; - + my %expectations = ( 'do_system' => $app->expects("do_system")->returns(1), ); - + $app->do_install_this('', '5.12.3', 'perl-5.12.3'); open(my $log_handle, '<', $app->{log_file}); like(<$log_handle>, qr/##### Brew Finished #####/, 'Success message shows in log'); @@ -68,7 +68,7 @@ ok $expectations{$sub_name}->verify, "$sub_name is called"; } }; - + it "should log brew failure to the log_file if system call fails." => sub { my $app = App::perlbrew->new; $app->{dist_extracted_dir} = ''; @@ -77,7 +77,7 @@ my %expectations = ( 'do_system' => $app->expects("do_system")->returns(0), ); - + throws_ok( sub {$app->do_install_this('', '5.12.3', 'perl-5.12.3')}, qr/Installation process failed/); open(my $log_handle, '<', $app->{log_file}); like(<$log_handle>, qr/##### Brew Failed #####/, 'Failure message shows in log');
