r72590 - in /trunk/libconfig-std-perl: Build.PL Changes LICENSE MANIFEST META.yml Makefile.PL debian/changelog lib/Config/Std.pm t/00write.t

carnil at users.alioth.debian.org carnil at users.alioth.debian.org
Thu Apr 14 12:26:32 UTC 2011


Author: carnil
Date: Thu Apr 14 12:26:21 2011
New Revision: 72590

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=72590
Log:
* New upstream release
* Email change: Salvatore Bonaccorso -> carnil at debian.org

Added:
    trunk/libconfig-std-perl/LICENSE
      - copied unchanged from r72589, branches/upstream/libconfig-std-perl/current/LICENSE
Modified:
    trunk/libconfig-std-perl/Build.PL
    trunk/libconfig-std-perl/Changes
    trunk/libconfig-std-perl/MANIFEST
    trunk/libconfig-std-perl/META.yml
    trunk/libconfig-std-perl/Makefile.PL
    trunk/libconfig-std-perl/debian/changelog
    trunk/libconfig-std-perl/lib/Config/Std.pm
    trunk/libconfig-std-perl/t/00write.t

Modified: trunk/libconfig-std-perl/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-std-perl/Build.PL?rev=72590&op=diff
==============================================================================
--- trunk/libconfig-std-perl/Build.PL (original)
+++ trunk/libconfig-std-perl/Build.PL Thu Apr 14 12:26:21 2011
@@ -1,18 +1,30 @@
 use strict;
 use warnings;
-use Module::Build;
+use Module::Build '0.19';
 
 my $builder = Module::Build->new(
     module_name         => 'Config::Std',
     license             => 'perl',
-    dist_author         => 'Damian Conway <DCONWAY at cpan.org>',
+    create_license      => 'perl',
+    dist_author         => [ 	'Damian Conway <DCONWAY at cpan.org>',
+				'Bill Ricker <BRICKER at cpan.org>',
+				'Tom Metro <tmetro at cpan.org>'],
+
     dist_version_from   => 'lib/Config/Std.pm',
+
     requires => {
         'Test::More' => 0,
         'Class::Std' => 0,
         'version'    => 0,
+ 	'perl'       => '5.7.3',
+
+    },
+    recommends => {
+	'Test::Pod' => 0,
+	'Test::Distribution' => 0,
     },
     add_to_cleanup      => [ 'Config-Std-*' ],
+    create_makefile_pl => 'traditional', # Module::Build::Compat
 );
 
 $builder->create_build_script();

Modified: trunk/libconfig-std-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-std-perl/Changes?rev=72590&op=diff
==============================================================================
--- trunk/libconfig-std-perl/Changes (original)
+++ trunk/libconfig-std-perl/Changes Thu Apr 14 12:26:21 2011
@@ -1,55 +1,52 @@
 Revision history for Config-Std
 
-0.0.1  Wed Feb 16 04:04:39 2005
-       Initial release.
+0.9   Tue Apr 12 20:41:04 2011
+    - Change of Maintainers.
+    - Reordered Changes to latest first.
+    - Module::Build::Compat creating Makefile.PL traditional
+    - LICENSE file created (in Build.PL)
+    - 21184: require v5.7.3 (Thanks Leo)
+    - Doc patches per RT queue
+	    - 18642: Dynamic loading of Config::Std breaks the interface, doc workaround.
+                      (thanks Schwern & Uri)
+	    - 16488: Philosophy is 'as simple as possible'. (thanks Steven)
+	    - 21604: read from string_ref (thanks Todd)
 
 
-0.0.2  Wed May 25 22:30:51 2005
+0.007  Wed Nov 18 13:21:08 2009
+    - Fixed major bug in gap algorithm for new keys (thanks Jojo!)
 
-    - First public release
+
+0.0.5  Tue Sep 22 15:17:49 2009
+    - Made spacing between key/values more intelligent
+    - Added def_sep option to control that intelligence (thanks David)
+    - Added support for standard INI-style comments:   ; like this
+      (thanks William and FSD)
+    - Fixed bug in section heading parsing (thanks Kirk)
+
+
+0.0.4  Mon Feb 20 08:03:45 2006
+    - Removed spurious dependency on Smart::Comments
 
 
 0.0.3  Fri Feb 17 15:50:09 2006
-
     - Fixed bug in writing back from a hash-ref
