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 }; }