Hello community, here is the log from the commit of package perl-Devel-Declare for openSUSE:Factory checked in at 2013-06-09 16:54:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Devel-Declare (Old) and /work/SRC/openSUSE:Factory/.perl-Devel-Declare.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-Declare" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Devel-Declare/perl-Devel-Declare.changes 2011-12-27 18:14:01.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Devel-Declare.new/perl-Devel-Declare.changes 2013-06-09 16:54:50.000000000 +0200 @@ -1,0 +2,22 @@ +Tue Jun 4 08:19:44 UTC 2013 - co...@suse.com + +- updated to 0.006011 + - In XS, use PERL_NO_GET_CONTEXT for efficiency. + - Avoid using Test::Warn, which has previously been a troublesome + dependency. + + - Fix workaround for unexported core symbols to avoid breaking + compilation on non-threading builds of Perl 5.8. + - Set permissions on .perldb file created during test, to avoid + "insecure rcfile" warning. + + - Be adaptive about whether to delete the line reallocation filter, + so as to play as nicely as possible with other kinds of source filter. + - Document that injecting newlines doesn't work. + - Fix a C declaration after statement, which broke compatibility with + older compilers (Jan Dubois). + - Partially work around unexported core symbols affecting Perl 5.8 on + Windows (David Bouyssie). + - Jump through some hoops to avoid compiler warnings. + +------------------------------------------------------------------- Old: ---- Devel-Declare-0.006008.tar.gz New: ---- Devel-Declare-0.006011.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Devel-Declare.spec ++++++ --- /var/tmp/diff_new_pack.oXSPbS/_old 2013-06-09 16:54:51.000000000 +0200 +++ /var/tmp/diff_new_pack.oXSPbS/_new 2013-06-09 16:54:51.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Devel-Declare # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 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 @@ -15,8 +15,9 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: perl-Devel-Declare -Version: 0.006008 +Version: 0.006011 Release: 0 %define cpan_name Devel-Declare Summary: Adding keywords to perl, in perl @@ -32,7 +33,6 @@ BuildRequires: perl(ExtUtils::Depends) >= 0.302 BuildRequires: perl(Sub::Name) BuildRequires: perl(Test::More) >= 0.88 -BuildRequires: perl(Test::Warn) #BuildRequires: perl(Devel::CallParser) #BuildRequires: perl(Devel::Declare) #BuildRequires: perl(Devel::Declare::Context::Simple) ++++++ Devel-Declare-0.006008.tar.gz -> Devel-Declare-0.006011.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/Changes new/Devel-Declare-0.006011/Changes --- old/Devel-Declare-0.006008/Changes 2011-11-05 22:52:05.000000000 +0100 +++ new/Devel-Declare-0.006011/Changes 2012-02-22 21:35:00.000000000 +0100 @@ -1,5 +1,26 @@ Changes for Devel-Declare +0.006011 - 22 Feb 2012 + - In XS, use PERL_NO_GET_CONTEXT for efficiency. + - Avoid using Test::Warn, which has previously been a troublesome + dependency. + +0.006010 - 07 Feb 2012 + - Fix workaround for unexported core symbols to avoid breaking + compilation on non-threading builds of Perl 5.8. + - Set permissions on .perldb file created during test, to avoid + "insecure rcfile" warning. + +0.006009 - 01 Feb 2012 + - Be adaptive about whether to delete the line reallocation filter, + so as to play as nicely as possible with other kinds of source filter. + - Document that injecting newlines doesn't work. + - Fix a C declaration after statement, which broke compatibility with + older compilers (Jan Dubois). + - Partially work around unexported core symbols affecting Perl 5.8 on + Windows (David Bouyssie). + - Jump through some hoops to avoid compiler warnings. + 0.006008 - 05 Nov 2011 - Adjust toke_scan_str logic to always leave the prefix part of linestr unchanged. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/Declare.xs new/Devel-Declare-0.006011/Declare.xs --- old/Devel-Declare-0.006008/Declare.xs 2011-11-05 22:47:29.000000000 +0100 +++ new/Devel-Declare-0.006011/Declare.xs 2012-02-22 21:28:32.000000000 +0100 @@ -1,3 +1,4 @@ +#define PERL_NO_GET_CONTEXT 1 #include "EXTERN.h" #include "perl.h" #include "XSUB.h" @@ -63,6 +64,7 @@ HV* is_declarator_pack_hash; SV** is_declarator_flag_ref; int dd_flags; + char* curstash_name; is_declarator = get_hv("Devel::Declare::declarators", FALSE); @@ -71,11 +73,12 @@ /* $declarators{$current_package_name} */ - if (!HvNAME(PL_curstash)) + curstash_name = HvNAME(PL_curstash); + if (!curstash_name) return -1; - is_declarator_pack_ref = hv_fetch(is_declarator, HvNAME(PL_curstash), - strlen(HvNAME(PL_curstash)), FALSE); + is_declarator_pack_ref = hv_fetch(is_declarator, curstash_name, + strlen(curstash_name), FALSE); if (!is_declarator_pack_ref || !SvROK(*is_declarator_pack_ref)) return -1; /* not a hashref */ @@ -149,14 +152,17 @@ PL_bufend = SvPVX(PL_linestr) + new_len; if ( DD_DEBUG_UPDATED_LINESTR && PERLDB_LINE && PL_curstash != PL_debstash) { - // Cribbed from toke.c - SV * const sv = NEWSV(85,0); - - sv_upgrade(sv, SVt_PVMG); - sv_setpvn(sv,PL_bufptr,PL_bufend-PL_bufptr); - (void)SvIOK_on(sv); - SvIV_set(sv, 0); - av_store(CopFILEAV(&PL_compiling),(I32)CopLINE(&PL_compiling),sv); + /* Cribbed from toke.c */ + AV *fileav = CopFILEAV(&PL_compiling); + if (fileav) { + SV * const sv = NEWSV(85,0); + + sv_upgrade(sv, SVt_PVMG); + sv_setpvn(sv,PL_bufptr,PL_bufend-PL_bufptr); + (void)SvIOK_on(sv); + SvIV_set(sv, 0); + av_store(fileav,(I32)CopLINE(&PL_compiling),sv); + } } } @@ -352,7 +358,7 @@ const char* s; SV *sv; #ifdef PERL_5_9_PLUS - SV *saved_hh; + SV *saved_hh = NULL; if (PL_op->op_private & OPpEVAL_HAS_HH) { saved_hh = POPs; } @@ -394,9 +400,23 @@ static I32 dd_filter_realloc(pTHX_ int idx, SV *sv, int maxlen) { + SV *filter_datasv; const I32 count = FILTER_READ(idx+1, sv, maxlen); SvGROW(sv, DD_PREFERRED_LINESTR_SIZE); - /* filter_del(dd_filter_realloc); */ + /* Filters can only be deleted in the correct order (reverse of the + order in which they were added). Insisting on deleting the filter + here would break if another filter were added after ours and is + still around. Not deleting the filter at all would break if another + filter were added earlier and attempts to delete itself later. + We can play nicely to the maximum possible extent by deleting our + filter iff it is currently deletable (i.e., it is on the top of + the filter stack). Can still run into trouble in more complex + situations, but can't avoid that. */ + if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0 && + (filter_datasv = FILTER_DATA(AvFILLp(PL_rsfp_filters))) && + IoANY(filter_datasv) == FPTR2DPTR(void *, dd_filter_realloc)) { + filter_del(dd_filter_realloc); + } return count; } @@ -490,13 +510,15 @@ if (!initialized) { initialized = 1; #if DD_GROW_VIA_BLOCKHOOK - static BHK bhk; + { + static BHK bhk; #if PERL_VERSION_GE(5,13,6) - BhkENTRY_set(&bhk, bhk_start, dd_block_start); + BhkENTRY_set(&bhk, bhk_start, dd_block_start); #else /* <5.13.6 */ - BhkENTRY_set(&bhk, start, dd_block_start); + BhkENTRY_set(&bhk, start, dd_block_start); #endif /* <5.13.6 */ - Perl_blockhook_register(aTHX_ &bhk); + Perl_blockhook_register(aTHX_ &bhk); + } #else /* !DD_GROW_VIA_BLOCKHOOK */ hook_op_check(OP_ENTEREVAL, dd_ck_entereval, NULL); #endif /* !DD_GROW_VIA_BLOCKHOOK */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/MANIFEST new/Devel-Declare-0.006011/MANIFEST --- old/Devel-Declare-0.006008/MANIFEST 2011-09-12 20:50:32.000000000 +0200 +++ new/Devel-Declare-0.006011/MANIFEST 2012-02-01 22:37:55.000000000 +0100 @@ -28,6 +28,8 @@ t/early2.t t/eval.t t/fail.t +t/filter0.t +t/filter1.t t/lines.t t/load_module.t t/methinstaller-simple.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/META.yml new/Devel-Declare-0.006011/META.yml --- old/Devel-Declare-0.006008/META.yml 2011-11-05 22:53:36.000000000 +0100 +++ new/Devel-Declare-0.006011/META.yml 2012-02-22 21:35:22.000000000 +0100 @@ -6,7 +6,6 @@ B::Hooks::OP::Check: 0.19 ExtUtils::MakeMaker: 6.62 Test::More: 0.88 - Test::Warn: 0 configure_requires: B::Hooks::OP::Check: 0.19 ExtUtils::Depends: 0.302 @@ -32,4 +31,4 @@ resources: license: http://dev.perl.org/licenses/ repository: git://github.com/rafl/devel-declare.git -version: 0.006008 +version: 0.006011 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/Makefile.PL new/Devel-Declare-0.006011/Makefile.PL --- old/Devel-Declare-0.006008/Makefile.PL 2011-09-11 12:07:11.000000000 +0200 +++ new/Devel-Declare-0.006011/Makefile.PL 2012-02-21 23:38:57.000000000 +0100 @@ -21,7 +21,6 @@ configure_requires 'B::Hooks::OP::Check' => '0.19'; test_requires 'Test::More' => '0.88'; -test_requires 'Test::Warn'; repository 'git://github.com/rafl/devel-declare.git'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/README new/Devel-Declare-0.006011/README --- old/Devel-Declare-0.006008/README 2011-11-05 22:53:40.000000000 +0100 +++ new/Devel-Declare-0.006011/README 2012-02-22 21:35:27.000000000 +0100 @@ -177,7 +177,10 @@ "set_linestr" This builtin sets the full text of the current line of the source - document. + document. Beware that injecting a newline into the middle of the line is + likely to fail in surprising ways. Generally, Perl's parser can rely on + the `current line' actually being only a single line. Use other kinds of + whitespace instead, in the code that you inject. "skipspace" This parser skips whitsepace. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/lib/Devel/Declare/Context/Simple.pm new/Devel-Declare-0.006011/lib/Devel/Declare/Context/Simple.pm --- old/Devel-Declare-0.006008/lib/Devel/Declare/Context/Simple.pm 2011-11-05 22:52:18.000000000 +0100 +++ new/Devel-Declare-0.006011/lib/Devel/Declare/Context/Simple.pm 2012-02-22 21:34:29.000000000 +0100 @@ -6,7 +6,7 @@ use B::Hooks::EndOfScope; use Carp qw/confess/; -our $VERSION = '0.006008'; +our $VERSION = '0.006011'; sub new { my $class = shift; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/lib/Devel/Declare/MethodInstaller/Simple.pm new/Devel-Declare-0.006011/lib/Devel/Declare/MethodInstaller/Simple.pm --- old/Devel-Declare-0.006008/lib/Devel/Declare/MethodInstaller/Simple.pm 2011-11-05 22:52:21.000000000 +0100 +++ new/Devel-Declare-0.006011/lib/Devel/Declare/MethodInstaller/Simple.pm 2012-02-22 21:34:31.000000000 +0100 @@ -7,7 +7,7 @@ use strict; use warnings; -our $VERSION = '0.006008'; +our $VERSION = '0.006011'; sub install_methodhandler { my $class = shift; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/lib/Devel/Declare.pm new/Devel-Declare-0.006011/lib/Devel/Declare.pm --- old/Devel-Declare-0.006008/lib/Devel/Declare.pm 2011-11-05 22:52:14.000000000 +0100 +++ new/Devel-Declare-0.006011/lib/Devel/Declare.pm 2012-02-22 21:34:25.000000000 +0100 @@ -4,7 +4,7 @@ use warnings; use 5.008001; -our $VERSION = '0.006008'; +our $VERSION = '0.006011'; use constant DECLARE_NAME => 1; use constant DECLARE_PROTO => 2; @@ -471,6 +471,10 @@ =head4 C<set_linestr> This builtin sets the full text of the current line of the source document. +Beware that injecting a newline into the middle of the line is likely +to fail in surprising ways. Generally, Perl's parser can rely on the +`current line' actually being only a single line. Use other kinds of +whitespace instead, in the code that you inject. =head3 C<skipspace> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/stolen_chunk_of_toke.c new/Devel-Declare-0.006011/stolen_chunk_of_toke.c --- old/Devel-Declare-0.006008/stolen_chunk_of_toke.c 2011-09-10 23:13:54.000000000 +0200 +++ new/Devel-Declare-0.006011/stolen_chunk_of_toke.c 2012-02-07 14:49:58.000000000 +0100 @@ -108,6 +108,20 @@ #define PERL_5_9_PLUS #endif +#if !defined(PERL_5_9_PLUS) && defined(PERL_IMPLICIT_CONTEXT) +/* These two are not exported from the core on Windows. With 5.9+ + it's not an issue, because they're part of the PL_parser structure, + which is exported. On multiplicity/thread builds we can work + around the lack of export by this formulation, where we provide + a substitute implementation of the unexported accessor functions. + On single-interpreter builds we can't, because access is directly + via symbols that are not exported. */ +# define Perl_Ilinestart_ptr my_Ilinestart_ptr +char **my_Ilinestart_ptr(pTHX) { return &(aTHX->Ilinestart); } +# define Perl_Isublex_info_ptr my_Isublex_info_ptr +static SUBLEXINFO *my_Isublex_info_ptr(pTHX) { return &(aTHX->Isublex_info); } +#endif + #ifdef PERL_5_9_PLUS /* 5.9+ moves a bunch of things to a PL_parser struct so we need to declare the backcompat macros for things to still work (mst) */ @@ -284,7 +298,7 @@ SSize_t oldprevlen, oldoldprevlen; SSize_t oldloplen = 0, oldunilen = 0; while (s < PL_bufend && isSPACE(*s)) { - if (*s++ == '\n' && ((incline == 2) || PL_in_eval && !PL_rsfp && !incline)) + if (*s++ == '\n' && ((incline == 2) || (PL_in_eval && !PL_rsfp && !incline))) incline(s); } @@ -385,13 +399,15 @@ * so store the line into the debugger's array of lines */ if (PERLDB_LINE && PL_curstash != PL_debstash) { - SV * const sv = NEWSV(85,0); - - sv_upgrade(sv, SVt_PVMG); - sv_setpvn(sv,PL_bufptr,PL_bufend-PL_bufptr); - (void)SvIOK_on(sv); - SvIV_set(sv, 0); - av_store(CopFILEAV(PL_curcop),(I32)CopLINE(PL_curcop),sv); + AV *fileav = CopFILEAV(PL_curcop); + if (fileav) { + SV * const sv = NEWSV(85,0); + sv_upgrade(sv, SVt_PVMG); + sv_setpvn(sv,PL_bufptr,PL_bufend-PL_bufptr); + (void)SvIOK_on(sv); + SvIV_set(sv, 0); + av_store(fileav,(I32)CopLINE(PL_curcop),sv); + } } } } @@ -815,13 +831,15 @@ /* update debugger info */ if (PERLDB_LINE && PL_curstash != PL_debstash) { - SV *sv = NEWSV(88,0); - - sv_upgrade(sv, SVt_PVMG); - sv_setsv(sv,PL_linestr); - (void)SvIOK_on(sv); - SvIV_set(sv, 0); - av_store(CopFILEAV(PL_curcop), (I32)CopLINE(PL_curcop), sv); + AV *fileav = CopFILEAV(PL_curcop); + if (fileav) { + SV *sv = NEWSV(88,0); + sv_upgrade(sv, SVt_PVMG); + sv_setsv(sv,PL_linestr); + (void)SvIOK_on(sv); + SvIV_set(sv, 0); + av_store(fileav, (I32)CopLINE(PL_curcop), sv); + } } /* having changed the buffer, we must update PL_bufend */ @@ -863,39 +881,6 @@ return s; } -/* - * S_force_next - * When the lexer realizes it knows the next token (for instance, - * it is reordering tokens for the parser) then it can call S_force_next - * to know what token to return the next time the lexer is called. Caller - * will need to set PL_nextval[], and possibly PL_expect to ensure the lexer - * handles the token correctly. - */ - -STATIC void -S_force_next(pTHX_ I32 type) -{ -#ifdef PERL_MAD - dVAR; - if (PL_curforce < 0) - start_force(PL_lasttoke); - PL_nexttoke[PL_curforce].next_type = type; - if (PL_lex_state != LEX_KNOWNEXT) - PL_lex_defer = PL_lex_state; - PL_lex_state = LEX_KNOWNEXT; - PL_lex_expect = PL_expect; - PL_curforce = -1; -#else - PL_nexttype[PL_nexttoke] = type; - PL_nexttoke++; - if (PL_lex_state != LEX_KNOWNEXT) { - PL_lex_defer = PL_lex_state; - PL_lex_expect = PL_expect; - PL_lex_state = LEX_KNOWNEXT; - } -#endif -} - #define XFAKEBRACK 128 STATIC char * @@ -961,12 +946,10 @@ if (*s == '{') { bracket = s; s++; + } else if (ck_uni) { + /* we always call this with ck_uni == 0, so no need for check_uni() */ + /* check_uni(); */ } - /* we always call this with ck_uni == 0 (rafl) */ - /* - else if (ck_uni) - check_uni(); - */ if (s < send) *d = *s++; d[1] = '\0'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/t/debug.t new/Devel-Declare-0.006011/t/debug.t --- old/Devel-Declare-0.006008/t/debug.t 2011-09-10 23:13:54.000000000 +0200 +++ new/Devel-Declare-0.006011/t/debug.t 2012-02-07 14:55:46.000000000 +0100 @@ -17,6 +17,7 @@ cwd("$Bin/.."); # Write a .perldb file so we make sure we dont use the users one +umask 077; open PERLDB, ">", "$Bin/../.perldb" or die "Cannot open $Bin/../.perldb: $!"; close PERLDB; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/t/filter0.t new/Devel-Declare-0.006011/t/filter0.t --- old/Devel-Declare-0.006008/t/filter0.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Devel-Declare-0.006011/t/filter0.t 2012-02-01 22:00:21.000000000 +0100 @@ -0,0 +1,25 @@ +use warnings; +use strict; + +BEGIN { + eval { require Filter::Util::Call }; + if($@ ne "") { + require Test::More; + Test::More::plan(skip_all => "Filter::Util::Call unavailable"); + } +} + +use Devel::Declare (); +use Filter::Util::Call qw(filter_add filter_del); +use Test::More tests => 2; + +sub my_quote($) { $_[0] } + +my $i = 0; + +BEGIN { Devel::Declare->setup_for(__PACKAGE__, { my_quote => { const => sub { } } }); } +BEGIN { filter_add(sub { filter_del(); $_ .= "ok \$i++ == 0;"; return 1; }); } + +ok $i++ == 1; + +1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/t/filter1.t new/Devel-Declare-0.006011/t/filter1.t --- old/Devel-Declare-0.006008/t/filter1.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Devel-Declare-0.006011/t/filter1.t 2012-02-01 22:00:36.000000000 +0100 @@ -0,0 +1,25 @@ +use warnings; +use strict; + +BEGIN { + eval { require Filter::Util::Call }; + if($@ ne "") { + require Test::More; + Test::More::plan(skip_all => "Filter::Util::Call unavailable"); + } +} + +use Devel::Declare (); +use Filter::Util::Call qw(filter_add filter_del); +use Test::More tests => 2; + +sub my_quote($) { $_[0] } + +my $i = 0; + +BEGIN { filter_add(sub { filter_del(); $_ .= "ok \$i++ == 0;"; return 1; }); } +BEGIN { Devel::Declare->setup_for(__PACKAGE__, { my_quote => { const => sub { } } }); } + +ok $i++ == 1; + +1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006008/t/method-installer-redefine.t new/Devel-Declare-0.006011/t/method-installer-redefine.t --- old/Devel-Declare-0.006008/t/method-installer-redefine.t 2011-09-10 23:13:54.000000000 +0200 +++ new/Devel-Declare-0.006011/t/method-installer-redefine.t 2012-02-21 23:38:49.000000000 +0100 @@ -1,7 +1,6 @@ use strict; use warnings; -use Test::More tests => 4; -use Test::Warn; +use Test::More tests => 5; use Devel::Declare::MethodInstaller::Simple; BEGIN { @@ -25,18 +24,20 @@ $_[0]->method } -use Test::Warn; - ok(main->can('foo'), 'foo() installed at runtime'); -warnings_like { - method foo { - $_[0]->method; - } -} qr/redefined/; - -warnings_are { - method_quiet foo { - $_[0]->method; - } -} [], 'no warnings'; +my @warnings; +$SIG{__WARN__} = sub { push @warnings, $_[0] }; + +@warnings = (); +method foo { +$_[0]->method; +} +is scalar(@warnings), 1; +like $warnings[0], qr/redefined/; + +@warnings = (); +method_quiet foo { +$_[0]->method; +} +is_deeply \@warnings, []; -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org