Hello community, here is the log from the commit of package perl-CGI-Simple for openSUSE:Factory checked in at 2018-10-23 20:37:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-CGI-Simple (Old) and /work/SRC/openSUSE:Factory/.perl-CGI-Simple.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-CGI-Simple" Tue Oct 23 20:37:21 2018 rev:25 rq:643565 version:1.21 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-CGI-Simple/perl-CGI-Simple.changes 2018-10-08 17:50:07.022125028 +0200 +++ /work/SRC/openSUSE:Factory/.perl-CGI-Simple.new/perl-CGI-Simple.changes 2018-10-23 20:37:27.016755058 +0200 @@ -1,0 +2,11 @@ +Sun Oct 21 12:39:46 UTC 2018 - Dirk Stoecker <opens...@dstoecker.de> + +- updated to 1.21 + see /usr/share/doc/packages/perl-CGI-Simple/Changes + +------------------------------------------------------------------- +Wed Oct 17 18:33:55 UTC 2018 - Jan Engelhardt <jeng...@inai.de> + +- Avoid overly "super duper" summary. + +------------------------------------------------------------------- Old: ---- CGI-Simple-1.16.tar.gz New: ---- CGI-Simple-1.21.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-CGI-Simple.spec ++++++ --- /var/tmp/diff_new_pack.QWDgtf/_old 2018-10-23 20:37:28.776752955 +0200 +++ /var/tmp/diff_new_pack.QWDgtf/_new 2018-10-23 20:37:28.784752946 +0200 @@ -12,15 +12,15 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-CGI-Simple -Version: 1.16 +Version: 1.21 Release: 0 %define cpan_name CGI-Simple -Summary: Simple totally OO CGI interface that is CGI.pm compliant +Summary: Object-oriented CGI interface compliant to CGI.pm License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl Url: https://metacpan.org/release/%{cpan_name} @@ -37,10 +37,12 @@ Requires: perl(IO::Scalar) Requires: perl(Test::Exception) Requires: perl(Test::NoWarnings) +%{perl_requires} +# MANUAL BEGIN # after 1.115 came 1.12 - provide the zero padded version number to fix version checks Provides: perl(CGI::Simple) = %{version}0 Provides: perl(CGI::Simple::Cookie) = %{version}0 -%{perl_requires} +# MANUAL END %description CGI::Simple provides a relatively lightweight drop in replacement for @@ -61,7 +63,7 @@ %setup -q -n %{cpan_name}-%{version} %build -%{__perl} Build.PL installdirs=vendor +perl Build.PL installdirs=vendor ./Build build flags=%{?_smp_mflags} %check ++++++ CGI-Simple-1.16.tar.gz -> CGI-Simple-1.21.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/Changes new/CGI-Simple-1.21/Changes --- old/CGI-Simple-1.16/Changes 2018-07-25 17:13:53.000000000 +0200 +++ new/CGI-Simple-1.21/Changes 2018-10-06 09:19:11.000000000 +0200 @@ -1,5 +1,24 @@ Revision history for Perl extension CGI::Simple. +1.21 2018-10-06 MANWAR + - Patched issue RT# 67061 (handle warning uninitialsed value). + +1.20 2018-10-05 MANWAR + - Merge pull request #4 from jjatria/302-found, changing the + name of 302 statuses from Moved to Found. + +1.19 2018-10-04 MANWAR + - Merged pull request #3 from jjatria/max-age, which sets max-age + attribute correctly from constructor. + +1.18 2018-10-03 MANWAR + - Merged pull request #2 from jjatria/samesite, adding + SameSite support to Cookie handling. + +1.17 2018-10-02 MANWAR + - Merged pull request #7 from asb-capfan/master, should fix + CPAN Testers fail report on some windows box. + 1.16 2018-07-25 MANWAR - Made t/manifest.t AUTHOR only (RT #125383). - Removed +x bits from test scripts. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/META.json new/CGI-Simple-1.21/META.json --- old/CGI-Simple-1.16/META.json 2018-07-25 17:16:35.000000000 +0200 +++ new/CGI-Simple-1.21/META.json 2018-10-06 09:20:24.000000000 +0200 @@ -49,6 +49,6 @@ "x_license" : "http://dev.perl.org/licenses/" } }, - "version" : "1.16", + "version" : "1.21", "x_serialization_backend" : "JSON::PP version 2.27400" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/META.yml new/CGI-Simple-1.21/META.yml --- old/CGI-Simple-1.16/META.yml 2018-07-25 17:16:35.000000000 +0200 +++ new/CGI-Simple-1.21/META.yml 2018-10-06 09:20:24.000000000 +0200 @@ -25,5 +25,5 @@ Test::NoWarnings: '0' resources: repository: http://github.com/manwar/CGI--Simple.git -version: '1.16' +version: '1.21' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/lib/CGI/Simple/Cookie.pm new/CGI-Simple-1.21/lib/CGI/Simple/Cookie.pm --- old/CGI-Simple-1.16/lib/CGI/Simple/Cookie.pm 2018-07-25 17:11:33.000000000 +0200 +++ new/CGI-Simple-1.21/lib/CGI/Simple/Cookie.pm 2018-10-06 09:16:44.000000000 +0200 @@ -13,7 +13,7 @@ use strict; use warnings; use vars '$VERSION'; -$VERSION = '1.16'; +$VERSION = '1.21'; use CGI::Simple::Util qw(rearrange unescape escape); use overload '""' => \&as_string, 'cmp' => \&compare, 'fallback' => 1; @@ -75,14 +75,14 @@ $class = ref( $class ) || $class; my ( $name, $value, $path, $domain, - $secure, $expires, $max_age, $httponly + $secure, $expires, $max_age, $httponly, $samesite ) = rearrange( [ 'NAME', [ 'VALUE', 'VALUES' ], 'PATH', 'DOMAIN', 'SECURE', 'EXPIRES', - 'MAX-AGE', 'HTTPONLY' + 'MAX-AGE', 'HTTPONLY', 'SAMESITE' ], @params ); @@ -96,8 +96,9 @@ $self->domain( $domain ) if defined $domain; $self->secure( $secure ) if defined $secure; $self->expires( $expires ) if defined $expires; - $self->max_age( $expires ) if defined $max_age; + $self->max_age( $max_age ) if defined $max_age; $self->httponly( $httponly ) if defined $httponly; + $self->samesite( $samesite ) if defined $samesite; return $self; } @@ -107,12 +108,13 @@ my $name = escape( $self->name ); my $value = join "&", map { escape( $_ ) } $self->value; my @cookie = ( "$name=$value" ); - push @cookie, "domain=" . $self->domain if $self->domain; - push @cookie, "path=" . $self->path if $self->path; - push @cookie, "expires=" . $self->expires if $self->expires; - push @cookie, "max-age=" . $self->max_age if $self->max_age; - push @cookie, "secure" if $self->secure; - push @cookie, "HttpOnly" if $self->httponly; + push @cookie, "domain=" . $self->domain if $self->domain; + push @cookie, "path=" . $self->path if $self->path; + push @cookie, "expires=" . $self->expires if $self->expires; + push @cookie, "max-age=" . $self->max_age if $self->max_age; + push @cookie, "secure" if $self->secure; + push @cookie, "HttpOnly" if $self->httponly; + push @cookie, "SameSite=" . $self->samesite if $self->samesite; return join "; ", @cookie; } @@ -179,6 +181,14 @@ return $self->{'httponly'}; } +my %_legal_samesite = ( Strict => 1, Lax => 1 ); +sub samesite { + my $self = shift; + my $samesite = ucfirst lc +shift if @_; # Normalize casing. + $self->{'samesite'} = $samesite if $samesite and $_legal_samesite{$samesite}; + return $self->{'samesite'}; +} + 1; __END__ @@ -217,8 +227,8 @@ For full information on cookies see: - http://tools.ietf.org/html/rfc2109 - http://tools.ietf.org/html/rfc2965 + http://tools.ietf.org/html/rfc2109 + http://tools.ietf.org/html/rfc2965 =head1 USING CGI::Simple::Cookie @@ -268,7 +278,7 @@ If the "secure" attribute is set, the cookie will only be sent to your script if the CGI request is occurring on a secure channel, such as SSL. -=item B<4. HttpOnly flag> +=item B<5. HttpOnly flag> If the "httponly" attribute is set, the cookie will only be accessible through HTTP Requests. This cookie will be inaccessible via JavaScript @@ -278,16 +288,27 @@ L<http://www.owasp.org/index.php/HTTPOnly> +=item B<6. samesite flag> + +Allowed settings are C<Strict> and C<Lax>. + +As of April 2018, support is limited mostly to recent releases of +Chrome and Opera. + +L<https://tools.ietf.org/html/draft-west-first-party-cookies-07> + =back =head2 Creating New Cookies $c = CGI::Simple::Cookie->new( -name => 'foo', - -value => 'bar', - -expires => '+3M', - -domain => '.capricorn.com', - -path => '/cgi-bin/database', - -secure => 1 + -value => 'bar', + -expires => '+3M', + -max-age => '+3M', + -domain => '.capricorn.com', + -path => '/cgi-bin/database', + -secure => 1, + -samesite => 'Lax', ); Create cookies from scratch with the B<new> method. The B<-name> and @@ -323,6 +344,9 @@ B<-httponly> if set to a true value, the cookie will not be accessible via JavaScript. +B<-samesite> may be C<Lax> or C<Strict> and is an evolving part of the +standards for cookies. Please refer to current documentation regarding it. + =head2 Sending the Cookie to the Browser Within a CGI script you can send a cookie to the browser by creating diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/lib/CGI/Simple/Standard.pm new/CGI-Simple-1.21/lib/CGI/Simple/Standard.pm --- old/CGI-Simple-1.16/lib/CGI/Simple/Standard.pm 2018-07-25 17:11:33.000000000 +0200 +++ new/CGI-Simple-1.21/lib/CGI/Simple/Standard.pm 2018-10-06 09:16:44.000000000 +0200 @@ -8,7 +8,7 @@ $NO_UNDEF_PARAMS $USE_PARAM_SEMICOLONS $HEADERS_ONCE $NPH $DEBUG $NO_NULL $FATAL *in %EXPORT_TAGS $AUTOLOAD ); -$VERSION = "1.16"; +$VERSION = "1.21"; %EXPORT_TAGS = ( ':html' => [qw(:misc)], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/lib/CGI/Simple/Util.pm new/CGI-Simple-1.21/lib/CGI/Simple/Util.pm --- old/CGI-Simple-1.16/lib/CGI/Simple/Util.pm 2018-07-25 17:11:33.000000000 +0200 +++ new/CGI-Simple-1.21/lib/CGI/Simple/Util.pm 2018-10-06 09:16:44.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; use vars qw( $VERSION @EXPORT_OK @ISA $UTIL ); -$VERSION = '1.16'; +$VERSION = '1.21'; require Exporter; @ISA = qw( Exporter ); @EXPORT_OK = qw( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/lib/CGI/Simple.pm new/CGI-Simple-1.21/lib/CGI/Simple.pm --- old/CGI-Simple-1.16/lib/CGI/Simple.pm 2018-07-25 17:11:33.000000000 +0200 +++ new/CGI-Simple-1.21/lib/CGI/Simple.pm 2018-10-06 09:16:44.000000000 +0200 @@ -13,7 +13,7 @@ $NO_UNDEF_PARAMS, $USE_PARAM_SEMICOLONS, $PARAM_UTF8, $HEADERS_ONCE, $NPH, $DEBUG, $NO_NULL, $FATAL); -$VERSION = "1.16"; +$VERSION = "1.21"; # you can hard code the global variable settings here if you want. # warning - do not delete the unless defined $VAR part unless you @@ -702,6 +702,7 @@ sub STORE { my ( $q, $p, $v ) = @_; + return unless defined $v; $q->param( $p, split $q->{'.sep'}, $v ); } @@ -1115,7 +1116,7 @@ my @o; for ( @other ) { tr/\"//d; push @o, split "=", $_, 2; } unshift @o, - '-Status' => '302 Moved', + '-Status' => '302 Found', '-Location' => $url, '-nph' => $nph; unshift @o, '-Target' => $target if $target; @@ -1489,7 +1490,7 @@ =head1 VERSION -This document describes CGI::Simple version 1.16. +This document describes CGI::Simple version 1.21. =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/t/020.cookie.t new/CGI-Simple-1.21/t/020.cookie.t --- old/CGI-Simple-1.16/t/020.cookie.t 2016-10-20 10:19:09.000000000 +0200 +++ new/CGI-Simple-1.21/t/020.cookie.t 2018-10-04 13:58:23.000000000 +0200 @@ -11,7 +11,7 @@ use strict; use warnings; -use Test::More tests => 99; +use Test::More tests => 113; use Test::NoWarnings; use CGI::Simple::Util qw(escape unescape); @@ -168,7 +168,8 @@ -domain => '.capricorn.com', -path => '/cgi-bin/database', -secure => 1, - -httponly => 1 + -httponly => 1, + -samesite => 'Lax' ); is( ref( $c ), 'CGI::Simple::Cookie', 'new returns objects of correct type' ); @@ -183,6 +184,7 @@ is( $c->path, '/cgi-bin/database', 'path is correct' ); ok( $c->secure, 'secure attribute is set' ); ok( $c->httponly, 'httponly attribute is set' ); + is( $c->samesite, 'Lax', 'samesite attribute is correct' ); # now try it with the only two manditory values (should also set the default path) $c = CGI::Simple::Cookie->new( @@ -194,10 +196,12 @@ is( $c->name, 'baz', 'name is correct' ); is( $c->value, 'qux', 'value is correct' ); ok( !defined $c->expires, 'expires is not set' ); + ok( !defined $c->max_age, 'max_age is not set' ); ok( !defined $c->domain, 'domain attributeis not set' ); is( $c->path, '/', 'path atribute is set to default' ); ok( !defined $c->secure, 'secure attribute is not set' ); ok( !defined $c->httponly, 'httponly attribute is not set' ); + ok( !defined $c->samesite, 'samesite attribute is not set' ); # I'm really not happy about the restults of this section. You pass # the new method invalid arguments and it just merilly creates a @@ -224,13 +228,15 @@ { my $c = CGI::Simple::Cookie->new( - -name => 'Jam', - -value => 'Hamster', - -expires => '+3M', - -domain => '.pie-shop.com', - -path => '/', - -secure => 1, - -httponly => 1 + -name => 'Jam', + -value => 'Hamster', + -expires => '+3M', + '-max-age' => '+3M', + -domain => '.pie-shop.com', + -path => '/', + -secure => 1, + -httponly => 1, + -samesite => 'strict' ); my $name = $c->name; @@ -244,6 +250,10 @@ like( $c->as_string, "/$expires/", "Stringified cookie contains expires" ); + my $max_age = $c->max_age; + like( $c->as_string, "/$max_age/", + "Stringified cookie contains max_age" ); + my $domain = $c->domain; like( $c->as_string, "/$domain/", "Stringified cookie contains domain" ); @@ -257,6 +267,9 @@ like( $c->as_string, '/HttpOnly/', "Stringified cookie contains HttpOnly" ); + like( $c->as_string, '/SameSite=Strict/', + "Stringified cookie contains normalized SameSite" ); + $c = CGI::Simple::Cookie->new( -name => 'Hamster-Jam', -value => 'Tulip', @@ -272,6 +285,9 @@ ok( $c->as_string !~ /expires/, "Stringified cookie has no expires field" ); + ok( $c->as_string !~ /max-age/, + "Stringified cookie has no max_age field" ); + ok( $c->as_string !~ /domain/, "Stringified cookie has no domain field" ); @@ -283,6 +299,9 @@ ok( $c->as_string !~ /HttpOnly/, "Stringified cookie does not contain HttpOnly" ); + + ok( $c->as_string !~ /SameSite/, + "Stringified cookie does not contain SameSite" ); } #----------------------------------------------------------------------------- @@ -351,7 +370,8 @@ -domain => '.pie-shop.com', -path => '/', -secure => 1, - -httponly => 1 + -httponly => 1, + -samesite => 'strict' ); is( $c->name, 'Jam', 'name is correct' ); @@ -399,6 +419,10 @@ ok( $c->httponly, 'httponly attribute is set' ); ok( !$c->httponly( 0 ), 'httponly attribute is cleared' ); ok( !$c->httponly, 'httponly attribute is cleared' ); + + is( $c->samesite, 'Strict', 'SameSite is correct' ); + is( $c->samesite( 'Lax' ), 'Lax', 'SameSite is set correctly' ); + is( $c->samesite, 'Lax', 'SameSite now returns updated value' ); } #---------------------------------------------------------------------------- @@ -428,5 +452,23 @@ $cookie->max_age( '113' ); is $cookie->max_age => 13, 'max_age(num) as delta'; } + + { + my $cookie + = CGI::Simple::Cookie->new( -name=>'a', value=>'b', '-max-age' => '+3d'); + is( $cookie->max_age,3*24*60*60,'-max-age in constructor' ); + ok( !$cookie->expires,' ... lack of expires' ); + } + + { + my $cookie = CGI::Simple::Cookie->new( + -name => 'a', + value => 'b', + -expires => 'now', + '-max-age' => '+3d' + ); + is( $cookie->max_age,3*24*60*60,'-max-age in constructor' ); + ok( $cookie->expires,'-expires in constructor' ); + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/t/030.function.t new/CGI-Simple-1.21/t/030.function.t --- old/CGI-Simple-1.16/t/030.function.t 2016-10-20 10:19:09.000000000 +0200 +++ new/CGI-Simple-1.21/t/030.function.t 2018-10-05 11:42:38.000000000 +0200 @@ -93,7 +93,7 @@ is( redirect( 'http://somewhere.else' ), - "Status: 302 Moved${CRLF}Location: http://somewhere.else${CRLF}${CRLF}", + "Status: 302 Found${CRLF}Location: http://somewhere.else${CRLF}${CRLF}", "CGI::redirect() 1" ); @@ -104,7 +104,7 @@ is( $h, - "Status: 302 Moved${CRLF}Location: http://somewhere.else${CRLF}" + "Status: 302 Found${CRLF}Location: http://somewhere.else${CRLF}" . "Content-Type: text/html; charset=ISO-8859-1${CRLF}${CRLF}", "CGI::redirect() 2" ); @@ -114,7 +114,7 @@ -Location => 'http://somewhere.else/bin/foo&bar', -Type => 'text/html' ), - "Status: 302 Moved${CRLF}Location: http://somewhere.else/bin/foo&bar${CRLF}" + "Status: 302 Found${CRLF}Location: http://somewhere.else/bin/foo&bar${CRLF}" . "Content-Type: text/html; charset=ISO-8859-1${CRLF}${CRLF}", "CGI::redirect() 2" ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/t/050.simple.t new/CGI-Simple-1.21/t/050.simple.t --- old/CGI-Simple-1.16/t/050.simple.t 2016-10-20 10:19:09.000000000 +0200 +++ new/CGI-Simple-1.21/t/050.simple.t 2018-10-05 11:42:38.000000000 +0200 @@ -643,6 +643,7 @@ is( $upload, $data, 'upload(\'invalid\'), 4' ); $sv = $q->upload( '/some/path/to/myfile', "$tmpfile.bak" ); is( $sv, undef, 'upload(\'invalid\'), 5' ); +close($handle); unlink $tmpfile, "$tmpfile.bak"; $ENV{'CONTENT_TYPE'} = 'application/x-www-form-urlencoded'; @@ -914,7 +915,7 @@ # redirect() - scalar and array context, void argument $sv = $q->redirect( 'http://a.galaxy.far.away.gov' ); $header = <<'HEADER'; -Status: 302 Moved +Status: 302 Found Expires: Tue, 13 Nov 2001 06:45:15 GMT Date: Tue, 13 Nov 2001 06:45:15 GMT Pragma: no-cache @@ -929,9 +930,9 @@ # redirect() - scalar and array context, void argument $sv = $q->redirect( -uri => 'http://a.galaxy.far.away.gov', -nph => 1 ); $header = <<'HEADER'; -HTTP/1.0 302 Moved +HTTP/1.0 302 Found Server: Apache - accept no substitutes -Status: 302 Moved +Status: 302 Found Expires: Tue, 13 Nov 2001 06:49:24 GMT Date: Tue, 13 Nov 2001 06:49:24 GMT Pragma: no-cache diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CGI-Simple-1.16/t/070.standard.t new/CGI-Simple-1.21/t/070.standard.t --- old/CGI-Simple-1.16/t/070.standard.t 2016-10-20 10:19:09.000000000 +0200 +++ new/CGI-Simple-1.21/t/070.standard.t 2018-10-05 11:42:38.000000000 +0200 @@ -622,6 +622,7 @@ is( $upload, $data, 'upload( \'/some/path/to/myfile\', \, 2' ); $sv = upload( '/some/path/to/myfile', "$tmpfile.bak" ); is( $sv, undef, 'upload( \'/some/path/to/myfile\', \, 3' ); +close($handle); unlink $tmpfile, "$tmpfile.bak"; $ENV{'CONTENT_TYPE'} = 'application/x-www-form-urlencoded'; @@ -920,7 +921,7 @@ $sv = redirect( 'http://a.galaxy.far.away.gov' ); $header = <<'HEADER'; -Status: 302 Moved +Status: 302 Found Expires: Tue, 13 Nov 2001 06:45:15 GMT Date: Tue, 13 Nov 2001 06:45:15 GMT Pragma: no-cache @@ -936,9 +937,9 @@ $sv = redirect( -uri => 'http://a.galaxy.far.away.gov', -nph => 1 ); $header = <<'HEADER'; -HTTP/1.0 302 Moved +HTTP/1.0 302 Found Server: Apache - accept no substitutes -Status: 302 Moved +Status: 302 Found Expires: Tue, 13 Nov 2001 06:49:24 GMT Date: Tue, 13 Nov 2001 06:49:24 GMT Pragma: no-cache ++++++ cpanspec.yml ++++++ --- /var/tmp/diff_new_pack.QWDgtf/_old 2018-10-23 20:37:28.876752835 +0200 +++ /var/tmp/diff_new_pack.QWDgtf/_new 2018-10-23 20:37:28.876752835 +0200 @@ -2,7 +2,7 @@ #description_paragraphs: 3 #description: |- # override description from CPAN -#summary: override summary from CPAN +summary: Object-oriented CGI interface compliant to CGI.pm #no_testing: broken upstream #sources: # - source1 @@ -10,8 +10,10 @@ #patches: # foo.patch: -p1 # bar.patch: -#preamble: |- -# BuildRequires: gcc-c++ +preamble: |- + # after 1.115 came 1.12 - provide the zero padded version number to fix version checks + Provides: perl(CGI::Simple) = %{version}0 + Provides: perl(CGI::Simple::Cookie) = %{version}0 #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