Hello community, here is the log from the commit of package perl-Devel-Confess for openSUSE:Factory checked in at 2015-04-18 10:40:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Devel-Confess (Old) and /work/SRC/openSUSE:Factory/.perl-Devel-Confess.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-Confess" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Devel-Confess/perl-Devel-Confess.changes 2015-02-08 11:43:00.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Devel-Confess.new/perl-Devel-Confess.changes 2015-04-18 10:40:16.000000000 +0200 @@ -1,0 +2,9 @@ +Thu Apr 16 20:03:13 UTC 2015 - co...@suse.com + +- updated to 0.007012 + see /usr/share/doc/packages/perl-Devel-Confess/Changes + + 0.007012 - 2015-03-30 + - avoid re-throwing errors during END on debugging perls + +------------------------------------------------------------------- Old: ---- Devel-Confess-0.007011.tar.gz New: ---- Devel-Confess-0.007012.tar.gz cpanspec.yml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Devel-Confess.spec ++++++ --- /var/tmp/diff_new_pack.CVcZOQ/_old 2015-04-18 10:40:17.000000000 +0200 +++ /var/tmp/diff_new_pack.CVcZOQ/_new 2015-04-18 10:40:17.000000000 +0200 @@ -17,14 +17,15 @@ Name: perl-Devel-Confess -Version: 0.007011 +Version: 0.007012 Release: 0 %define cpan_name Devel-Confess Summary: Include stack traces on all warnings and errors License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/Devel-Confess/ -Source: http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz +Source0: http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl ++++++ Devel-Confess-0.007011.tar.gz -> Devel-Confess-0.007012.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Confess-0.007011/Changes new/Devel-Confess-0.007012/Changes --- old/Devel-Confess-0.007011/Changes 2015-02-03 17:04:01.000000000 +0100 +++ new/Devel-Confess-0.007012/Changes 2015-03-30 22:56:43.000000000 +0200 @@ -1,5 +1,8 @@ Release history for Devel-Confess +0.007012 - 2015-03-30 + - avoid re-throwing errors during END on debugging perls + 0.007011 - 2015-02-03 - avoid triggering overloads when CLONEing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Confess-0.007011/MANIFEST new/Devel-Confess-0.007012/MANIFEST --- old/Devel-Confess-0.007011/MANIFEST 2015-02-03 17:04:24.000000000 +0100 +++ new/Devel-Confess-0.007012/MANIFEST 2015-03-30 22:57:07.000000000 +0200 @@ -10,6 +10,7 @@ t/confess.t t/devel.t t/dump.t +t/end-debugging.t t/global-destruct.t t/leak.t t/lib/capture.pm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Confess-0.007011/META.json new/Devel-Confess-0.007012/META.json --- old/Devel-Confess-0.007011/META.json 2015-02-03 17:04:24.000000000 +0100 +++ new/Devel-Confess-0.007012/META.json 2015-03-30 22:57:07.000000000 +0200 @@ -4,7 +4,7 @@ "haarg - Graham Knop (cpan:HAARG) <ha...@haarg.org>" ], "dynamic_config" : 0, - "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.142690", + "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.143240", "license" : [ "perl_5" ], @@ -65,5 +65,5 @@ "web" : "https://github.com/haarg/Devel-Confess" } }, - "version" : "0.007011" + "version" : "0.007012" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Confess-0.007011/META.yml new/Devel-Confess-0.007012/META.yml --- old/Devel-Confess-0.007011/META.yml 2015-02-03 17:04:24.000000000 +0100 +++ new/Devel-Confess-0.007012/META.yml 2015-03-30 22:57:07.000000000 +0200 @@ -8,7 +8,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 0 -generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.142690' +generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.143240' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -26,4 +26,4 @@ bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Devel-Confess license: http://dev.perl.org/licenses/ repository: git://github.com/haarg/Devel-Confess -version: '0.007011' +version: '0.007012' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Confess-0.007011/lib/Devel/Confess/Builtin.pm new/Devel-Confess-0.007012/lib/Devel/Confess/Builtin.pm --- old/Devel-Confess-0.007011/lib/Devel/Confess/Builtin.pm 2015-02-03 17:03:35.000000000 +0100 +++ new/Devel-Confess-0.007012/lib/Devel/Confess/Builtin.pm 2015-03-30 22:56:34.000000000 +0200 @@ -3,7 +3,7 @@ use warnings FATAL => 'all'; no warnings 'once'; -our $VERSION = '0.007011'; +our $VERSION = '0.007012'; $VERSION = eval $VERSION; use Devel::Confess::_Util (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Confess-0.007011/lib/Devel/Confess/_Util.pm new/Devel-Confess-0.007012/lib/Devel/Confess/_Util.pm --- old/Devel-Confess-0.007011/lib/Devel/Confess/_Util.pm 2015-01-26 05:27:39.000000000 +0100 +++ new/Devel-Confess-0.007012/lib/Devel/Confess/_Util.pm 2015-03-30 20:53:22.000000000 +0200 @@ -6,7 +6,7 @@ use base 'Exporter'; -our @EXPORT = qw(blessed refaddr weaken longmess _str_val); +our @EXPORT = qw(blessed refaddr weaken longmess _str_val _in_END); use Carp (); use Carp::Heavy (); @@ -97,20 +97,55 @@ { if (defined ${^GLOBAL_PHASE}) { eval q{ - sub _global_destruction () { ${^GLOBAL_PHASE} eq q[DESTRUCT] }; + sub _global_destruction () { ${^GLOBAL_PHASE} eq q[DESTRUCT] } + sub _in_END () { ${^GLOBAL_PHASE} eq "END" } 1; } or die $@; } else { eval q{ - our $gd; + # this is slightly a lie, but accurate enough for our purposes + our $global_phase = 'RUN'; + sub _global_destruction () { - if (!$gd) { - local $SIG{__WARN__} = sub { $gd = $_[0] =~ /global destruction\.\n\z/ }; + if ($global_phase ne 'DESTRUCT') { + local $SIG{__WARN__} = sub { + $global_phase = 'DESTRUCT' if $_[0] =~ /global destruction\.\n\z/ + }; warn 1; } - $gd; + $global_phase eq 'DESTRUCT'; + } + + sub _in_END () { + if ($global_phase eq 'RUN' && $^S) { + # END blocks are FILO so we can't install one to run first. + # only way to detect END reliably seems to be by using caller. + # I hate this but it seems to be the best available option. + # The top two frames will be an eval and the END block. + my $i; + 1 while CORE::caller(++$i); + if ($i > 2) { + my @top = CORE::caller($i - 1); + my @next = CORE::caller($i - 2); + if ( + $top[3] eq '(eval)' + && $next[3] =~ /::END$/ + && $top[2] == $next[2] + && $top[1] eq $next[1] + && $top[0] eq 'main' + && $next[0] eq 'main' + ) { + $global_phase = 'END'; + } + } + } + $global_phase eq 'END'; + } + END { + $global_phase = 'END'; } + 1; } or die $@; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Confess-0.007011/lib/Devel/Confess.pm new/Devel-Confess-0.007012/lib/Devel/Confess.pm --- old/Devel-Confess-0.007011/lib/Devel/Confess.pm 2015-02-03 17:03:35.000000000 +0100 +++ new/Devel-Confess-0.007012/lib/Devel/Confess.pm 2015-03-30 22:56:34.000000000 +0200 @@ -9,25 +9,35 @@ } *_CAN_USE_INFORMATIVE_NAMES = $can_use_informative_names ? sub () { 1 } : sub () { 0 }; - *_BROKEN_CLONED_DESTROY_REBLESS - = ($] >= 5.008009 && $] < 5.010000) ? sub () { 1 } : sub () { 0 }; - *_BROKEN_CLONED_GLOB_UNDEF - = ($] > 5.008009 && $] <= 5.010000) ? sub () { 1 } : sub () { 0 }; - *_BROKEN_SIG_DELETE - = ($] < 5.008008) ? sub () { 1 } : sub () { 0 }; } use 5.006; use strict; use warnings; +no warnings 'once'; -our $VERSION = '0.007011'; +our $VERSION = '0.007012'; $VERSION = eval $VERSION; use Carp (); use Symbol (); -use Devel::Confess::_Util qw(blessed refaddr weaken longmess _str_val); -BEGIN { *_can = \&UNIVERSAL::can; } +use Devel::Confess::_Util qw(blessed refaddr weaken longmess _str_val _in_END); +use Config (); +BEGIN { + *_can = \&UNIVERSAL::can; + + *_BROKEN_CLONED_DESTROY_REBLESS + = ($] >= 5.008009 && $] < 5.010000) ? sub () { 1 } : sub () { 0 }; + *_BROKEN_CLONED_GLOB_UNDEF + = ($] > 5.008009 && $] <= 5.010000) ? sub () { 1 } : sub () { 0 }; + *_BROKEN_SIG_DELETE + = ($] < 5.008008) ? sub () { 1 } : sub () { 0 }; + my $debugging = defined &Config::non_bincompat_options + ? (Config::non_bincompat_options() =~ /\bDEBUGGING\b/) + : ($Config::Config{ccflags} =~ /-DDEBUGGING\b/); + *_DEBUGGING + = $debugging ? sub () { 1 } : sub () { 0 }; +} $Carp::Internal{+__PACKAGE__}++; @@ -173,6 +183,12 @@ $sig->(join('', @convert)); } _colorize(\@convert, 31) if $OPTIONS{color} && !$^S; + if (_DEBUGGING && _in_END) { + local $SIG{__WARN__}; + warn @convert; + $! ||= 1; + return; + } die @convert; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Confess-0.007011/t/end-debugging.t new/Devel-Confess-0.007012/t/end-debugging.t --- old/Devel-Confess-0.007011/t/end-debugging.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Devel-Confess-0.007012/t/end-debugging.t 2015-03-30 20:53:22.000000000 +0200 @@ -0,0 +1,14 @@ +use strict; +use warnings; +use Test::More tests => 1; +use t::lib::capture; + +@CAPTURE_OPTS = ('-MDevel::Confess'); + +unlike capture <<"END_CODE", qr/Assertion failed/, "die in END"; +sub error { +#line 1 test-block.pl + die "error in something"; +} +END { error() } +END_CODE ++++++ cpanspec.yml ++++++ --- #description_paragraphs: 3 #no_testing: broken upstream #sources: # - source1 # - source2 #patches: # foo.patch: -p1 # bar.patch: #preamble: |- # BuildRequires: gcc-c++ #post_prep: |- # hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL #post_install: |- # sed on %{name}.files #license: SUSE-NonFree #skip_noarch: 1 #custom_build: - #./Build build flags=%{?_smp_mflags} --myflag