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 - [email protected]
+
+- 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to