Hello community, here is the log from the commit of package perl-Role-Tiny for openSUSE:Factory checked in at 2013-10-06 14:56:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Role-Tiny (Old) and /work/SRC/openSUSE:Factory/.perl-Role-Tiny.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Role-Tiny" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Role-Tiny/perl-Role-Tiny.changes 2013-07-29 17:50:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Role-Tiny.new/perl-Role-Tiny.changes 2013-10-06 14:56:02.000000000 +0200 @@ -1,0 +2,8 @@ +Fri Oct 4 09:13:59 UTC 2013 - [email protected] + +- updated to 1.003002 + - abbreviate generated package names if they are longer than perl can handle + (RT#83248) + - add explicit dependency on the version of Exporter that added 'import' + +------------------------------------------------------------------- Old: ---- Role-Tiny-1.003001.tar.gz New: ---- Role-Tiny-1.003002.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Role-Tiny.spec ++++++ --- /var/tmp/diff_new_pack.UW7QIk/_old 2013-10-06 14:56:02.000000000 +0200 +++ /var/tmp/diff_new_pack.UW7QIk/_new 2013-10-06 14:56:02.000000000 +0200 @@ -17,7 +17,7 @@ Name: perl-Role-Tiny -Version: 1.003001 +Version: 1.003002 Release: 0 %define cpan_name Role-Tiny Summary: Roles. Like a nouvelle cuisine portion size slice of Moose. ++++++ Role-Tiny-1.003001.tar.gz -> Role-Tiny-1.003002.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-1.003001/Changes new/Role-Tiny-1.003002/Changes --- old/Role-Tiny-1.003001/Changes 2013-07-15 05:59:09.000000000 +0200 +++ new/Role-Tiny-1.003002/Changes 2013-09-05 05:46:05.000000000 +0200 @@ -1,7 +1,14 @@ -1.003001 - 2013-07-14 +Revision history for Role-Tiny + +1.003002 2013-09-04 + - abbreviate generated package names if they are longer than perl can handle + (RT#83248) + - add explicit dependency on the version of Exporter that added 'import' + +1.003001 2013-07-14 - fix test accidentally requiring Class::Method::Modifiers -1.003000 - 2013-07-14 +1.003000 2013-07-14 - allow composing roles simultaneously that mutually require each other (RT#82711) - Fix _concrete_methods_of returning non-CODE entries @@ -10,67 +17,67 @@ - add is_role method for checking if a given package is a role - drop minimum perl version - code tests just fine on 5.6.1 and 5.6.2 -1.002005 - 2013-02-01 +1.002005 2013-02-01 - complain loudly if Class::Method::Modifiers is too old (and skip tests) - don't use $_ as loop variable when calling arbitrary code -1.002004 - 2012-11-02 +1.002004 2012-11-02 - remove accidentally-introduced strictures.pm usage -1.002003 - 2012-10-29 +1.002003 2012-10-29 - fix method modifier breakage on 5.10.0 -1.002002 - 2012-10-28 +1.002002 2012-10-28 - skip t/around-does.t when Class::Method::Modifiers is not installed (RT#80310) -1.002001 - 2012-10-26 +1.002001 2012-10-26 - t/does-Moo.t moved to 'xt' (RT#80290) - don't die when looking for 'DOES' on perl < 5.10 (RT#80402) -1.002000 - 2012-10-19 +1.002000 2012-10-19 - load class in addition to roles when using create_class_from_roles - fix module name in Makefile.PL (RT#78591) - when classes consume roles, override their DOES method (RT#79747) - method modifiers can be used for 'does' and 'DOES' -1.001005 - 2012-07-18 +1.001005 2012-07-18 - localize UNIVERSAL::can change to avoid confusing TB2 - properly report roles consumed by superclasses -1.001004 - 2012-07-12 +1.001004 2012-07-12 - remove strictures.pm from the test supplied by mmcleric so we install again - when applying runtime roles include roles from original class in new class ( fixes ::does_role checks) -1.001003 - 2012-06-19 +1.001003 2012-06-19 - correctly apply modifiers with role composition - check for conflicts during role-to-object application (test from mmcleric) - add an explicit return to all exported subs so people don't accidentally rely on the return value - store coderefs as well as their refaddrs to protect against crazy -1.001002 - 2012-05-05 +1.001002 2012-05-05 - alter duplication test to not provoke Class::Method::Modifiers loading -1.001001 - 2012-04-27 +1.001001 2012-04-27 - remove strictures from one last test file -1.001000 - 2012-04-27 +1.001000 2012-04-27 - Documentation improvements, no code changes -1.000_901 - 2012-04-12 +1.000_901 2012-04-12 - Fix MANIFEST inclusion of Role::Basic composition -1.000_900 - 2012-04-11 +1.000_900 2012-04-11 - Add composition with tests stolen from Role::Basic -1.000001 - 2012-04-03 +1.000001 2012-04-03 - Document that Class::Method::Modifiers must be depended on separately - Update tests so that they skip correctly without C::M::M - Add a SEE ALSO section -1.000000 - 2012-03-29 +1.000000 2012-03-29 - Remove redundant code in create_class_with_roles - Minor doc fix to does_role - Split Role::Tiny out into its own dist @@ -87,25 +94,25 @@ - Explicitly require Role::Tiny in Role::Tiny::With (RT#70446) - Fix spurious 'once' warnings under perl -w -0.009013 - 2011-12-23 +0.009013 2011-12-23 - fix up Class::XSAccessor version check to be more robust - improved documentation - fix failures on perls < 5.8.3 - fix test failures on cygwin -0.009012 - 2011-11-15 +0.009012 2011-11-15 - make Method::Generate::Constructor handle $obj->new - fix bug where constants containing a reference weren't handled correctly (ref(\[]) is 'REF' not 'SCALAR', ref(\v1) is 'VSTRING') -0.009011 - 2011-10-03 +0.009011 2011-10-03 - add support for DEMOLISH - add support for BUILDARGS -0.009010 - 2011-07-20 +0.009010 2011-07-20 - missing new files for Role::Tiny::With -0.009009 - 2011-07-20 +0.009009 2011-07-20 - remove the big scary warning because we seem to be mostly working now - perl based getter dies if @_ > 1 (XSAccessor already did) - add Role::Tiny::With for use in classes @@ -113,14 +120,14 @@ subclasses with a BUILD method but no attributes get it honoured - add coerce handling -0.009008 - 2011-06-03 +0.009008 2011-06-03 - transfer fix to _load_module to Role::Tiny and make a note it's an inline - Bring back 5.8.1 compat -0.009007 - 2011-02-25 +0.009007 2011-02-25 - I botched the copyright. re-disting. -0.009006 - 2011-02-25 +0.009006 2011-02-25 - handle non-lazy default and builder when init_arg is undef - add copyright and license info for downstream packagers - weak ref checking for Sub::Quote to avoid bugs on refaddr reuse diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-1.003001/MANIFEST new/Role-Tiny-1.003002/MANIFEST --- old/Role-Tiny-1.003001/MANIFEST 2013-07-15 05:59:27.000000000 +0200 +++ new/Role-Tiny-1.003002/MANIFEST 2013-09-05 05:46:18.000000000 +0200 @@ -25,6 +25,7 @@ t/role-basic/lib/TestMethods.pm t/role-basic/lib/Try/Tiny.pm t/role-duplication.t +t/role-long-package-name.t t/role-tiny-composition.t t/role-tiny-with.t t/role-tiny.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-1.003001/META.json new/Role-Tiny-1.003002/META.json --- old/Role-Tiny-1.003001/META.json 2013-07-15 05:59:27.000000000 +0200 +++ new/Role-Tiny-1.003002/META.json 2013-09-05 05:46:17.000000000 +0200 @@ -4,7 +4,7 @@ "mst - Matt S. Trout (cpan:MSTROUT) <[email protected]>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.131560", + "generated_by" : "ExtUtils::MakeMaker version 6.74, CPAN::Meta::Converter version 2.120921", "license" : [ "perl_5" ], @@ -27,20 +27,23 @@ "Test::More" : "0.96" } }, - "configure" : { + "runtime" : { "requires" : { - "ExtUtils::MakeMaker" : "0" + "Exporter" : "5.57" } - }, - "runtime" : { - "requires" : {} } }, "release_status" : "stable", "resources" : { + "bugtracker" : { + "mailto" : "[email protected]", + "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=Role-Tiny" + }, "repository" : { - "url" : "git://git.shadowcat.co.uk/gitmo/Role-Tiny.git" + "type" : "git", + "url" : "git://git.shadowcat.co.uk/gitmo/Role-Tiny.git", + "web" : "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo/Role-Tiny.git" } }, - "version" : "1.003001" + "version" : "1.003002" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-1.003001/META.yml new/Role-Tiny-1.003002/META.yml --- old/Role-Tiny-1.003001/META.yml 2013-07-15 05:59:27.000000000 +0200 +++ new/Role-Tiny-1.003002/META.yml 2013-09-05 05:46:17.000000000 +0200 @@ -5,10 +5,8 @@ build_requires: Test::Fatal: 0.003 Test::More: 0.96 -configure_requires: - ExtUtils::MakeMaker: 0 dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.131560' +generated_by: 'ExtUtils::MakeMaker version 6.74, CPAN::Meta::Converter version 2.120921' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -19,7 +17,9 @@ - t - inc - xt -requires: {} +requires: + Exporter: 5.57 resources: + bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Role-Tiny repository: git://git.shadowcat.co.uk/gitmo/Role-Tiny.git -version: 1.003001 +version: 1.003002 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-1.003001/Makefile.PL new/Role-Tiny-1.003002/Makefile.PL --- old/Role-Tiny-1.003001/Makefile.PL 2013-07-11 13:42:21.000000000 +0200 +++ new/Role-Tiny-1.003002/Makefile.PL 2013-09-05 00:16:25.000000000 +0200 @@ -10,27 +10,36 @@ ); # have to do this since old EUMM dev releases miss the eval $VERSION line -my $mymeta_works = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.5707 }; +my $mymeta = eval($ExtUtils::MakeMaker::VERSION) >= 6.57_02; +my $mymeta_works = eval($ExtUtils::MakeMaker::VERSION) >= 6.57_07; WriteMakefile( NAME => 'Role::Tiny', VERSION_FROM => 'lib/Role/Tiny.pm', PREREQ_PM => { + Exporter => '5.57', ($] >= 5.010 ? () : ('MRO::Compat' => 0)), ($mymeta_works ? () : (%BUILD_DEPS)), }, $mymeta_works ? (BUILD_REQUIRES => \%BUILD_DEPS) : (), + ($mymeta && !$mymeta_works ? (NO_MYMETA => 1) : ()), - META_ADD => { + -f 'META.yml' ? () : (META_MERGE => { + 'meta-spec' => { version => 2 }, + no_index => { + directory => [ 'xt' ] + }, resources => { # r/w: [email protected]:Role-Tiny.git - repository => 'git://git.shadowcat.co.uk/gitmo/Role-Tiny.git', + repository => { + url => 'git://git.shadowcat.co.uk/gitmo/Role-Tiny.git', + web => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo/Role-Tiny.git', + type => 'git', + }, + bugtracker => { + mailto => '[email protected]', + web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Role-Tiny', + }, }, - }, - - META_MERGE => { - no_index => { - directory => [ 'xt' ] - } - }, + }), ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-1.003001/lib/Role/Tiny.pm new/Role-Tiny-1.003002/lib/Role/Tiny.pm --- old/Role-Tiny-1.003001/lib/Role/Tiny.pm 2013-07-15 05:57:57.000000000 +0200 +++ new/Role-Tiny-1.003002/lib/Role/Tiny.pm 2013-09-05 05:34:37.000000000 +0200 @@ -6,7 +6,7 @@ use strict; use warnings FATAL => 'all'; -our $VERSION = '1.003001'; # 1.3.1 +our $VERSION = '1.003002'; # 1.3.2 $VERSION = eval $VERSION; our %INFO; @@ -104,6 +104,21 @@ $object; } +my $role_suffix = 'A000'; +sub _composite_name { + my ($me, $superclass, @roles) = @_; + + my $new_name = join( + '__WITH__', $superclass, my $compose_name = join '__AND__', @roles + ); + + if (length($new_name) > 252) { + $new_name = $COMPOSED{abbrev}{$new_name} + ||= substr($new_name, 0, 250 - length $role_suffix).'__'.$role_suffix++; + } + return wantarray ? ($new_name, $compose_name) : $new_name; +} + sub create_class_with_roles { my ($me, $superclass, @roles) = @_; @@ -118,9 +133,7 @@ } } - my $new_name = join( - '__WITH__', $superclass, my $compose_name = join '__AND__', @roles - ); + my ($new_name, $compose_name) = $me->_composite_name($superclass, @roles); return $new_name if $COMPOSED{class}{$new_name}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-1.003001/maint/Makefile.PL.include new/Role-Tiny-1.003002/maint/Makefile.PL.include --- old/Role-Tiny-1.003001/maint/Makefile.PL.include 2013-01-19 02:20:25.000000000 +0100 +++ new/Role-Tiny-1.003002/maint/Makefile.PL.include 2013-09-03 20:57:26.000000000 +0200 @@ -1,6 +1,7 @@ BEGIN { -e 'Distar' or system("git clone git://git.shadowcat.co.uk/p5sagit/Distar.git") } use lib 'Distar/lib'; use Distar; +use ExtUtils::MakeMaker 6.68 (); author 'mst - Matt S. Trout (cpan:MSTROUT) <[email protected]>'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-1.003001/t/role-long-package-name.t new/Role-Tiny-1.003002/t/role-long-package-name.t --- old/Role-Tiny-1.003001/t/role-long-package-name.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Role-Tiny-1.003002/t/role-long-package-name.t 2013-08-29 15:01:37.000000000 +0200 @@ -0,0 +1,42 @@ +use strict; +use warnings; +use Test::More; + +# using Role::Tiny->apply_roles_to_object with too many roles, +# It makes 'Identifier too long' error in string 'eval'. +# And, Moo uses string eval. +{ + package R::AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA; + use Role::Tiny; + package R::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB; + use Role::Tiny; + package R::CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC; + use Role::Tiny; + package R::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD; + use Role::Tiny; + package R::EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE; + use Role::Tiny; +} + +{ + package Foo; + sub new { bless {}, shift } +} + +my $foo = Foo->new(); +for (qw( + R::AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + R::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + R::CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC + R::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + R::EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +)) { + Role::Tiny->apply_roles_to_object($foo, $_); +} + +my $pkg = ref $foo; +note $pkg; +eval "package $pkg;"; +ok(!$@) or diag $@; + +done_testing; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
