Hello community,

here is the log from the commit of package perl-Role-Tiny for openSUSE:Factory 
checked in at 2017-11-12 17:55:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Role-Tiny (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Role-Tiny.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Role-Tiny"

Sun Nov 12 17:55:57 2017 rev:13 rq:539945 version:2.000006

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Role-Tiny/perl-Role-Tiny.changes    
2016-11-13 23:02:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Role-Tiny.new/perl-Role-Tiny.changes       
2017-11-12 17:55:58.390747183 +0100
@@ -1,0 +2,10 @@
+Wed Nov  8 06:55:45 UTC 2017 - co...@suse.com
+
+- updated to 2.000006
+   see /usr/share/doc/packages/perl-Role-Tiny/Changes
+
+  2.000006 - 2017-11-08
+    - account for code references stored directly in stash (for perl 5.28)
+    - work around hint leakage when loading modules in perl 5.8 and 5.10.1
+
+-------------------------------------------------------------------

Old:
----
  Role-Tiny-2.000005.tar.gz

New:
----
  Role-Tiny-2.000006.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Role-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.sSJg2j/_old  2017-11-12 17:55:58.974725913 +0100
+++ /var/tmp/diff_new_pack.sSJg2j/_new  2017-11-12 17:55:58.974725913 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Role-Tiny
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,14 @@
 
 
 Name:           perl-Role-Tiny
-Version:        2.000005
+Version:        2.000006
 Release:        0
 %define cpan_name Role-Tiny
 Summary:        Roles. Like a nouvelle cuisine portion size slice of Moose
 License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/Role-Tiny/
-Source0:        
http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
+Source0:        
https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ Role-Tiny-2.000005.tar.gz -> Role-Tiny-2.000006.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000005/Changes 
new/Role-Tiny-2.000006/Changes
--- old/Role-Tiny-2.000005/Changes      2016-11-01 15:10:44.000000000 +0100
+++ new/Role-Tiny-2.000006/Changes      2017-11-08 02:03:15.000000000 +0100
@@ -1,5 +1,9 @@
 Revision history for Role-Tiny
 
+2.000006 - 2017-11-08
+  - account for code references stored directly in stash (for perl 5.28)
+  - work around hint leakage when loading modules in perl 5.8 and 5.10.1
+
 2.000005 - 2016-11-01
   - revert change to MRO::Compat usage
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000005/META.json 
new/Role-Tiny-2.000006/META.json
--- old/Role-Tiny-2.000005/META.json    2016-11-01 15:10:55.000000000 +0100
+++ new/Role-Tiny-2.000006/META.json    2017-11-08 02:03:29.000000000 +0100
@@ -10,7 +10,7 @@
    ],
    "meta-spec" : {
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : "2"
+      "version" : 2
    },
    "name" : "Role-Tiny",
    "no_index" : {
@@ -60,6 +60,6 @@
       },
       "x_IRC" : "irc://irc.perl.org/#moose"
    },
-   "version" : "2.000005",
-   "x_serialization_backend" : "JSON::PP version 2.27300"
+   "version" : "2.000006",
+   "x_serialization_backend" : "JSON::PP version 2.94"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000005/META.yml 
new/Role-Tiny-2.000006/META.yml
--- old/Role-Tiny-2.000005/META.yml     2016-11-01 15:10:55.000000000 +0100
+++ new/Role-Tiny-2.000006/META.yml     2017-11-08 02:03:29.000000000 +0100
@@ -25,5 +25,5 @@
   bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Role-Tiny
   license: http://dev.perl.org/licenses/
   repository: git://github.com/moose/Role-Tiny.git
-version: '2.000005'
+version: '2.000006'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000005/lib/Role/Tiny/With.pm 
new/Role-Tiny-2.000006/lib/Role/Tiny/With.pm
--- old/Role-Tiny-2.000005/lib/Role/Tiny/With.pm        2016-11-01 
15:10:25.000000000 +0100
+++ new/Role-Tiny-2.000006/lib/Role/Tiny/With.pm        2017-11-08 
02:03:11.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '2.000005';
+our $VERSION = '2.000006';
 $VERSION = eval $VERSION;
 
 use Role::Tiny ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000005/lib/Role/Tiny.pm 
new/Role-Tiny-2.000006/lib/Role/Tiny.pm
--- old/Role-Tiny-2.000005/lib/Role/Tiny.pm     2016-11-01 15:10:25.000000000 
+0100
+++ new/Role-Tiny-2.000006/lib/Role/Tiny.pm     2017-11-08 02:03:11.000000000 
+0100
@@ -6,8 +6,8 @@
 use strict;
 use warnings;
 
-our $VERSION = '2.000005';
-$VERSION = eval $VERSION;
+our $VERSION = '2.000006';
+$VERSION =~ tr/_//d;
 
 our %INFO;
 our %APPLIED_TO;
@@ -19,6 +19,9 @@
 
 BEGIN {
   *_WORK_AROUND_BROKEN_MODULE_STATE = "$]" < 5.009 ? sub(){1} : sub(){0};
+  *_WORK_AROUND_HINT_LEAKAGE
+    = "$]" < 5.011 && !("$]" >= 5.009004 && "$]" < 5.010001)
+      ? sub(){1} : sub(){0};
   *_MRO_MODULE = "$]" < 5.010 ? sub(){"MRO/Compat.pm"} : sub(){"mro.pm"};
 }
 
@@ -34,15 +37,19 @@
 }
 
 sub _load_module {
-  (my $proto = $_[0]) =~ s/::/\//g;
-  $proto .= '.pm';
-  return 1 if $INC{$proto};
+  my ($module) = @_;
+  (my $file = "$module.pm") =~ s{::}{/}g;
+  return 1
+    if $INC{$file};
+
   # can't just ->can('can') because a sub-package Foo::Bar::Baz
   # creates a 'Baz::' key in Foo::Bar's symbol table
-  return 1 if grep !/::$/, keys %{_getstash($_[0])||{}};
+  return 1
+    if grep !/::\z/, keys %{_getstash($module)};
   my $guard = _WORK_AROUND_BROKEN_MODULE_STATE
-    && bless([ $proto ], 'Role::Tiny::__GUARD__');
-  require $proto;
+    && bless([ $file ], 'Role::Tiny::__GUARD__');
+  local %^H if _WORK_AROUND_HINT_LEAKAGE;
+  require $file;
   pop @$guard if _WORK_AROUND_BROKEN_MODULE_STATE;
   return 1;
 }
@@ -61,7 +68,7 @@
   # in the symbol table and store their refaddrs (no need to forcibly
   # inflate constant subs into real subs) with a map to the coderefs in
   # case of copying or re-use
-  my @not_methods = (map { *$_{CODE}||() } grep !ref($_), values %$stash);
+  my @not_methods = map +(ref $_ eq 'CODE' ? $_ : ref $_ ? () : 
*$_{CODE}||()), values %$stash;
   @{$INFO{$target}{not_methods}={}}{@not_methods} = @not_methods;
   # a role does itself
   $APPLIED_TO{$target} = { $target => undef };
@@ -349,7 +356,7 @@
       no strict 'refs';
       my $code = exists &{"${role}::$_"} ? \&{"${role}::$_"} : undef;
       ( ! $code or exists $not_methods->{$code} ) ? () : ($_ => $code)
-    } grep !ref($stash->{$_}), keys %$stash
+    } grep +(!ref($stash->{$_}) || ref($stash->{$_}) eq 'CODE'), keys %$stash
   };
 }
 


Reply via email to