-
     - Fixed spelling bug in append_comments (thanks Torsten!)
-
     - Added {def_sep => '='} option (thanks Nick)
-
     - Clarified use of comments with config vars 
-
     - Removed unused "" sections from read_config hash (thanks carcassonne)
-
     - Added logic to decide whether new sections have spaces after them
-
     - Changed write_config() behaviour for undefined hash entries: they now
       throw an exception (thanks David)
-
     - Added mechanism to allow read_config() and write_config() to be renamed
       when exported (thanks David)
 
 
-0.0.4  Mon Feb 20 08:03:45 2006
-
-    - Removed spurious dependency on Smart::Comments
+0.0.2  Wed May 25 22:30:51 2005
+    - First public release
 
 
-
-0.0.5  Tue Sep 22 15:17:49 2009
-
-    - Made spacing between key/values more intelligent
-
-    - Added def_sep option to control that intelligence (thanks David)
-
-    - Added support for standard INI-style comments:   ; like this
-      (thanks William and FSD)
-
-    - Fixed bug in section heading parsing (thanks Kirk)
+0.0.1  Wed Feb 16 04:04:39 2005
+    - Initial release.
 
 
-
-
-0.007  Wed Nov 18 13:21:08 2009
-
-    - Fixed major bug in gap algorithm for new keys (thanks Jojo!)

Modified: trunk/libconfig-std-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-std-perl/MANIFEST?rev=72590&op=diff
==============================================================================
--- trunk/libconfig-std-perl/MANIFEST (original)
+++ trunk/libconfig-std-perl/MANIFEST Thu Apr 14 12:26:21 2011
@@ -16,3 +16,4 @@
 t/03autoviv.t
 t/comments.t
 t/undef.t
+LICENSE

Modified: trunk/libconfig-std-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-std-perl/META.yml?rev=72590&op=diff
==============================================================================
--- trunk/libconfig-std-perl/META.yml (original)
+++ trunk/libconfig-std-perl/META.yml Thu Apr 14 12:26:21 2011
@@ -1,16 +1,39 @@
---- #YAML:1.0
-name:                Config-Std
-version:             0.007
-abstract:            Load and save configuration files in a standard format
-license:             ~
-author:              
-    - Damian Conway <DCONWAY at cpan.org>
-generated_by:        ExtUtils::MakeMaker version 6.42
-distribution_type:   module
-requires:     
-    Class::Std:                    0
-    Test::More:                    0
-    version:                       0
+---
+abstract: 'Load and save configuration files in a standard format'
+author:
+  - 'Damian Conway <DCONWAY at cpan.org>'
+  - 'Bill Ricker <BRICKER at cpan.org>'
+  - 'Tom Metro <tmetro at cpan.org>'
+configure_requires:
+  Module::Build: 0.36
+generated_by: 'Module::Build version 0.3603'
+license: perl
 meta-spec:
-    url:     http://module-build.sourceforge.net/META-spec-v1.3.html
-    version: 1.3
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Config-Std
+provides:
+  Config::Std:
+    file: lib/Config/Std.pm
+    version: 0.9
+  Config::Std::Block:
+    file: lib/Config/Std.pm
+  Config::Std::Comment:
+    file: lib/Config/Std.pm
+  Config::Std::Gap:
+    file: lib/Config/Std.pm
+  Config::Std::Hash:
+    file: lib/Config/Std.pm
+  Config::Std::Keyval:
+    file: lib/Config/Std.pm
+recommends:
+  Test::Distribution: 0
+  Test::Pod: 0
+requires:
+  Class::Std: 0
+  Test::More: 0
+  perl: v5.7.3
+  version: 0
+resources:
+  license: http://dev.perl.org/licenses/
+version: 0.9

Modified: trunk/libconfig-std-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-std-perl/Makefile.PL?rev=72590&op=diff
==============================================================================
--- trunk/libconfig-std-perl/Makefile.PL (original)
+++ trunk/libconfig-std-perl/Makefile.PL Thu Apr 14 12:26:21 2011
@@ -1,18 +1,17 @@
-use strict;
-use warnings;
+# Note: this file was auto-generated by Module::Build::Compat version 0.3603
+require 5.007003;
 use ExtUtils::MakeMaker;
