Hello community, here is the log from the commit of package perl-Config-General for openSUSE:Factory checked in at 2015-10-24 12:43:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Config-General (Old) and /work/SRC/openSUSE:Factory/.perl-Config-General.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Config-General" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Config-General/perl-Config-General.changes 2015-06-15 17:48:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Config-General.new/perl-Config-General.changes 2015-10-24 12:43:13.000000000 +0200 @@ -1,0 +2,13 @@ +Fri Oct 23 08:49:27 UTC 2015 - co...@suse.com + +- updated to 2.60 + see /usr/share/doc/packages/perl-Config-General/Changelog + + 2.60 - fix rt.cpan.org#107929: added missing test config. + + 2.59 - fix rt.cpan.org#107108 by adding support for IncludeOptional. + - clarified documentation on StoreDelimiter. + + 2.58 - bump version + +------------------------------------------------------------------- Old: ---- Config-General-2.58.tar.gz New: ---- Config-General-2.60.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Config-General.spec ++++++ --- /var/tmp/diff_new_pack.2HXEJA/_old 2015-10-24 12:43:14.000000000 +0200 +++ /var/tmp/diff_new_pack.2HXEJA/_new 2015-10-24 12:43:14.000000000 +0200 @@ -17,7 +17,7 @@ Name: perl-Config-General -Version: 2.58 +Version: 2.60 Release: 0 %define cpan_name Config-General Summary: Generic Config Module ++++++ Config-General-2.58.tar.gz -> Config-General-2.60.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/Changelog new/Config-General-2.60/Changelog --- old/Config-General-2.58/Changelog 2015-05-20 19:27:34.000000000 +0200 +++ new/Config-General-2.60/Changelog 2015-10-23 08:55:05.000000000 +0200 @@ -1,3 +1,10 @@ +2.60 - fix rt.cpan.org#107929: added missing test config. + +2.59 - fix rt.cpan.org#107108 by adding support for IncludeOptional. + - clarified documentation on StoreDelimiter. + +2.58 - bumbp version + 2.57 - fix rt.cpan.org#104548, dont allow special chars like newline or < in keys, which leads to faile when saving. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/General/Extended.pm new/Config-General-2.60/General/Extended.pm --- old/Config-General-2.58/General/Extended.pm 2014-04-30 14:16:54.000000000 +0200 +++ new/Config-General-2.60/General/Extended.pm 2015-10-22 14:41:29.000000000 +0200 @@ -581,7 +581,7 @@ and ->find should return where you left off. For example, given the values B<find (qw (A B C))> and the following -tree (</end> tags ommitted for brevity): +tree (</end> tags omitted for brevity): <A> <FOO> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/General.pm new/Config-General-2.60/General.pm --- old/Config-General-2.58/General.pm 2015-05-21 19:19:49.000000000 +0200 +++ new/Config-General-2.60/General.pm 2015-10-23 08:54:07.000000000 +0200 @@ -32,7 +32,7 @@ use Carp; use Exporter; -$Config::General::VERSION = "2.58"; +$Config::General::VERSION = "2.60"; use vars qw(@ISA @EXPORT_OK); use base qw(Exporter); @@ -432,13 +432,13 @@ # applied patch by AlexK fixing rt.cpan.org#41030 if ( !@include && defined $this->{ConfigPath} ) { - foreach my $dir (@{$this->{ConfigPath}}) { - my ($volume, $path, undef) = splitpath($basefile); - if ( -d catfile( $dir, $path ) ) { - push @include, grep { -f $_ } bsd_glob(catfile($dir, $basefile), GLOB_BRACE | GLOB_QUOTE); - last; - } - } + foreach my $dir (@{$this->{ConfigPath}}) { + my ($volume, $path, undef) = splitpath($basefile); + if ( -d catfile( $dir, $path ) ) { + push @include, grep { -f $_ } bsd_glob(catfile($dir, $basefile), GLOB_BRACE | GLOB_QUOTE); + last; + } + } } if (@include == 1) { @@ -722,12 +722,29 @@ # bugfix rt.cpan.org#38635: support quoted filenames if ($this->{UseApacheInclude}) { - if (/^\s*include\s*(["'])(.*?)(?<!\\)\1$/i) { - $incl_file = $2; - } - elsif (/^\s*include\s+(.+?)\s*$/i) { - $incl_file = $1; - } + my $opt = ''; + if (/^\s*(include|includeoptional)\s*(["'])(.*?)(?<!\\)\2$/i) { + $incl_file = $3; + $opt = $1; + } + elsif (/^\s*(include|includeoptional)\s+(.+?)\s*$/i) { + $incl_file = $2; + $opt = $1; + } + if ($incl_file) { + if ($this->{IncludeGlob} && $opt =~ /opt/i && $incl_file !~ /[*?\[\{\\]/) { + # fix rt#107108 + # glob enabled && optional include && file is not already a glob: + # turn it into a singular matching glob, like: + # "file" => "[f][i][l][e]" and: + # "dir/file" => "dir/[f][i][l][e]" + # which IS a glob but only matches that particular file. if it + # doesn't exist, it will be ignored by _open(), just what + # we'd like to have when using IncludeOptional. + my ($vol,$dirs,$file) = splitpath( $incl_file ); + $incl_file = catpath($vol, $dirs, join '', map { "[$_]" } split //, $file); + } + } } else { if (/^\s*<<include\s+(["'])(.+?)>>\\s*$/i) { @@ -1583,7 +1600,8 @@ If set to a true value, the parser will consider "include ..." as valid include statement (just like the well known Apache include statement). - +It also supports apache's "IncludeOptional" statement with the same behavior, +that is, if the include file doesn't exist no error will be thrown. =item B<-IncludeRelative> @@ -1613,6 +1631,7 @@ with standard file patterns, * will not match dot-files, so <<include dir/*>> is often more desirable than including a directory with B<-IncludeDirectories>. +An include option will not cause a parser error if the glob didn't return anything. =item B<-IncludeAgain> @@ -1877,6 +1896,8 @@ configs to a file or string. You only need to set it if you want to store the config back to disk and if you have B<-SplitPolicy> set to 'custom'. +However, this parameter takes precedence over whatever is set for B<-SplitPolicy>. + Be very careful with this parameter. @@ -2724,7 +2745,7 @@ =head1 LICENSE AND COPYRIGHT -Copyright (c) 2000-2014 Thomas Linden +Copyright (c) 2000-2015 Thomas Linden This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. @@ -2753,7 +2774,7 @@ =head1 VERSION -2.58 +2.60 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/MANIFEST new/Config-General-2.60/MANIFEST --- old/Config-General-2.58/MANIFEST 2014-05-04 15:25:04.000000000 +0200 +++ new/Config-General-2.60/MANIFEST 2015-10-23 08:56:10.000000000 +0200 @@ -8,6 +8,8 @@ META.yml README t/apache-include.conf +t/apache-include-opt.conf +t/notincluded.conf.not t/cfg.16 t/cfg.16a t/cfg.17 @@ -49,3 +51,4 @@ t/Tie/IxHash.pm t/Tie/README t/cfg.51 +META.json Module JSON meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/META.json new/Config-General-2.60/META.json --- old/Config-General-2.58/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/Config-General-2.60/META.json 2015-10-23 08:56:10.000000000 +0200 @@ -0,0 +1,49 @@ +{ + "abstract" : "unknown", + "author" : [ + "unknown" + ], + "dynamic_config" : 1, + "generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.130880", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "Config-General", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "runtime" : { + "requires" : { + "File::Glob" : "0", + "File::Spec::Functions" : "0", + "FileHandle" : "0", + "IO::File" : "0" + } + } + }, + "release_status" : "stable", + "resources" : { + "repository" : { + "url" : "http://dev.catalyst.perl.org/repos/Config-General/trunk/" + } + }, + "version" : "2.60" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/META.yml new/Config-General-2.60/META.yml --- old/Config-General-2.58/META.yml 2015-05-21 19:20:25.000000000 +0200 +++ new/Config-General-2.60/META.yml 2015-10-23 08:56:10.000000000 +0200 @@ -1,26 +1,27 @@ ---- #YAML:1.0 -name: Config-General -version: 2.58 -abstract: ~ -author: [] -license: perl -distribution_type: module -configure_requires: - ExtUtils::MakeMaker: 0 +--- +abstract: unknown +author: + - unknown build_requires: - ExtUtils::MakeMaker: 0 + ExtUtils::MakeMaker: 0 +configure_requires: + ExtUtils::MakeMaker: 0 +dynamic_config: 1 +generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.130880' +license: perl +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: 1.4 +name: Config-General +no_index: + directory: + - t + - inc requires: - File::Glob: 0 - File::Spec::Functions: 0 - FileHandle: 0 - IO::File: 0 + File::Glob: 0 + File::Spec::Functions: 0 + FileHandle: 0 + IO::File: 0 resources: - repository: http://dev.catalyst.perl.org/repos/Config-General/trunk/ -no_index: - directory: - - t - - inc -generated_by: ExtUtils::MakeMaker version 6.56 -meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + repository: http://dev.catalyst.perl.org/repos/Config-General/trunk/ +version: 2.60 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/README new/Config-General-2.60/README --- old/Config-General-2.58/README 2015-05-21 19:19:58.000000000 +0200 +++ new/Config-General-2.60/README 2015-10-22 14:52:13.000000000 +0200 @@ -80,7 +80,7 @@ COPYRIGHT Config::General Config::General::Extended - Copyright (c) 2000-2014 by Thomas Linden <t...@daemon.de> + Copyright (c) 2000-2015 by Thomas Linden <t...@daemon.de> Config::General::Interpolated Copyright (c) 2001 by Wei-Hon Chen <plasmab...@pchome.com.tw> @@ -104,4 +104,4 @@ VERSION - 2.58 + 2.59 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/t/apache-include-opt.conf new/Config-General-2.60/t/apache-include-opt.conf --- old/Config-General-2.58/t/apache-include-opt.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/Config-General-2.60/t/apache-include-opt.conf 2015-10-23 08:53:20.000000000 +0200 @@ -0,0 +1,7 @@ +<bit two> + IncludeOptional t/included.conf +</bit> +<bit one> + nink ack + IncludeOptional t/notincluded.conf +</bit> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/t/notincluded.conf.not new/Config-General-2.60/t/notincluded.conf.not --- old/Config-General-2.58/t/notincluded.conf.not 1970-01-01 01:00:00.000000000 +0100 +++ new/Config-General-2.60/t/notincluded.conf.not 2015-10-22 14:41:29.000000000 +0200 @@ -0,0 +1 @@ +honk=NONONO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.58/t/run.t new/Config-General-2.60/t/run.t --- old/Config-General-2.58/t/run.t 2015-05-20 19:24:36.000000000 +0200 +++ new/Config-General-2.60/t/run.t 2015-10-22 14:41:29.000000000 +0200 @@ -8,7 +8,7 @@ use Data::Dumper; -use Test::More tests => 72; +use Test::More tests => 73; #use Test::More qw(no_plan); # ahem, we deliver the test code with a local copy of @@ -462,6 +462,19 @@ two => { honk=>'bonk' } } }, "Apache-style include" ); + +# verify fix for rt#107108, test support for IncludeOptional +my $conf38n = Config::General->new( -ConfigFile => "t/apache-include-opt.conf", + -IncludeAgain => 1, -IncludeGlob => 1, + -UseApacheInclude => 1 ); +my %C38n = $conf38n->getall; +is_deeply( \%C38n, { bit => { one => { nink=>'ack' }, + two => { honk=>'bonk' } + } }, "Apache-style IncludeOptional" ); + + + + #### 39 verifies bug rt#27225 # testing variable scope. # a variable shall resolve to the value defined in the current