Hello community, here is the log from the commit of package perl-local-lib for openSUSE:Factory checked in at 2013-12-07 07:47:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-local-lib (Old) and /work/SRC/openSUSE:Factory/.perl-local-lib.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-local-lib" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-local-lib/perl-local-lib.changes 2013-10-06 14:31:31.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-local-lib.new/perl-local-lib.changes 2013-12-07 07:47:44.000000000 +0100 @@ -1,0 +2,27 @@ +Mon Nov 25 07:39:42 UTC 2013 - [email protected] + +- updated to 1.008026 + - drop perl prerequisite to 5.6, since everything works there. + - fix install test on cygwin + - fix stackable test on win32 and when external local::lib is set + - clarify errors in Makefile.PL about CPAN configuration + - adjust csh output to allow use directly by eval + - silence a possible warning in Makefile.PL + - add additional docs about combining local::lib with lib::core::only + - reverse order of PERL_LOCAL_LIB_ROOT. new local::libs are now added + to the beginning instead of the end, to match the order of other + similar environment variables. + - fix installation into directories with spaces or backslashes, as + well as Win32 test failures when Capture::Tiny is installed + - fix test breaking in some cases when an external local::lib is set + - fix test compatibility with old versions of Exporter + - stable release of 1.008022 (no code changes since 1.008012) + - see 1.008019 through 1.008021 + - yet another attempt to overcome win32 testing issues (paths with + spaces, backslashes) + - yet another attempt to overcome win32 testing issues (paths with + spaces, backslashes) + - another attempt to overcome win32 testing issues (paths with spaces, + backslashes) + +------------------------------------------------------------------- Old: ---- local-lib-1.008018.tar.gz New: ---- local-lib-1.008026.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-local-lib.spec ++++++ --- /var/tmp/diff_new_pack.2R4rrD/_old 2013-12-07 07:47:45.000000000 +0100 +++ /var/tmp/diff_new_pack.2R4rrD/_new 2013-12-07 07:47:45.000000000 +0100 @@ -18,13 +18,13 @@ Name: perl-local-lib -Version: 1.008018 +Version: 1.008026 Release: 0 Summary: Create and Use a local Library Directory for Perl Modules License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl %define cpan_name local-lib -Source: http://www.cpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz +Source: http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz Source1: perl-homedir.sh Source2: perl-homedir.csh Url: http://search.cpan.org/dist/local-lib/ @@ -33,25 +33,9 @@ BuildRequires: perl-macros BuildRequires: perl(CPAN) >= 1.82 BuildRequires: perl(ExtUtils::Install) >= 1.43 -BuildRequires: perl(ExtUtils::MakeMaker) >= 6.31 +BuildRequires: perl(ExtUtils::MakeMaker) >= 6.74 BuildRequires: perl(Module::Build) >= 0.3600 -#BuildRequires: perl(Capture::Tiny) -#BuildRequires: perl(CPAN::HandleConfig) -#BuildRequires: perl(CPANPLUS::Backend) -#BuildRequires: perl(File::HomeDir) -#BuildRequires: perl(inc::Module::Install) -#BuildRequires: perl(JSON) -#BuildRequires: perl(lib::core::only) -#BuildRequires: perl(local::lib) -#BuildRequires: perl(LWP::Simple) -#BuildRequires: perl(Module::AutoInstall) -#BuildRequires: perl(Module::Install::Base) -#BuildRequires: perl(Parse::CPAN::Meta) -#BuildRequires: perl(YAML::Tiny) Requires: perl(CPAN) >= 1.82 -Requires: perl(ExtUtils::Install) >= 1.43 -Requires: perl(ExtUtils::MakeMaker) >= 6.31 -Requires: perl(Module::Build) >= 0.3600 %{perl_requires} %description @@ -110,9 +94,6 @@ unset PERL_MM_OPT %__make test -%clean -%__rm -rf "%{buildroot}" - %files %defattr(-,root,root) %doc Changes ++++++ local-lib-1.008018.tar.gz -> local-lib-1.008026.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/Changes new/local-lib-1.008026/Changes --- old/local-lib-1.008018/Changes 2013-09-15 21:47:41.000000000 +0200 +++ new/local-lib-1.008026/Changes 2013-11-06 00:48:09.000000000 +0100 @@ -1,5 +1,43 @@ Revision history for local::lib +1.008026 2013-11-05 + - drop perl prerequisite to 5.6, since everything works there. + +1.008025 2013-11-01 (development release, unindexed) + - fix install test on cygwin + - fix stackable test on win32 and when external local::lib is set + - clarify errors in Makefile.PL about CPAN configuration + - adjust csh output to allow use directly by eval + - silence a possible warning in Makefile.PL + - add additional docs about combining local::lib with lib::core::only + - reverse order of PERL_LOCAL_LIB_ROOT. new local::libs are now added + to the beginning instead of the end, to match the order of other + similar environment variables. + +1.008024 2013-10-28 (development release, unindexed) + - fix installation into directories with spaces or backslashes, as + well as Win32 test failures when Capture::Tiny is installed + - fix test breaking in some cases when an external local::lib is set + - fix test compatibility with old versions of Exporter + +1.008023 2013-10-19 + - stable release of 1.008022 (no code changes since 1.008012) + +1.008022 2013-10-07 (development release, unindexed) + - see 1.008019 through 1.008021 + +1.008021 2013-10-04 (development release, unindexed) + - yet another attempt to overcome win32 testing issues (paths with + spaces, backslashes) + +1.008020 2013-10-03 (development release, unindexed) + - yet another attempt to overcome win32 testing issues (paths with + spaces, backslashes) + +1.008019 2013-09-29 (development release, unindexed) + - another attempt to overcome win32 testing issues (paths with spaces, + backslashes) + 1.008018 2013-09-15 - print out actual paths in more test cases, for helping to diagnose mysterious failures @@ -39,8 +77,13 @@ 1.008008 2013-02-24 - Fix putting arch path in PERL5LIB - Refactor Win32 path handling out of ensure_dir_structure_for() - - Fix activate_paths when PERL_LOCAL_LIB_ROOT starts with : + - Fix active_paths when PERL_LOCAL_LIB_ROOT starts with : - Fix ~/perl5/bin missing in $PATH + - The environment variables definition for the shell is now output in + a way that allows to put the generated content directly in the + .profile without requiring to launch perl + (the only difference is how PERL_LOCAL_LIB_ROOT is generated) + (Olivier Mengué). 1.008007 2013-02-17 - Back to 1.008004 with Carp fix since subsequent releases were botched diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/LICENSE new/local-lib-1.008026/LICENSE --- old/local-lib-1.008018/LICENSE 1970-01-01 01:00:00.000000000 +0100 +++ new/local-lib-1.008026/LICENSE 2013-10-31 20:10:00.000000000 +0100 @@ -0,0 +1,379 @@ +This software is copyright (c) 2007 by Matt S Trout. + +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + +Terms of the Perl programming language system itself + +a) the GNU General Public License as published by the Free + Software Foundation; either version 1, or (at your option) any + later version, or +b) the "Artistic License" + +--- The GNU General Public License, Version 1, February 1989 --- + +This software is Copyright (c) 2007 by Matt S Trout. + +This is free software, licensed under: + + The GNU General Public License, Version 1, February 1989 + + GNU GENERAL PUBLIC LICENSE + Version 1, February 1989 + + Copyright (C) 1989 Free Software Foundation, Inc. + 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The license agreements of most software companies try to keep users +at the mercy of those companies. By contrast, our General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. The +General Public License applies to the Free Software Foundation's +software and to any other program whose authors commit to using it. +You can use it for your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Specifically, the General Public License is designed to make +sure that you have the freedom to give away or sell copies of free +software, that you receive source code or can get it if you want it, +that you can change the software or use pieces of it in new free +programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of a such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must tell them their rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any program or other work which +contains a notice placed by the copyright holder saying it may be +distributed under the terms of this General Public License. The +"Program", below, refers to any such program or work, and a "work based +on the Program" means either the Program or any work containing the +Program or a portion of it, either verbatim or with modifications. Each +licensee is addressed as "you". + + 1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this +General Public License and to the absence of any warranty; and give any +other recipients of the Program a copy of this General Public License +along with the Program. You may charge a fee for the physical act of +transferring a copy. + + 2. You may modify your copy or copies of the Program or any portion of +it, and copy and distribute such modifications under the terms of Paragraph +1 above, provided that you also do the following: + + a) cause the modified files to carry prominent notices stating that + you changed the files and the date of any change; and + + b) cause the whole of any work that you distribute or publish, that + in whole or in part contains the Program or any part thereof, either + with or without modifications, to be licensed at no charge to all + third parties under the terms of this General Public License (except + that you may choose to grant warranty protection to some or all + third parties, at your option). + + c) If the modified program normally reads commands interactively when + run, you must cause it, when started running for such interactive use + in the simplest and most usual way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this General + Public License. + + d) You may charge a fee for the physical act of transferring a + copy, and you may at your option offer warranty protection in + exchange for a fee. + +Mere aggregation of another independent work with the Program (or its +derivative) on a volume of a storage or distribution medium does not bring +the other work under the scope of these terms. + + 3. You may copy and distribute the Program (or a portion or derivative of +it, under Paragraph 2) in object code or executable form under the terms of +Paragraphs 1 and 2 above provided that you also do one of the following: + + a) accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Paragraphs 1 and 2 above; or, + + b) accompany it with a written offer, valid for at least three + years, to give any third party free (except for a nominal charge + for the cost of distribution) a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of + Paragraphs 1 and 2 above; or, + + c) accompany it with the information you received as to where the + corresponding source code may be obtained. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form alone.) + +Source code for a work means the preferred form of the work for making +modifications to it. For an executable file, complete source code means +all the source code for all modules it contains; but, as a special +exception, it need not include source code for modules which are standard +libraries that accompany the operating system on which the executable +file runs, or for standard header files or definitions files that +accompany that operating system. + + 4. You may not copy, modify, sublicense, distribute or transfer the +Program except as expressly provided under this General Public License. +Any attempt otherwise to copy, modify, sublicense, distribute or transfer +the Program is void, and will automatically terminate your rights to use +the Program under this License. However, parties who have received +copies, or rights to use copies, from you under this General Public +License will not have their licenses terminated so long as such parties +remain in full compliance. + + 5. By copying, distributing or modifying the Program (or any work based +on the Program) you indicate your acceptance of this license to do so, +and all its terms and conditions. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the original +licensor to copy, distribute or modify the Program subject to these +terms and conditions. You may not impose any further restrictions on the +recipients' exercise of the rights granted herein. + + 7. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of the license which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +the license, you may choose any version ever published by the Free Software +Foundation. + + 8. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "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 PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 10. 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 PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to humanity, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) 19yy <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19xx name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and `show +c'; they could even be mouse-clicks or menu items--whatever suits your +program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision' (a program to direct compilers to make passes + at assemblers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +That's all there is to it! + + +--- The Artistic License 1.0 --- + +This software is Copyright (c) 2007 by Matt S Trout. + +This is free software, licensed under: + + The Artistic License 1.0 + +The Artistic License + +Preamble + +The intent of this document is to state the conditions under which a Package +may be copied, such that the Copyright Holder maintains some semblance of +artistic control over the development of the package, while giving the users of +the package the right to use and distribute the Package in a more-or-less +customary fashion, plus the right to make reasonable modifications. + +Definitions: + + - "Package" refers to the collection of files distributed by the Copyright + Holder, and derivatives of that collection of files created through + textual modification. + - "Standard Version" refers to such a Package if it has not been modified, + or has been modified in accordance with the wishes of the Copyright + Holder. + - "Copyright Holder" is whoever is named in the copyright or copyrights for + the package. + - "You" is you, if you're thinking about copying or distributing this Package. + - "Reasonable copying fee" is whatever you can justify on the basis of media + cost, duplication charges, time of people involved, and so on. (You will + not be required to justify it to the Copyright Holder, but only to the + computing community at large as a market that must bear the fee.) + - "Freely Available" means that no fee is charged for the item itself, though + there may be fees involved in handling the item. It also means that + recipients of the item may redistribute it under the same conditions they + received it. + +1. You may make and give away verbatim copies of the source form of the +Standard Version of this Package without restriction, provided that you +duplicate all of the original copyright notices and associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications derived +from the Public Domain or from the Copyright Holder. A Package modified in such +a way shall still be considered the Standard Version. + +3. You may otherwise modify your copy of this Package in any way, provided that +you insert a prominent notice in each changed file stating how and when you +changed that file, and provided that you do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise make them + Freely Available, such as by posting said modifications to Usenet or an + equivalent medium, or placing the modifications on a major archive site + such as ftp.uu.net, or by allowing the Copyright Holder to include your + modifications in the Standard Version of the Package. + + b) use the modified Package only within your corporation or organization. + + c) rename any non-standard executables so the names do not conflict with + standard executables, which must also be provided, and provide a separate + manual page for each non-standard executable that clearly documents how it + differs from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or executable +form, provided that you do at least ONE of the following: + + a) distribute a Standard Version of the executables and library files, + together with instructions (in the manual page or equivalent) on where to + get the Standard Version. + + b) accompany the distribution with the machine-readable source of the Package + with your modifications. + + c) accompany any non-standard executables with their corresponding Standard + Version executables, giving the non-standard executables non-standard + names, and clearly documenting the differences in manual pages (or + equivalent), together with instructions on where to get the Standard + Version. + + d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of this +Package. You may charge any fee you choose for support of this Package. You +may not charge a fee for this Package itself. However, you may distribute this +Package in aggregate with other (possibly commercial) programs as part of a +larger (possibly commercial) software distribution provided that you do not +advertise this Package as a product of your own. + +6. The scripts and library files supplied as input to or produced as output +from the programs of this Package do not automatically fall under the copyright +of this Package, but belong to whomever generated them, and may be sold +commercially, and may be aggregated with this Package. + +7. C or perl subroutines supplied by you and linked into this Package shall not +be considered part of this Package. + +8. The name of the Copyright Holder may not be used to endorse or promote +products derived from this software without specific prior written permission. + +9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +The End + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/MANIFEST new/local-lib-1.008026/MANIFEST --- old/local-lib-1.008018/MANIFEST 2013-09-15 21:49:27.000000000 +0200 +++ new/local-lib-1.008026/MANIFEST 2013-11-06 01:01:12.000000000 +0100 @@ -15,6 +15,7 @@ lib/local/lib.pm lib/POD2/DE/local/lib.pod lib/POD2/PT_BR/local/lib.pod +LICENSE maint/gen-tests.pl Makefile.PL MANIFEST This list of files @@ -24,10 +25,6 @@ t/classmethod.t t/coderefs_in_inc.t t/de-dup.t -t/dist/EUMM/lib/EUMM.pm -t/dist/EUMM/Makefile.PL -t/dist/MB/Build.PL -t/dist/MB/lib/MB.pm t/install.t t/lib-core-only.t t/lib/TempDir.pm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/META.yml new/local-lib-1.008026/META.yml --- old/local-lib-1.008018/META.yml 2013-09-15 21:49:26.000000000 +0200 +++ new/local-lib-1.008026/META.yml 2013-11-06 01:00:58.000000000 +0100 @@ -22,12 +22,12 @@ requires: CPAN: 1.82 ExtUtils::Install: 1.43 - ExtUtils::MakeMaker: 6.31 + ExtUtils::MakeMaker: 6.74 Module::Build: 0.36 - perl: 5.8.1 + perl: 5.6.0 resources: bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=local-lib homepage: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/local-lib.git license: http://dev.perl.org/licenses/ repository: git://git.shadowcat.co.uk/p5sagit/local-lib.git -version: 1.008018 +version: 1.008026 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/Makefile.PL new/local-lib-1.008026/Makefile.PL --- old/local-lib-1.008018/Makefile.PL 2013-09-11 01:37:33.000000000 +0200 +++ new/local-lib-1.008026/Makefile.PL 2013-11-05 19:07:13.000000000 +0100 @@ -83,7 +83,7 @@ # <mst> we must set PERL_AUTOINSTALL_PREFER_CPAN too $ENV{PERL_AUTOINSTALL_PREFER_CPAN} = 1; - system($^X, '-MExtUtils::MakeMaker 6.31', '-e1'); + system($^X, '-MExtUtils::MakeMaker 6.74', '-e1'); my $eumm = $? >> 8; system($^X, '-MExtUtils::Install 1.43', '-e1'); @@ -181,8 +181,8 @@ name 'local-lib'; all_from 'lib/local/lib.pm'; -requires 'ExtUtils::MakeMaker' => '6.31'; # version INSTALL_BASE was added -requires 'ExtUtils::Install' => '1.43'; # ditto +requires 'ExtUtils::MakeMaker' => '6.74'; # version PERL_MM_OPT is shell parsed +requires 'ExtUtils::Install' => '1.43'; # version INSTALL_BASE was added requires 'Module::Build' => '0.36'; # PERL_MB_OPT # don't bother fixing CPAN.pm if bootstrapped from cpanminus @@ -214,22 +214,19 @@ if (!$@ ) { CPAN::HandleConfig->require_myconfig_or_config; if ( $CPAN::Config ) { - for my $eumm_setting ( qw/makepl_arg make_install_arg/ ) { - if ($CPAN::Config->{$eumm_setting} =~ /(?:PREFIX|INSTALL_BASE)/) { + for my $setting (qw( + makepl_arg make_install_arg + mbuild_arg mbuild_install_arg mbuildpl_arg + )) { + my $value = $CPAN::Config->{$setting} or next; + if ($setting =~ /^make/ + ? $value =~ /(?:PREFIX|INSTALL_BASE)/ + : /(?:--prefix|--install_base)/ + ) { die <<"DEATH"; -WHOA THERE! It looks like you've got $CPAN::Config->{$eumm_setting} set. This is -known to cause problems with local::lib. Please either remove this setting or -clear out your .cpan directory. -DEATH - } - } - - for my $mb_setting (qw/mbuild_arg mbuild_install_arg mbuildpl_arg/) { - if ($CPAN::Config->{$mb_setting} =~ /(?:--prefix|--install_base)/) { - die <<"DEATH"; -WHOA THERE! It looks like you've got $CPAN::Config->{$mb_setting} set. This is -known to cause problems with local::lib. Please either remove this setting or -clear out your .cpan directory. +WHOA THERE! It looks like you've got $CPAN::Config->{$setting} set in +your CPAN config. This is known to cause problems with local::lib. Please +either remove this setting or clear out your .cpan directory. DEATH } } @@ -260,4 +257,10 @@ homepage => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/local-lib.git', bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=local-lib', ); + +makemaker_args( + clean => { FILES => 't/dist/*/MYMETA* t/dist/*/blib t/dist/EUMM/Makefile t/dist/EUMM/pm_to_blib t/dist/MB/Build t/dist/MB/_build' }, + realclean => { FILES => 'MANIFEST MANIFEST.SKIP.bak' }, +); + WriteAll; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/lib/lib/core/only.pm new/local-lib-1.008026/lib/lib/core/only.pm --- old/local-lib-1.008018/lib/lib/core/only.pm 2013-02-12 17:00:24.000000000 +0100 +++ new/local-lib-1.008026/lib/lib/core/only.pm 2013-11-02 20:01:06.000000000 +0100 @@ -19,12 +19,17 @@ To get only the core directories plus the ones for the local::lib in scope: - $ perl -Mlib::core::only -Mlocal::lib=~/perl5 myscript.pl + $ perl -mlocal::lib -Mlib::core::only -Mlocal::lib=~/perl5 myscript.pl To attempt to do a self-contained build (but note this will not reliably propagate into subprocesses, see the CAVEATS below): - $ PERL5OPT='-Mlib::core::only -Mlocal::lib=~/perl5' cpan + $ PERL5OPT='-mlocal::lib -Mlib::core::only -Mlocal::lib=~/perl5' cpan + +Please note that it is necessary to use C<local::lib> twice for this to work. +First so that C<lib::core::only> doesn't prevent C<local::lib> from loading +(it's not currently in core) and then again after C<lib::core::only> so that +the local paths are not removed. =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/lib/local/lib.pm new/local-lib-1.008026/lib/local/lib.pm --- old/local-lib-1.008018/lib/local/lib.pm 2013-09-15 21:47:33.000000000 +0200 +++ new/local-lib-1.008026/lib/local/lib.pm 2013-11-05 22:56:11.000000000 +0100 @@ -3,14 +3,14 @@ package local::lib; -use 5.008001; # probably works with earlier versions but I'm not supporting them - # (patches would, of course, be welcome) +use 5.006; use File::Spec (); use File::Path (); use Config; -our $VERSION = '1.008018'; # 1.8.18 +our $VERSION = '1.008026'; # 1.8.26 +$VERSION = eval $VERSION; our @KNOWN_FLAGS = qw(--self-contained --deactivate --deactivate-all); @@ -217,7 +217,7 @@ $path = Win32::GetShortPathName($path) if $^O eq 'MSWin32'; if (! $deactivating) { - if (@active_lls && $active_lls[-1] eq $path) { + if (@active_lls && $active_lls[0] eq $path) { exit 0 if $0 eq '-'; return; # Asked to add what's already at the top of the stack } elsif (grep { $_ eq $path} @active_lls) { @@ -344,7 +344,7 @@ sub build_csh_env_declaration { my $class = shift; my($name, $value) = @_; - return defined($value) ? qq{setenv ${name} "${value}"\n} : qq{unsetenv ${name}\n}; + return defined($value) ? qq{setenv ${name} "${value}";\n} : qq{unsetenv ${name};\n}; } sub build_win32_env_declaration { @@ -420,11 +420,11 @@ PERL_LOCAL_LIB_ROOT => _env_list_value( { interpolate => $interpolate, exists => 0, empty => '' }, - \'PERL_LOCAL_LIB_ROOT', $path, + \'PERL_LOCAL_LIB_ROOT', ), - PERL_MB_OPT => "--install_base ${path}", - PERL_MM_OPT => "INSTALL_BASE=${path}", + PERL_MB_OPT => "--install_base " . _mb_escape_path($path), + PERL_MM_OPT => "INSTALL_BASE=" . _mm_escape_path($path), PERL5LIB => _env_list_value( { interpolate => $interpolate, exists => 0, empty => '' }, @@ -439,6 +439,21 @@ ) } +sub _mm_escape_path { + my $path = shift; + $path =~ s/\\/\\\\\\\\/g; + if ($path =~ s/ /\\ /g) { + $path = qq{"\\"$path\\""}; + } + return $path; +} + +sub _mb_escape_path { + my $path = shift; + $path =~ s/\\/\\\\/g; + return qq{"$path"}; +} + sub active_paths { my ($class) = @_; @@ -495,10 +510,10 @@ # If removing ourselves from the "top of the stack", set install paths to # correspond with the new top of stack. - if ($active_lls[-1] eq $path) { - my $new_top = $active_lls[-2]; - $env{PERL_MB_OPT} = defined($new_top) ? "--install_base ${new_top}" : undef; - $env{PERL_MM_OPT} = defined($new_top) ? "INSTALL_BASE=${new_top}" : undef; + if ($active_lls[0] eq $path) { + my $new_top = $active_lls[1]; + $env{PERL_MB_OPT} = defined($new_top) ? "--install_base "._mb_escape_path($new_top) : undef; + $env{PERL_MM_OPT} = defined($new_top) ? "INSTALL_BASE="._mm_escape_path($new_top) : undef; } return %env; @@ -1105,8 +1120,8 @@ =head1 LICENSE -This library is free software and may be distributed under the same terms -as perl itself. +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/bad_variables.t new/local-lib-1.008026/t/bad_variables.t --- old/local-lib-1.008018/t/bad_variables.t 2013-09-15 21:45:58.000000000 +0200 +++ new/local-lib-1.008026/t/bad_variables.t 2013-11-02 20:01:06.000000000 +0100 @@ -7,10 +7,7 @@ use lib 't/lib'; use TempDir; -# remember the original value of this, in case we are already running inside a -# local::lib -my $orig_llr = $ENV{PERL_LOCAL_LIB_ROOT} || ''; -$orig_llr = '' if $orig_llr eq $Config{path_sep}; +delete $ENV{PERL_LOCAL_LIB_ROOT}; my $dir1 = mk_temp_dir('test_local_lib-XXXXX'); my $dir2 = mk_temp_dir('test_local_lib-XXXXX'); @@ -23,14 +20,14 @@ local::lib->import($dir2); # we have junk in here now -$ENV{PERL_LOCAL_LIB_ROOT} .= $Config{path_sep} . $dir3; +$ENV{PERL_LOCAL_LIB_ROOT} = $dir3 . $Config{path_sep} . $ENV{PERL_LOCAL_LIB_ROOT}; local::lib->import($dir1); is( $ENV{PERL_LOCAL_LIB_ROOT}, - join($Config{path_sep}, (grep { defined $_ and $_ ne '' } $orig_llr, $dir2, $dir1)), - 'dir1 should have been removed and added back in at the top (PERL_LOCAL_LIB_ROOT was ' . $orig_llr . ')', + join($Config{path_sep}, (grep { defined $_ and $_ ne '' } $dir1, $dir2)), + 'dir1 should have been removed and added back in at the top' ); ok((grep { /\Q$dir1\E/ } @INC), 'new dir has been added to @INC'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/classmethod.t new/local-lib-1.008026/t/classmethod.t --- old/local-lib-1.008018/t/classmethod.t 2013-09-05 00:14:06.000000000 +0200 +++ new/local-lib-1.008026/t/classmethod.t 2013-10-31 20:10:00.000000000 +0100 @@ -1,34 +1,24 @@ - use strict; use warnings; -use Test::More 'no_plan'; -use local::lib (); +use Test::More tests => 4;; +use local::lib (); my $c = 'local::lib'; - { - -is($c->resolve_empty_path, '~/perl5'); -is($c->resolve_empty_path('foo'), 'foo'); - + is($c->resolve_empty_path, '~/perl5'); + is($c->resolve_empty_path('foo'), 'foo'); } { - -no warnings 'once'; -local *File::Spec::rel2abs = sub { shift; 'FOO'.shift; }; -is($c->resolve_relative_path('bar'),'FOObar'); - + no warnings 'once'; + local *File::Spec::rel2abs = sub { shift; 'FOO'.shift; }; + is($c->resolve_relative_path('bar'),'FOObar'); } { - -File::Path::rmtree('t/var/splat'); - -$c->ensure_dir_structure_for('t/var/splat'); - -ok(-d 't/var/splat'); - + File::Path::rmtree('t/var/splat'); + $c->ensure_dir_structure_for('t/var/splat'); + ok(-d 't/var/splat'); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/coderefs_in_inc.t new/local-lib-1.008026/t/coderefs_in_inc.t --- old/local-lib-1.008018/t/coderefs_in_inc.t 2013-09-05 00:14:06.000000000 +0200 +++ new/local-lib-1.008026/t/coderefs_in_inc.t 2013-10-31 20:10:00.000000000 +0100 @@ -1,12 +1,11 @@ use strict; use warnings; -use Test::More; +use Test::More tests => 2; use File::Temp qw(tempdir); use Cwd; # Test that refs in @INC don't get mangled. -plan tests => 2; my $dir = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/de-dup.t new/local-lib-1.008026/t/de-dup.t --- old/local-lib-1.008018/t/de-dup.t 2013-09-05 00:14:06.000000000 +0200 +++ new/local-lib-1.008026/t/de-dup.t 2013-10-31 20:10:00.000000000 +0100 @@ -1,11 +1,10 @@ use strict; use warnings; -use Test::More; +use Test::More tests => 2; + use File::Temp qw(tempdir); use Cwd; -plan tests => 2; - my $dir = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1); use local::lib (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/dist/EUMM/Makefile.PL new/local-lib-1.008026/t/dist/EUMM/Makefile.PL --- old/local-lib-1.008018/t/dist/EUMM/Makefile.PL 2013-09-05 00:14:06.000000000 +0200 +++ new/local-lib-1.008026/t/dist/EUMM/Makefile.PL 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -use ExtUtils::MakeMaker; - -WriteMakefile( - NAME => 'EUMM', -); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/dist/EUMM/lib/EUMM.pm new/local-lib-1.008026/t/dist/EUMM/lib/EUMM.pm --- old/local-lib-1.008018/t/dist/EUMM/lib/EUMM.pm 2013-09-05 00:14:06.000000000 +0200 +++ new/local-lib-1.008026/t/dist/EUMM/lib/EUMM.pm 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/dist/MB/Build.PL new/local-lib-1.008026/t/dist/MB/Build.PL --- old/local-lib-1.008018/t/dist/MB/Build.PL 2013-09-05 00:14:06.000000000 +0200 +++ new/local-lib-1.008026/t/dist/MB/Build.PL 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -use Module::Build; -Module::Build->new( - module_name => "MB", - dist_version => 1, - license => "perl", -)->create_build_script; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/dist/MB/lib/MB.pm new/local-lib-1.008026/t/dist/MB/lib/MB.pm --- old/local-lib-1.008018/t/dist/MB/lib/MB.pm 2013-09-05 00:14:06.000000000 +0200 +++ new/local-lib-1.008026/t/dist/MB/lib/MB.pm 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -our $VERSION = 1; 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/install.t new/local-lib-1.008026/t/install.t --- old/local-lib-1.008018/t/install.t 2013-09-15 21:37:51.000000000 +0200 +++ new/local-lib-1.008026/t/install.t 2013-11-06 01:00:21.000000000 +0100 @@ -3,38 +3,89 @@ use Test::More; BEGIN { plan skip_all => "Install Capture::Tiny to test installation" unless eval { require Capture::Tiny; 1 } } -use Capture::Tiny qw(capture); -use File::Temp qw(tempdir); +use Capture::Tiny qw(capture_merged); use File::Spec; +use File::Path qw(mkpath); use Cwd; use Config; -plan tests => 2; - -my $dir = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1); +use lib 't/lib'; use TempDir; use local::lib (); -local::lib->import($dir); + +delete @ENV{ + 'PERL_MM_OPT', + 'PERL_MB_OPT', + 'PERL_LOCAL_LIB_ROOT', + grep /^MAKE/, keys %ENV +}; + +my @dirs = ( + 'plain', + 'with space', + 'with\backslash', + 'with space\and-bs', +); + +my %dist_types = ( + EUMM => sub { + open my $fh, '>', 'Makefile.PL' or die "can't create Makefile.PL: $!"; + print $fh 'use ExtUtils::MakeMaker; WriteMakefile( NAME => "EUMM" );'; + close $fh; + system($^X, 'Makefile.PL') && die "Makefile.PL failed"; + system($Config{make}, 'install') && die "$Config{make} install failed"; + }, + MB => sub { + open my $fh, '>', 'Build.PL' or die "can't create Build.PL: $!"; + print $fh <<END_BUILD; +use Module::Build; +Module::Build->new( + module_name => "MB", + dist_version => 1, + license => "perl", +)->create_build_script; +END_BUILD + close $fh; + system($^X, 'Build.PL') && die "Build.PL failed"; + system($^X, 'Build', 'install') && die "Build install failed"; + }, +); + +plan tests => @dirs * keys(%dist_types) * 2; my $orig_dir = cwd; -SKIP: for my $dist_type (qw(EUMM MB)) { - chdir File::Spec->catdir($orig_dir, qw(t dist), $dist_type); - if ($dist_type eq 'EUMM') { - my ($stdout, $stderr) = capture { eval { - system($^X, 'Makefile.PL') && die "Makefile.PL failed"; - system($Config{make}, 'install') && die "$Config{make} install failed"; - } }; - diag $stdout, $stderr if $@; - } else { - my ($stdout, $stderr) = capture { eval { - system($^X, 'Build.PL') && die "Build.PL failed"; - system($^X, 'Build', 'install') && die "Build install failed"; +for my $dir_base (@dirs) { + for my $dist_type (sort keys %dist_types) { + chdir $orig_dir; + my $temp = mk_temp_dir("install-$dist_type-XXXXX"); + my $ll_dir = "$dist_type-$dir_base"; + my $ll = "$temp/$ll_dir"; + mkpath(File::Spec->canonpath($ll)); + + local::lib->import($ll); + + my $dist_dir = mk_temp_dir("source-$dist_type-XXXXX"); + chdir $dist_dir; + mkdir 'lib'; + open my $fh, '>', "lib/$dist_type.pm"; + print $fh '1;'; + close $fh; + + my $output = capture_merged { eval { + $dist_types{$dist_type}->(); } }; - diag $stdout, $stderr if $@; + is $@, '', "installed $dist_type into '$ll_dir'" + or diag $output; + + my $dest_dir = local::lib->install_base_perl_path($ll); + my $file = File::Spec->catfile($dest_dir, "$dist_type.pm"); + (my $short_file = $file) =~ s/^\Q$ll/$ll_dir/; + ok( + -e $file, + "$dist_type - $dir_base - $dist_type.pm installed as '$short_file'", + ) or diag 'Files in ' . $dest_dir . ":\n", join("\n", do { + my $dh; + (opendir $dh, $dest_dir) ? readdir $dh : "doesn't exist"; + }); } - my $file = File::Spec->catfile($dir, qw(lib perl5), "$dist_type.pm"); - ok( - -e $file, - "$dist_type.pm installed as $file", - ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/lib/TempDir.pm new/local-lib-1.008026/t/lib/TempDir.pm --- old/local-lib-1.008018/t/lib/TempDir.pm 2013-09-13 18:26:01.000000000 +0200 +++ new/local-lib-1.008026/t/lib/TempDir.pm 2013-10-31 22:32:07.000000000 +0100 @@ -2,18 +2,22 @@ use strict; use warnings; -use Exporter 'import'; +use base 'Exporter'; our @EXPORT = qw(mk_temp_dir); use local::lib (); use Cwd; use File::Temp qw(tempdir); +$File::Temp::KEEP_ALL = 1 + if $ENV{LOCAL_LIB_TEST_DEBUG}; + sub mk_temp_dir { my $name_template = shift; - my $path = tempdir($name_template, DIR => Cwd::abs_path('t'), CLEANUP => 1); + mkdir 't/temp'; + my $path = tempdir($name_template, DIR => Cwd::abs_path('t/temp'), CLEANUP => 1); local::lib->ensure_dir_structure_for($path); # On Win32 the path where the distribution is built usually contains # spaces. This is a problem for some parts of the CPAN toolchain, so diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/pipeline.t new/local-lib-1.008026/t/pipeline.t --- old/local-lib-1.008018/t/pipeline.t 2013-09-11 01:37:12.000000000 +0200 +++ new/local-lib-1.008026/t/pipeline.t 2013-10-31 20:10:00.000000000 +0100 @@ -1,15 +1,13 @@ - use strict; use warnings; -use Test::More 'no_plan'; +use Test::More tests => 1; + use local::lib (); { + package local::lib; -package local::lib; - -{ package Foo; sub foo { -$_[1] } sub bar { $_[1]+2 } sub baz { $_[1]+3 } } -my $foo = bless({}, 'Foo'); -Test::More::ok($foo->${pipeline qw(foo bar baz)}(10) == -15); - + { package Foo; sub foo { -$_[1] } sub bar { $_[1]+2 } sub baz { $_[1]+3 } } + my $foo = bless({}, 'Foo'); + Test::More::ok($foo->${pipeline qw(foo bar baz)}(10) == -15); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/stackable.t new/local-lib-1.008026/t/stackable.t --- old/local-lib-1.008018/t/stackable.t 2013-09-12 18:22:36.000000000 +0200 +++ new/local-lib-1.008026/t/stackable.t 2013-11-02 20:01:06.000000000 +0100 @@ -10,6 +10,8 @@ use lib 't/lib'; use TempDir; +delete $ENV{PERL_LOCAL_LIB_ROOT}; + my $dir1 = mk_temp_dir('test_local_lib-XXXXX'); my $dir2 = mk_temp_dir('test_local_lib-XXXXX'); @@ -17,7 +19,6 @@ note $dir1_arch; note $dir2_arch; - my $prev_active = () = local::lib->active_paths; local::lib->import($dir1); @@ -26,7 +27,8 @@ like $ENV{PERL5LIB}, qr/\Q$dir1/, 'added one dir in lib'; note $ENV{PERL5LIB}; unlike $ENV{PERL5LIB}, qr/\Q$dir1_arch/, 'no arch in PERL5LIB'; -like $ENV{PERL_MM_OPT}, qr/\Q$dir1/, 'first path is installation target'; +my $dir1_escape = local::lib::_mm_escape_path($dir1); +like $ENV{PERL_MM_OPT}, qr/\Q$dir1_escape/, 'first path is installation target'; local::lib->import($dir1); is +() = local::lib->active_paths, $prev_active + 1, 'still one active path after adding it twice'; @@ -39,13 +41,14 @@ like $ENV{PERL_LOCAL_LIB_ROOT}, qr/\Q$dir1/, 'first dir is still in root'; like $ENV{PERL5LIB}, qr/\Q$dir1/, 'first dir is still in lib'; unlike $ENV{PERL5LIB}, qr/\Q$dir1_arch/, 'no arch in PERL5LIB'; -like $ENV{PERL_MM_OPT}, qr/\Q$dir2/, 'second path is installation target'; +my $dir2_escape = local::lib::_mm_escape_path($dir2); +like $ENV{PERL_MM_OPT}, qr/\Q$dir2_escape/, 'second path is installation target'; local::lib->import($dir1); my @active = local::lib->active_paths; is @active, $prev_active + 2, 'still two active dirs after re-adding first'; -is $active[-1], $dir1, 'first dir was re-added on top'; -like $ENV{PERL_MM_OPT}, qr/\Q$dir1/, 'first path is installation target again'; +is $active[0], $dir1, 'first dir was re-added on top'; +like $ENV{PERL_MM_OPT}, qr/\Q$dir1_escape/, 'first path is installation target again'; local::lib->import('--deactivate', $dir2); unlike $ENV{PERL_LOCAL_LIB_ROOT}, qr/\Q$dir2/, 'second dir was removed from root'; @@ -54,4 +57,4 @@ like $ENV{PERL_LOCAL_LIB_ROOT}, qr/\Q$dir1/, q{first dir didn't go away from root}; like $ENV{PERL5LIB}, qr/\Q$dir1/, q{first dir didn't go away from lib}; unlike $ENV{PERL5LIB}, qr/\Q$dir1_arch/, 'no arch in PERL5LIB'; -like $ENV{PERL_MM_OPT}, qr/\Q$dir1/, 'first dir stays installation target'; +like $ENV{PERL_MM_OPT}, qr/\Q$dir1_escape/, 'first dir stays installation target'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/subroutine-in-inc.t new/local-lib-1.008026/t/subroutine-in-inc.t --- old/local-lib-1.008018/t/subroutine-in-inc.t 2013-09-05 00:14:06.000000000 +0200 +++ new/local-lib-1.008026/t/subroutine-in-inc.t 2013-11-05 19:06:55.000000000 +0100 @@ -1,8 +1,7 @@ -#!/usr/bin/perl -w +use strict; +use warnings FATAL => 'all'; -use Test::More; - -plan qw/no_plan/; +use Test::More tests => 1; use File::Spec; use Cwd; @@ -17,9 +16,9 @@ BEGIN { $base = CODE_in_INC; - unshift @INC, sub { }; - splice @INC, 3, 1, sub { }; - push @INC, sub { }; + unshift @INC, sub { () }; + splice @INC, 3, 1, sub { () }; + push @INC, sub { () }; $dir = tempdir( DIR => Cwd::abs_path('t'), CLEANUP => 1 ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/local-lib-1.008018/t/taint-mode.t new/local-lib-1.008026/t/taint-mode.t --- old/local-lib-1.008018/t/taint-mode.t 2013-09-15 21:36:46.000000000 +0200 +++ new/local-lib-1.008026/t/taint-mode.t 2013-11-02 20:01:06.000000000 +0100 @@ -22,18 +22,17 @@ # local lib to the same temp dir. my ($fh, $filename) = tempfile('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), UNLINK => 1); -# escape backlslashes for embedding into generated script -$dir1 =~ s/\\/\\\\/g; - print $fh <<EOM; #!/usr/bin/perl -T use strict; use warnings; -use local::lib '$dir1'; -warn 'using lib dir $dir1', "\n"; -my \$dir = '$dir1'; -if (grep { m{^\\Q\$dir\\E/} } \@INC) { +use local::lib (); +my \$dir = "\Q$dir1\E"; +local::lib->import(\$dir); +warn "using lib dir \$dir\\n"; +if (grep { m{^\\Q\$dir} } \@INC) { exit 0; } +warn '\@INC is: ', join("\\n", \@INC), "\\n"; exit 1 EOM close $fh; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