-
-WriteMakefile(
-    NAME                => 'Config::Std',
-    AUTHOR              => 'Damian Conway <DCONWAY at cpan.org>',
-    VERSION_FROM        => 'lib/Config/Std.pm',
-    ABSTRACT_FROM       => 'lib/Config/Std.pm',
-    PL_FILES            => {},
-    PREREQ_PM => {
-        'Test::More' => 0,
-        'Class::Std' => 0,
-        'version'    => 0,
-    },
-    dist                => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
-    clean               => { FILES => 'Config-Std-*' },
-);
+WriteMakefile
+(
+          'PL_FILES' => {},
+          'INSTALLDIRS' => 'site',
+          'NAME' => 'Config::Std',
+          'EXE_FILES' => [],
+          'VERSION_FROM' => 'lib/Config/Std.pm',
+          'PREREQ_PM' => {
+                           'Test::More' => 0,
+                           'version' => 0,
+                           'Class::Std' => 0
+                         }
+        )
+;

Modified: trunk/libconfig-std-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-std-perl/debian/changelog?rev=72590&op=diff
==============================================================================
--- trunk/libconfig-std-perl/debian/changelog (original)
+++ trunk/libconfig-std-perl/debian/changelog Thu Apr 14 12:26:21 2011
@@ -1,6 +1,7 @@
-libconfig-std-perl (0.007-2) UNRELEASED; urgency=low
+libconfig-std-perl (0.9-1) UNRELEASED; urgency=low
 
-  * Update my email address.
+  * New upstream release
+  * Email change: Salvatore Bonaccorso -> carnil at debian.org
 
  -- Salvatore Bonaccorso <carnil at debian.org>  Sun, 10 Oct 2010 15:02:47 +0200
 

Modified: trunk/libconfig-std-perl/lib/Config/Std.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-std-perl/lib/Config/Std.pm?rev=72590&op=diff
==============================================================================
--- trunk/libconfig-std-perl/lib/Config/Std.pm (original)
+++ trunk/libconfig-std-perl/lib/Config/Std.pm Thu Apr 14 12:26:21 2011
@@ -1,6 +1,8 @@
 package Config::Std;
 
-our $VERSION = '0.007';
+our $VERSION = '0.9';
+
+require v5.7.3; # RT#21184
 
 my %global_def_sep;
 my %global_inter_gap;
