Hello community, here is the log from the commit of package perl-Class-Load for openSUSE:Factory checked in at 2012-02-16 16:21:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Class-Load (Old) and /work/SRC/openSUSE:Factory/.perl-Class-Load.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "perl-Class-Load", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Class-Load/perl-Class-Load.changes 2011-11-29 17:17:41.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Class-Load.new/perl-Class-Load.changes 2012-02-16 16:21:36.000000000 +0100 @@ -1,0 +2,26 @@ +Mon Feb 13 08:55:26 UTC 2012 - coolo@suse.com + +- updated to 0.17 + - A bug in Class::Load caused test failures when Module::Runtime 0.012 was + used with Perl 5.8.x. Reported by Zefram. RT#74897. ( Jesse Luehrs ) + + - Require Module::Runtime 0.012, which has a number of useful bug fixes. + + - Small test changes to accomodate latest version of + Module::Implementation. There's no need to upgrade if you're already using + 0.14 + + - Use Module::Implementation to handle loading the XS or PP versions of the + code. Using this module fixes a few bugs. + + - Under taint mode, setting an implementation in the CLASS_LOAD_IMPLEMENTATION + env var caused a taint error. + + - An invalid value in the CLASS_LOAD_IMPLEMENTATION env var is now detected + and reported immediately. No attempt is made to load an invalid + implementation. + + - Fix some bugs with our use of Try::Tiny. This could cause warnings on some + systems with Class::Load::XS wasn't installed. Fixes RT#72345. + +------------------------------------------------------------------- Old: ---- Class-Load-0.12.tar.gz New: ---- Class-Load-0.17.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Class-Load.spec ++++++ --- /var/tmp/diff_new_pack.xrhoYv/_old 2012-02-16 16:21:37.000000000 +0100 +++ /var/tmp/diff_new_pack.xrhoYv/_new 2012-02-16 16:21:37.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-Class-Load # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,45 +16,38 @@ # - Name: perl-Class-Load -Version: 0.12 -Release: 1 -License: GPL-1.0+ or Artistic-1.0 +Version: 0.17 +Release: 0 %define cpan_name Class-Load -Summary: A working (require "Class::Name") and more -Url: http://search.cpan.org/dist/Class-Load/ +Summary: a working (require "Class::Name") and more +License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl -#Source: http://www.cpan.org/authors/id/D/DR/DROLSKY/%{cpan_name}-%{version}.tar.gz -Source: %{cpan_name}-%{version}.tar.gz +Url: http://search.cpan.org/dist/Class-Load/ +Source: http://www.cpan.org/authors/id/D/DR/DROLSKY/%{cpan_name}-%{version}.tar.gz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Data::OptList) -BuildRequires: perl(ExtUtils::MakeMaker) >= 6.30 -BuildRequires: perl(Module::Runtime) >= 0.011 -BuildRequires: perl(Package::Stash) >= 0.32 -BuildRequires: perl(Scalar::Util) +BuildRequires: perl(Module::Implementation) >= 0.04 +BuildRequires: perl(Module::Runtime) >= 0.012 +BuildRequires: perl(Package::Stash) BuildRequires: perl(Test::Fatal) BuildRequires: perl(Test::More) >= 0.88 +BuildRequires: perl(Test::Requires) BuildRequires: perl(Try::Tiny) -#BuildRequires: perl(Carp) +BuildRequires: perl(version) #BuildRequires: perl(Class::Load) #BuildRequires: perl(Class::Load::PP) #BuildRequires: perl(Class::Load::VersionCheck) -#BuildRequires: perl(constant) -#BuildRequires: perl(Exporter) #BuildRequires: perl(Test::Class::Load) -#BuildRequires: perl(Test::Requires) #BuildRequires: perl(Test::Spelling) -#BuildRequires: perl(version) +#BuildRequires: perl(Test::Without::Module) Requires: perl(Data::OptList) -Requires: perl(Module::Runtime) >= 0.011 -Requires: perl(Package::Stash) >= 0.32 -Requires: perl(Scalar::Util) -Requires: perl(Test::Fatal) -Requires: perl(Test::More) >= 0.88 +Requires: perl(Module::Implementation) >= 0.04 +Requires: perl(Module::Runtime) >= 0.012 +Requires: perl(Package::Stash) Requires: perl(Try::Tiny) %{perl_requires} ++++++ Class-Load-0.12.tar.gz -> Class-Load-0.17.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/Changes new/Class-Load-0.17/Changes --- old/Class-Load-0.12/Changes 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/Changes 2012-02-12 23:28:17.000000000 +0100 @@ -1,3 +1,37 @@ +0.17 2012-02-12 + +- A bug in Class::Load caused test failures when Module::Runtime 0.012 was + used with Perl 5.8.x. Reported by Zefram. RT #74897. ( Jesse Luehrs ) + + +0.16 2012-02-12 + +- Require Module::Runtime 0.012, which has a number of useful bug fixes. + + +0.15 2012-02-08 + +- Small test changes to accomodate latest version of + Module::Implementation. There's no need to upgrade if you're already using + 0.14 + +0.14 2012-02-06 + +- Use Module::Implementation to handle loading the XS or PP versions of the + code. Using this module fixes a few bugs. + +- Under taint mode, setting an implementation in the CLASS_LOAD_IMPLEMENTATION + env var caused a taint error. + +- An invalid value in the CLASS_LOAD_IMPLEMENTATION env var is now detected + and reported immediately. No attempt is made to load an invalid + implementation. + +0.13 2011-12-22 + +- Fix some bugs with our use of Try::Tiny. This could cause warnings on some + systems with Class::Load::XS wasn't installed. Fixes RT #72345. + 0.12 2011-10-25 - Depend on Module::Runtime 0.011+. This fixes problems with Catalyst under diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/LICENSE new/Class-Load-0.17/LICENSE --- old/Class-Load-0.12/LICENSE 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/LICENSE 2012-02-12 23:28:17.000000000 +0100 @@ -1,4 +1,4 @@ -This software is copyright (c) 2011 by Shawn M Moore. +This software is copyright (c) 2012 by Shawn M Moore. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2011 by Shawn M Moore. +This software is Copyright (c) 2012 by Shawn M Moore. This is free software, licensed under: @@ -272,7 +272,7 @@ --- The Artistic License 1.0 --- -This software is Copyright (c) 2011 by Shawn M Moore. +This software is Copyright (c) 2012 by Shawn M Moore. This is free software, licensed under: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/MANIFEST new/Class-Load-0.17/MANIFEST --- old/Class-Load-0.12/MANIFEST 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/MANIFEST 2012-02-12 23:28:17.000000000 +0100 @@ -20,6 +20,8 @@ t/008-gvstash-bug.t t/009-invalid-module-name.t t/010-isa-false-positive.t +t/011-without-xs.t +t/012-without-implementation.t t/lib/Class/Load/Error/DieAfterBeginIsa.pm t/lib/Class/Load/Error/DieAfterIsa.pm t/lib/Class/Load/Error/SyntaxErrorAfterIsa.pm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/META.json new/Class-Load-0.17/META.json --- old/Class-Load-0.12/META.json 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/META.json 2012-02-12 23:28:17.000000000 +0100 @@ -4,7 +4,7 @@ "Shawn M Moore <sartak at bestpractical.com>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 4.300002, CPAN::Meta::Converter version 2.112150", + "generated_by" : "Dist::Zilla version 4.300006, CPAN::Meta::Converter version 2.113640", "license" : [ "perl_5" ], @@ -21,17 +21,26 @@ }, "runtime" : { "requires" : { + "Carp" : 0, "Data::OptList" : 0, - "Module::Runtime" : "0.011", - "Package::Stash" : "0.32", + "Exporter" : 0, + "Module::Implementation" : "0.04", + "Module::Runtime" : "0.012", + "Package::Stash" : 0, "Scalar::Util" : 0, - "Try::Tiny" : 0 + "Try::Tiny" : 0, + "base" : 0, + "strict" : 0, + "warnings" : 0 } }, "test" : { "requires" : { "Test::Fatal" : 0, - "Test::More" : "0.88" + "Test::More" : "0.88", + "Test::Requires" : 0, + "constant" : 0, + "version" : 0 } } }, @@ -47,6 +56,6 @@ "web" : "https://github.com/autarch/class-load" } }, - "version" : "0.12" + "version" : "0.17" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/META.yml new/Class-Load-0.17/META.yml --- old/Class-Load-0.12/META.yml 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/META.yml 2012-02-12 23:28:17.000000000 +0100 @@ -5,22 +5,31 @@ build_requires: Test::Fatal: 0 Test::More: 0.88 + Test::Requires: 0 + constant: 0 + version: 0 configure_requires: ExtUtils::MakeMaker: 6.30 dynamic_config: 0 -generated_by: 'Dist::Zilla version 4.300002, CPAN::Meta::Converter version 2.112150' +generated_by: 'Dist::Zilla version 4.300006, CPAN::Meta::Converter version 2.113640' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: Class-Load requires: + Carp: 0 Data::OptList: 0 - Module::Runtime: 0.011 - Package::Stash: 0.32 + Exporter: 0 + Module::Implementation: 0.04 + Module::Runtime: 0.012 + Package::Stash: 0 Scalar::Util: 0 Try::Tiny: 0 + base: 0 + strict: 0 + warnings: 0 resources: bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class-Load repository: git://github.com/autarch/class-load.git -version: 0.12 +version: 0.17 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/Makefile.PL new/Class-Load-0.17/Makefile.PL --- old/Class-Load-0.12/Makefile.PL 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/Makefile.PL 2012-02-12 23:28:17.000000000 +0100 @@ -13,7 +13,10 @@ "AUTHOR" => "Shawn M Moore <sartak at bestpractical.com>", "BUILD_REQUIRES" => { "Test::Fatal" => 0, - "Test::More" => "0.88" + "Test::More" => "0.88", + "Test::Requires" => 0, + "constant" => 0, + "version" => 0 }, "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => "6.30" @@ -23,13 +26,19 @@ "LICENSE" => "perl", "NAME" => "Class::Load", "PREREQ_PM" => { + "Carp" => 0, "Data::OptList" => 0, - "Module::Runtime" => "0.011", - "Package::Stash" => "0.32", + "Exporter" => 0, + "Module::Implementation" => "0.04", + "Module::Runtime" => "0.012", + "Package::Stash" => 0, "Scalar::Util" => 0, - "Try::Tiny" => 0 + "Try::Tiny" => 0, + "base" => 0, + "strict" => 0, + "warnings" => 0 }, - "VERSION" => "0.12", + "VERSION" => "0.17", "test" => { "TESTS" => "t/*.t" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/README new/Class-Load-0.17/README --- old/Class-Load-0.12/README 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/README 2012-02-12 23:28:17.000000000 +0100 @@ -1,11 +1,11 @@ This archive contains the distribution Class-Load, -version 0.12: +version 0.17: a working (require "Class::Name") and more -This software is copyright (c) 2011 by Shawn M Moore. +This software is copyright (c) 2012 by Shawn M Moore. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/dist.ini new/Class-Load-0.17/dist.ini --- old/Class-Load-0.12/dist.ini 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/dist.ini 2012-02-12 23:28:17.000000000 +0100 @@ -3,7 +3,7 @@ license = Perl_5 copyright_holder = Shawn M Moore -version = 0.12 +version = 0.17 [NextRelease] format = %-8v %{yyyy-MM-dd}d @@ -25,23 +25,18 @@ [PkgVersion] [EOLTests] +[NoTabsTests] [PodSyntaxTests] +[Test::CPAN::Changes] [Test::Pod::LinkCheck] [Test::Pod::No404s] -[NoTabsTests] -[Test::CPAN::Changes] [CheckChangeLog] -[Prereqs] -Data::OptList = 0 -Package::Stash = 0.32 -Scalar::Util = 0 -Try::Tiny = 0 -Module::Runtime = 0.011 - -[Prereqs / TestRequires] -Test::Fatal = 0 -Test::More = 0.88 +[AutoPrereqs] +skip = Test::Spelling +skip = Test::Without::Module + +[CheckPrereqsIndexed] [@Git] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/lib/Class/Load/PP.pm new/Class-Load-0.17/lib/Class/Load/PP.pm --- old/Class-Load-0.12/lib/Class/Load/PP.pm 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/lib/Class/Load/PP.pm 2012-02-12 23:28:17.000000000 +0100 @@ -1,6 +1,6 @@ package Class::Load::PP; { - $Class::Load::PP::VERSION = '0.12'; + $Class::Load::PP::VERSION = '0.17'; } use strict; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/lib/Class/Load.pm new/Class-Load-0.17/lib/Class/Load.pm --- old/Class-Load-0.12/lib/Class/Load.pm 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/lib/Class/Load.pm 2012-02-12 23:28:17.000000000 +0100 @@ -1,53 +1,28 @@ package Class::Load; { - $Class::Load::VERSION = '0.12'; + $Class::Load::VERSION = '0.17'; } use strict; use warnings; use base 'Exporter'; use Data::OptList 'mkopt'; -use Module::Runtime qw(check_module_name module_notional_filename - require_module use_module); +use Module::Implementation 0.04; +use Module::Runtime 0.012 qw( + check_module_name + module_notional_filename + require_module + use_module +); use Package::Stash; use Try::Tiny; -our $IMPLEMENTATION; - -BEGIN { - $IMPLEMENTATION = $ENV{CLASS_LOAD_IMPLEMENTATION} - if exists $ENV{CLASS_LOAD_IMPLEMENTATION}; - - my $err; - if ($IMPLEMENTATION) { - if (!try { require_module("Class::Load::$IMPLEMENTATION") }) { - require Carp; - Carp::croak("Could not load Class::Load::$IMPLEMENTATION: $@"); - } - } - else { - for my $impl ('XS', 'PP') { - if (try { require_module("Class::Load::$impl") }) { - $IMPLEMENTATION = $impl; - last; - } - else { - $err .= $@; - } - } - } - - if (!$IMPLEMENTATION) { - require Carp; - Carp::croak("Could not find a suitable Class::Load implementation: $err"); - } - - my $impl = "Class::Load::$IMPLEMENTATION"; - my $stash = Package::Stash->new(__PACKAGE__); - $stash->add_symbol('&is_class_loaded' => $impl->can('is_class_loaded')); +{ + my $loader = Module::Implementation::build_loader_sub( + implementations => [ 'XS', 'PP' ], + symbols => ['is_class_loaded'], + ); - sub _implementation { - return $IMPLEMENTATION; - } + $loader->(); } our @EXPORT_OK = qw/load_class load_optional_class try_load_class is_class_loaded load_first_existing_class/; @@ -118,6 +93,13 @@ return qr/\Q$name\E version \Q$vers\E required--this is only version/; } +sub _nonexistent_fail_re { + my $name = shift; + + my $file = module_notional_filename($name); + return qr/Can't locate \Q$file\E in \@INC/; +} + sub _or_list { return $_[0] if @_ == 1; @@ -145,11 +127,8 @@ && defined $options->{-version} && $e =~ _version_fail_re($class, $options->{-version}); - # My testing says that if its in INC, the file definitely exists - # on disk. In all versions of Perl. The value isn't reliable, - # but it existing is. - my $file = module_notional_filename($class); - return 0 unless exists $INC{$file}; + return 0 + if $e =~ _nonexistent_fail_re($class); _croak($ERROR); } @@ -231,7 +210,7 @@ =head1 VERSION -version 0.12 +version 0.17 =head1 SYNOPSIS @@ -364,7 +343,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2011 by Shawn M Moore. +This software is copyright (c) 2012 by Shawn M Moore. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/t/000-load.t new/Class-Load-0.17/t/000-load.t --- old/Class-Load-0.12/t/000-load.t 2011-10-25 18:11:08.000000000 +0200 +++ new/Class-Load-0.17/t/000-load.t 2012-02-12 23:28:17.000000000 +0100 @@ -5,8 +5,12 @@ use lib 't/lib'; +use Module::Implementation 0.04 (); + use_ok 'Test::Class::Load'; -diag('Using ' . Class::Load->_implementation() . ' implementation' ); +diag( 'Using ' + . Module::Implementation::implementation_for('Class::Load') + . ' implementation' ); done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/t/011-without-xs.t new/Class-Load-0.17/t/011-without-xs.t --- old/Class-Load-0.12/t/011-without-xs.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Class-Load-0.17/t/011-without-xs.t 2012-02-12 23:28:17.000000000 +0100 @@ -0,0 +1,24 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More 0.88; +use Test::Fatal; + +use Test::Requires { + 'Test::Without::Module' => 0, +}; + +use Test::Without::Module 'Class::Load::XS'; + +{ + my @warnings; + local $SIG{__WARN__} = sub { push @warnings, @_ }; + require Class::Load; + + is_deeply( + \@warnings, [], + 'no warning from Class::Load when Class::Load::XS is not available' + ); +} + +done_testing(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-Load-0.12/t/012-without-implementation.t new/Class-Load-0.17/t/012-without-implementation.t --- old/Class-Load-0.12/t/012-without-implementation.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Class-Load-0.17/t/012-without-implementation.t 2012-02-12 23:28:17.000000000 +0100 @@ -0,0 +1,21 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More 0.88; +use Test::Fatal; + +use Test::Requires { + 'Test::Without::Module' => 0, +}; + +use Test::Without::Module qw( Class::Load::PP Class::Load::XS ); + +{ + like( + exception { require Class::Load }, + qr/Class.Load.PP\.pm did not return a true value/, + 'error when loading Class::Load and no implementation is available includes errors from trying to load modules' + ); +} + +done_testing(); -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org