@@ -273,6 +275,7 @@
 package Config::Std::Hash;
 use Class::Std;
 {
+
     use Carp;
     use Fcntl ':flock';     # import LOCK_* constants
 
@@ -493,7 +496,7 @@
 
 =head1 VERSION
 
-This document describes Config::Std version 0.007
+This document describes Config::Std version 0.900
 
 
 =head1 SYNOPSIS
@@ -524,8 +527,16 @@
 module works hard to preserve as much information (section order,
 comments, etc.) as possible when a configuration file is updated.
 
-See Chapter 19 of "Perl Best Practices" (O'Reilly, 2005) for the
-rationale for this approach.
+The whole point of Config::Std is to encourage use of one standard layout
+and syntax in config files. Damian says "I could have gotten away with it, I would have
+only allowed one separator. But it proved impossible to choose between C<:> and C<=>
+(half the people I asked wanted one, half wanted the other)." 
+Providing round-trip file re-write is the spoonful of sugar to help the medicine go down.
+The supported syntax is within the general INI file family 
+
+See Chapter 19 of "Perl Best Practices" (O'Reilly, 2005) 
+for more detail on the
+rationale for this approach. 
 
 =head2 Configuration language
 
@@ -549,6 +560,8 @@
     ; Valid comment
     key: value  ; Not a comment, just part of the value
 
+NOTE BENE -- that last is a BAD EXAMPLE of what is NOT supported. 
+This module supports full-line comments only, not on same line with semantic content.
 
 =head3 Sections
 
@@ -610,10 +623,16 @@
 
 When writing out a config file, Config::Std tries to preserve whichever
 separator was used in the original data (if that data was read
-in). New data is written back with a colon as its default separator,
-unless you specify otherwise when the module is loaded:
+in). New data 
+(created by code not parsed by C<read_config>)
+is written back with a colon as its default separator,
+unless you specify the only other separator value C<'='> when the module is loaded:
 
     use Config::Std { def_sep => '=' };
+
+Note that this does not change read-in parsing, 
+does not change punctuation for values that were parsed, 
+and will not allow values other than C<'='> or C<':'>.
 
 Everything from the first non-whitespace character after the separator,
 up to the end of the line, is treated as the value for the config variable.
@@ -779,6 +798,8 @@
 
 =item C<< read_config($filename => $config_hash_ref) >>
 
+=item C<< read_config($string_ref => %config_hash_or_ref) >>
+
 The C<read_config()> subroutine takes two arguments: the filename of a
 configuration file, and a variable into which the contents of that
 configuration file are to be loaded.
@@ -791,6 +812,28 @@
 filled as described above.
 
 The subroutine returns true on success, and throws an exception on failure.
+
+If you pass a reference to the string as the first argument to
+C<read_config()> it uses that string as the source of the config info.
+For example:
+
+	use Config::Std;
+
+	# here we load the config text to a scalar
+	my $cfg = q{
+	[Section 1]
+	attr1 = at
+	attr2 = bat
+
+	[Section 2]
+	attr3 = cat
+	};
+
+	# here we parse the config from that scalar by passing a reference to it.
+	read_config( \$cfg, my %config );
+
+	use Data::Dumper 'Dumper';
+	warn Dumper [ \%config ];
 
 
 =item C<< write_config(%config_hash => $filename) >>
@@ -910,6 +953,7 @@
 =head1 CONFIGURATION AND ENVIRONMENT
 
 Config::Std requires no configuration files or environment variables.
+(To do so would be disturbingly recursive.)
 
 
 =head1 DEPENDENCIES
@@ -919,12 +963,49 @@
 
 =head1 INCOMPATIBILITIES
 
-None reported.
+Those variants of INI file dialect supporting partial-line comment are incompatible. 
+(This is the price of keeping comments when re-writing.)
 
 
 =head1 BUGS AND LIMITATIONS
 
-No bugs have been reported.
+=over
+
+=item Loading on demand
+
+If you attempt to load C<read_config()> and C<write_config()> 
+at runtime with C<require>, you can not rely upon the prototype
+to convert a regular hash to a reference. To work around this, 
+you must explicitly pass a reference to the config hash.
+
+    require Config::Std;
+    Config::Std->import;
+
+    my %config;
+    read_config($file, \%config);
+    write_config(\%config, $file);
+
+=item Windows line endings on Unix/Linux (RT#21547/23550)
+
+If the config file being read contains carriage returns and line feeds
+at the end of each line rather than just line feeds (i.e. the standard
+Windows file format, when read on a machine expecting POSIX file format),
+Config::Std emits an error with embedded newline.
+
+Workaround is match file line-endings to locale.
+
+This will be fixed in 1.000.
+
+
+=item leading comment vanishes (RT#24597,)
+
+A comment before the first section is not always retained on write-back, if the '' default section is empty.
+
+=item 00write.t test 5 fails on perl5.8.1 (RT#17425)
+
+Due to an incompatible change in v5.8.1 partially reversed in v5.8.2, hash key randomisation can cause test to fail in that one version of Perl. Workaround is export environment variable PERL_HASH_SEED=0.
+
+=back
 
 Please report any bugs or feature requests to
 C<bug-config-std at rt.cpan.org>, or through the web interface at
@@ -934,11 +1015,14 @@
 =head1 AUTHOR
 
 Damian Conway  C<< <DCONWAY at cpan.org> >>
-
+Maintainers 
+Bill Ricker    C<< <BRICKER at cpan.org> >>
+Tom Metro      C<< <tmetro at cpan.org> >>
 
 =head1 LICENCE AND COPYRIGHT
 
-Copyright (c) 2005, Damian Conway C<< <DCONWAY at cpan.org> >>. All rights reserved.
+Copyright (c) 2005, Damian Conway C<< <DCONWAY at cpan.org> >>. 
+Copyright (c) 2011, D.Conway, W.Ricker C<< <BRICKER at cpan.org> >> All rights reserved.
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: trunk/libconfig-std-perl/t/00write.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-std-perl/t/00write.t?rev=72590&op=diff
==============================================================================
--- trunk/libconfig-std-perl/t/00write.t (original)
+++ trunk/libconfig-std-perl/t/00write.t Thu Apr 14 12:26:21 2011
@@ -1,5 +1,8 @@
 use Config::Std;
 use Test::More 'no_plan';
+
+# May fail with v5.8.1 only, 
+# if so define PERL_HASH_SEED=0 to suppress Hash Randomisation
 
 my $output_file = 'test.cfg';
 




More information about the Pkg-perl-cvs-commits mailing list