Mailinglist Archive: opensuse-commit (1139 mails)

< Previous Next >
commit perl-AppConfig
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Wed, 10 Jan 2007 17:56:15 +0100
  • Message-id: <20070110165615.5D87167817F@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package perl-AppConfig
checked in at Wed Jan 10 17:56:15 CET 2007.

--------
--- perl-AppConfig/perl-AppConfig.changes 2006-09-13 18:09:59.000000000 +0200
+++ /mounts/work_src_done/STABLE/perl-AppConfig/perl-AppConfig.changes 2007-01-10 14:19:56.000000000 +0100
@@ -1,0 +2,8 @@
+Tue Jan 9 18:52:28 CET 2007 - anicka@xxxxxxx
+
+- update to 1.64
+* Bug fix to prevent crashing for users with no home directory
+* Increase File::HomeDir dep to 0.61 which supports no home
+ directory cases properly.
+
+-------------------------------------------------------------------

Old:
----
AppConfig-1.63.tar.bz2

New:
----
AppConfig-1.64.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-AppConfig.spec ++++++
--- /var/tmp/diff_new_pack.p28822/_old 2007-01-10 17:54:27.000000000 +0100
+++ /var/tmp/diff_new_pack.p28822/_new 2007-01-10 17:54:27.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package perl-AppConfig (Version 1.63)
+# spec file for package perl-AppConfig (Version 1.64)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -11,7 +11,7 @@
# norootforbuild

Name: perl-AppConfig
-Version: 1.63
+Version: 1.64
Release: 1
Requires: perl = %{perl_version}
Autoreqprov: on
@@ -57,6 +57,11 @@
/var/adm/perl-modules/perl-AppConfig

%changelog -n perl-AppConfig
+* Tue Jan 09 2007 - anicka@xxxxxxx
+- update to 1.64
+ * Bug fix to prevent crashing for users with no home directory
+ * Increase File::HomeDir dep to 0.61 which supports no home
+ directory cases properly.
* Wed Sep 13 2006 - anicka@xxxxxxx
- update to 1.63
* removed "use warnings" and "use base Exporter"

++++++ AppConfig-1.63.tar.bz2 -> AppConfig-1.64.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/Changes new/AppConfig-1.64/Changes
--- old/AppConfig-1.63/Changes 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/Changes 2007-01-02 08:16:49.000000000 +0100
@@ -1,7 +1,18 @@
#========================================================================
+# Version 1.64 Date: 2007/01/02 (Adam Kennedy)
+#========================================================================
+
+* Bug fix to prevent crashing for users with no home directory
+
+* Increase File::HomeDir dep to 0.61 which supports no home directory
+ cases properly.
+
+#========================================================================
# Version 1.63 Date: 2006/08/03 (Adam Kennedy)
#========================================================================

+* Unified version numbers and removed repository magic
+
* Removed "use warnings" to get the Perl version dependency back to 5.005

* Removed "use base Exporter" which doesn't always work
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/lib/AppConfig/Args.pm new/AppConfig-1.64/lib/AppConfig/Args.pm
--- old/AppConfig-1.63/lib/AppConfig/Args.pm 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/lib/AppConfig/Args.pm 2007-01-02 08:16:49.000000000 +0100
@@ -1,3 +1,5 @@
+package AppConfig::Args;
+
#============================================================================
#
# AppConfig::Args.pm
@@ -14,15 +16,15 @@
#
#============================================================================

-package AppConfig::Args;
-
require 5.004;
-use AppConfig::State;
+
use strict;

+use AppConfig::State;
+
use vars qw( $VERSION );
BEGIN {
- $VERSION = '1.63';
+ $VERSION = '1.64';
}


diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/lib/AppConfig/CGI.pm new/AppConfig-1.64/lib/AppConfig/CGI.pm
--- old/AppConfig-1.63/lib/AppConfig/CGI.pm 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/lib/AppConfig/CGI.pm 2007-01-02 08:16:49.000000000 +0100
@@ -1,3 +1,5 @@
+package AppConfig::CGI;
+
#============================================================================
#
# AppConfig::CGI.pm
@@ -14,18 +16,16 @@
#
#============================================================================

-package AppConfig::CGI;
-
require 5.004;
+
use AppConfig::State;
use strict;

use vars qw( $VERSION );
BEGIN {
- $VERSION = '1.63';
+ $VERSION = '1.64';
}

-
#------------------------------------------------------------------------
# new($state, $query)
#
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/lib/AppConfig/File.pm new/AppConfig-1.64/lib/AppConfig/File.pm
--- old/AppConfig-1.63/lib/AppConfig/File.pm 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/lib/AppConfig/File.pm 2007-01-02 08:16:49.000000000 +0100
@@ -1,3 +1,5 @@
+package AppConfig::File;
+
#============================================================================
#
# AppConfig::File.pm
@@ -14,8 +16,6 @@
#
#============================================================================

-package AppConfig::File;
-
use strict;

require 5.005;
@@ -26,7 +26,7 @@

use vars qw( $VERSION );
BEGIN {
- $VERSION = '1.63';
+ $VERSION = '1.64';
}


@@ -57,9 +57,7 @@
bless $self, $class;

# Find the home directory
- my $home = File::HomeDir->my_home
- or die "Failed to locate HOME directory";
- $self->{ HOME } = $home;
+ $self->{HOME} = File::HomeDir->my_home;

# call parse(@_) to parse any files specified as further params
$self->parse(@_) if @_;
@@ -689,10 +687,10 @@

bin = ~/bin # expand '~' to home dir if EXPAND_UID
tmp = ~abw/tmp # as above, but home dir for user 'abw'
-
+
perl = $bin/perl # expand value of 'bin' variable if EXPAND_VAR
ripl = $(bin)/ripl # as above with explicit parens
-
+
home = ${HOME} # expand HOME environment var if EXPAND_ENV

See L<AppConfig::State> for more information on expanding variable values.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/lib/AppConfig/Getopt.pm new/AppConfig-1.64/lib/AppConfig/Getopt.pm
--- old/AppConfig-1.63/lib/AppConfig/Getopt.pm 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/lib/AppConfig/Getopt.pm 2007-01-02 08:16:49.000000000 +0100
@@ -1,3 +1,5 @@
+package AppConfig::Getopt;
+
#============================================================================
#
# AppConfig::Getopt.pm
@@ -19,8 +21,6 @@
#
#============================================================================

-package AppConfig::Getopt;
-
require 5.005;
use AppConfig::State;
use Getopt::Long 2.17;
@@ -28,7 +28,7 @@

use vars qw( $VERSION );
BEGIN {
- $VERSION = '1.63';
+ $VERSION = '1.64';
}

#------------------------------------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/lib/AppConfig/State.pm new/AppConfig-1.64/lib/AppConfig/State.pm
--- old/AppConfig-1.63/lib/AppConfig/State.pm 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/lib/AppConfig/State.pm 2007-01-02 08:16:49.000000000 +0100
@@ -1,3 +1,5 @@
+package AppConfig::State;
+
#============================================================================
#
# AppConfig::State.pm
@@ -38,15 +40,13 @@
#
#============================================================================

-package AppConfig::State;
-
require 5.004;

use strict;

use vars qw( $VERSION $DEBUG $AUTOLOAD );
BEGIN {
- $VERSION = '1.63';
+ $VERSION = '1.64';
$DEBUG = 0;
}

diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/lib/AppConfig/Sys.pm new/AppConfig-1.64/lib/AppConfig/Sys.pm
--- old/AppConfig-1.63/lib/AppConfig/Sys.pm 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/lib/AppConfig/Sys.pm 2007-01-02 08:16:49.000000000 +0100
@@ -1,3 +1,5 @@
+package AppConfig::Sys;
+
#============================================================================
#
# AppConfig::Sys.pm
@@ -14,9 +16,8 @@
#
#============================================================================

-package AppConfig::Sys;
-
require 5.004;
+
use strict;
use vars qw( $AUTOLOAD $OS %CAN %METHOD);
use POSIX qw( getpwnam getpwuid );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/lib/AppConfig.pm new/AppConfig-1.64/lib/AppConfig.pm
--- old/AppConfig-1.63/lib/AppConfig.pm 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/lib/AppConfig.pm 2007-01-02 08:16:49.000000000 +0100
@@ -1,3 +1,5 @@
+package AppConfig;
+
#============================================================================
#
# AppConfig.pm
@@ -14,48 +16,62 @@
#
#============================================================================

-package AppConfig;
-
use strict;

require 5.005;

## This is the main version number for AppConfig
## It is extracted by ExtUtils::MakeMaker and inserted in various places.
-use vars qw{$VERSION @ISA };
+use vars qw{$VERSION @ISA};
BEGIN {
require Exporter;
- $VERSION = '1.63';
+
+ $VERSION = '1.64';
@ISA = qw{ Exporter };
}

# variable expansion constants
-use constant EXPAND_NONE => 0;
-use constant EXPAND_VAR => 1;
-use constant EXPAND_UID => 2;
-use constant EXPAND_ENV => 4;
-use constant EXPAND_ALL => EXPAND_VAR | EXPAND_UID | EXPAND_ENV;
-use constant EXPAND_WARN => 8;
+use constant EXPAND_NONE => 0;
+use constant EXPAND_VAR => 1;
+use constant EXPAND_UID => 2;
+use constant EXPAND_ENV => 4;
+use constant EXPAND_ALL => EXPAND_VAR | EXPAND_UID | EXPAND_ENV;
+use constant EXPAND_WARN => 8;

# argument count types
-use constant ARGCOUNT_NONE => 0;
-use constant ARGCOUNT_ONE => 1;
-use constant ARGCOUNT_LIST => 2;
-use constant ARGCOUNT_HASH => 3;
+use constant ARGCOUNT_NONE => 0;
+use constant ARGCOUNT_ONE => 1;
+use constant ARGCOUNT_LIST => 2;
+use constant ARGCOUNT_HASH => 3;

# Exporter tagsets
-my @EXPAND = qw(EXPAND_NONE EXPAND_VAR EXPAND_UID EXPAND_ENV
- EXPAND_ALL EXPAND_WARN);
-my @ARGCOUNT = qw(ARGCOUNT_NONE ARGCOUNT_ONE ARGCOUNT_LIST ARGCOUNT_HASH);
+my @EXPAND = qw(
+ EXPAND_NONE
+ EXPAND_VAR
+ EXPAND_UID
+ EXPAND_ENV
+ EXPAND_ALL
+ EXPAND_WARN
+ );
+
+my @ARGCOUNT = qw(
+ ARGCOUNT_NONE
+ ARGCOUNT_ONE
+ ARGCOUNT_LIST
+ ARGCOUNT_HASH
+ );

use vars qw( $AUTOLOAD @EXPORT_OK %EXPORT_TAGS );
-@EXPORT_OK = (@EXPAND, @ARGCOUNT);
+@EXPORT_OK = ( @EXPAND, @ARGCOUNT );
%EXPORT_TAGS = (
expand => [ @EXPAND ],
argcount => [ @ARGCOUNT ],
);


+
+
+
#------------------------------------------------------------------------
# new(\%config, @vars)
#
@@ -65,20 +81,23 @@
#------------------------------------------------------------------------

sub new {
- my $class = shift;
+ my $class = shift;
+
+ require AppConfig::State;

- require AppConfig::State;
+ my $self = {
+ STATE => AppConfig::State->new(@_)
+ };

- my $self = {
- STATE => AppConfig::State->new(@_)
- };
+ bless $self, $class;

- bless $self, $class;
-
- return $self;
+ return $self;
}


+
+
+
#------------------------------------------------------------------------
# file(@files)
#
@@ -88,20 +107,23 @@
#------------------------------------------------------------------------

sub file {
- my $self = shift;
- my $state = $self->{ STATE };
- my $file;
+ my $self = shift;
+ my $state = $self->{ STATE };
+ my $file;

- require AppConfig::File;
+ require AppConfig::File;

- # create an AppConfig::File object if one isn't defined
- $file = $self->{ FILE } ||= AppConfig::File->new($state);
+ # create an AppConfig::File object if one isn't defined
+ $file = $self->{ FILE } ||= AppConfig::File->new($state);

- # call on the AppConfig::File object to process files.
- $file->parse(@_);
+ # call on the AppConfig::File object to process files.
+ $file->parse(@_);
}


+
+
+
#------------------------------------------------------------------------
# args(\@args)
#
@@ -111,20 +133,23 @@
#------------------------------------------------------------------------

sub args {
- my $self = shift;
- my $state = $self->{ STATE };
- my $args;
+ my $self = shift;
+ my $state = $self->{ STATE };
+ my $args;

- require AppConfig::Args;
+ require AppConfig::Args;

- # create an AppConfig::Args object if one isn't defined
- $args = $self->{ ARGS } ||= AppConfig::Args->new($state);
+ # create an AppConfig::Args object if one isn't defined
+ $args = $self->{ ARGS } ||= AppConfig::Args->new($state);

- # call on the AppConfig::Args object to process arguments.
- $args->parse(shift);
+ # call on the AppConfig::Args object to process arguments.
+ $args->parse(shift);
}


+
+
+
#------------------------------------------------------------------------
# getopt(@config, \@args)
#
@@ -134,20 +159,23 @@
#------------------------------------------------------------------------

sub getopt {
- my $self = shift;
- my $state = $self->{ STATE };
- my $getopt;
+ my $self = shift;
+ my $state = $self->{ STATE };
+ my $getopt;

- require AppConfig::Getopt;
+ require AppConfig::Getopt;

- # create an AppConfig::Getopt object if one isn't defined
- $getopt = $self->{ GETOPT } ||= AppConfig::Getopt->new($state);
+ # create an AppConfig::Getopt object if one isn't defined
+ $getopt = $self->{ GETOPT } ||= AppConfig::Getopt->new($state);

- # call on the AppConfig::Getopt object to process arguments.
- $getopt->parse(@_);
+ # call on the AppConfig::Getopt object to process arguments.
+ $getopt->parse(@_);
}


+
+
+
#------------------------------------------------------------------------
# cgi($query)
#
@@ -157,19 +185,22 @@
#------------------------------------------------------------------------

sub cgi {
- my $self = shift;
- my $state = $self->{ STATE };
- my $cgi;
+ my $self = shift;
+ my $state = $self->{ STATE };
+ my $cgi;

- require AppConfig::CGI;
+ require AppConfig::CGI;

- # create an AppConfig::CGI object if one isn't defined
- $cgi = $self->{ CGI } ||= AppConfig::CGI->new($state);
+ # create an AppConfig::CGI object if one isn't defined
+ $cgi = $self->{ CGI } ||= AppConfig::CGI->new($state);

- # call on the AppConfig::CGI object to process a query.
- $cgi->parse(shift);
+ # call on the AppConfig::CGI object to process a query.
+ $cgi->parse(shift);
}

+
+
+

#------------------------------------------------------------------------
# AUTOLOAD
@@ -179,21 +210,21 @@
# AppConfig::State object.
#
#------------------------------------------------------------------------
+
sub AUTOLOAD {
- my $self = shift;
- my $method;
+ my $self = shift;
+ my $method;

- # splat the leading package name
- ($method = $AUTOLOAD) =~ s/.*:://;
+ # splat the leading package name
+ ($method = $AUTOLOAD) =~ s/.*:://;

- # ignore destructor
- $method eq 'DESTROY' && return;
+ # ignore destructor
+ $method eq 'DESTROY' && return;

- # delegate method call to AppConfig::State object in $self->{ STATE }
- $self->{ STATE }->$method(@_);
+ # delegate method call to AppConfig::State object in $self->{ STATE }
+ $self->{ STATE }->$method(@_);
}

-
1;

__END__
@@ -205,34 +236,37 @@
=head1 SYNOPSIS

use AppConfig;
-
+
# create a new AppConfig object
- my $config = AppConfig->new(\%cfg);
-
+ my $config = AppConfig->new( \%cfg );
+
# define a new variable
- $config->define($varname => \%varopts);
-
+ $config->define( $varname => \%varopts );
+
# create/define combined
- my $config = AppConfig->new(\%cfg,
- $varname => \%varopts, $varname => \%varopts, ...);
-
+ my $config = AppConfig->new( \%cfg,
+ $varname => \%varopts,
+ $varname => \%varopts,
+ ...
+ );
+
# set/get the value
- $config->set($varname, $value);
+ $config->set( $varname, $value );
$config->get($varname);
-
+
# shortcut form
$config->varname($value);
- $config->varname();
-
+ $config->varname;
+
# read configuration file
$config->file($file);
-
+
# parse command line options
$config->args(\@args); # default to \@ARGV
-
+
# advanced command line options with Getopt::Long
$config->getopt(\@args); # default to \@ARGV
-
+
# parse CGI parameters (GET method)
$config->cgi($query); # default to $ENV{ QUERY_STRING }

@@ -252,14 +286,14 @@
verbose
nohelp
debug = On
-
+
# single value
home = /home/abw/
-
+
# multiple list value
file = /tmp/file1
file = /tmp/file2
-
+
# multiple hash value
book camel = Programming Perl
book llama = Learning Perl
@@ -287,7 +321,7 @@
src = ~/websrc/docs/$site
lib = ~/websrc/lib
dest = ~/public_html/$site
-
+
[page]
header = $lib/header
footer = $lib/footer
@@ -299,7 +333,7 @@
line 1
line 2
FOOBAR
-
+
paths exe = "${PATH}:${HOME}/.bin"
paths link = <<'FOO'
${LD_LIBARRAY_PATH}:${HOME}/lib
@@ -322,9 +356,9 @@

AppConfig requires Perl 5.005 or later.

-The Getopt::Long and Test::More modules should be installed. If you
-are using a recent version of Perl (e.g. 5.8.0) then these should
-already be installed.
+The L<Getopt::Long> and L<Test::More> modules should be installed.
+If you are using a recent version of Perl (e.g. 5.8.0) then these
+should already be installed.

=head1 OBTAINING AND INSTALLING THE AppConfig MODULE BUNDLE

@@ -334,9 +368,9 @@
CPAN stands for the Comprehensive Perl Archive Network.
This is a globally replicated collection of all known Perl
materials, including hundreds of unbundled modules.
-
+
[...]
-
+
For an up-to-date listing of CPAN sites, see
http://www.perl.com/perl/ or ftp://ftp.perl.com/perl/ .

@@ -390,7 +424,7 @@

=head2 USING THE AppConfig MODULE

-To import and use the AppConfig module the following line should
+To import and use the L<AppConfig> module the following line should
appear in your Perl script:

use AppConfig;
@@ -420,14 +454,14 @@
The first (optional) parameter may be a reference to a hash array
containing configuration information.

- my $config = AppConfig->new({
+ my $config = AppConfig->new( {
CASE => 1,
ERROR => \&my_error,
GLOBAL => {
DEFAULT => "<unset>",
ARGCOUNT => ARGCOUNT_ONE,
},
- });
+ } );

See L<AppConfig::State> for full details of the configuration options
available. These are, in brief:
@@ -464,7 +498,7 @@
to the define() method, described below in L<DEFINING VARIABLES>.

my $config = AppConfig->new("foo", "bar", "baz");
- my $config = AppConfig->new({ CASE => 1 }, qw(foo bar baz));
+ my $config = AppConfig->new( { CASE => 1 }, qw(foo bar baz) );

Note that any unresolved method calls to AppConfig are automatically
delegated to the AppConfig::State object. In practice, it means that
@@ -473,7 +507,7 @@

# create AppConfig
my $config = AppConfig->new('foo', 'bar');
-
+
# methods get passed through to internal AppConfig::State
$config->foo(100);
$config->set('bar', 200);
@@ -504,12 +538,12 @@
Configuration items specified in the GLOBAL option to the module
constructor are applied by default when variables are created. e.g.

- my $config = AppConfig->new({
- GLOBAL => {
- DEFAULT => "<undef>",
- ARGCOUNT => ARGCOUNT_ONE,
- }
- });
+ my $config = AppConfig->new( {
+ GLOBAL => {
+ DEFAULT => "<undef>",
+ ARGCOUNT => ARGCOUNT_ONE,
+ }
+ } );

$config->define("foo");
$config->define("bar", { ARGCOUNT => ARGCOUNT_NONE } );
@@ -517,16 +551,16 @@
is equivalent to:

my $config = AppConfig->new();
-
- $config->define("foo", {
- DEFAULT => "<undef>",
- ARGCOUNT => ARGCOUNT_ONE,
- });
-
- $config->define("bar",
- DEFAULT => "<undef>",
- ARGCOUNT => ARGCOUNT_NONE,
- });
+
+ $config->define( "foo", {
+ DEFAULT => "<undef>",
+ ARGCOUNT => ARGCOUNT_ONE,
+ } );
+
+ $config->define( "bar",
+ DEFAULT => "<undef>",
+ ARGCOUNT => ARGCOUNT_NONE,
+ } );

Multiple variables may be defined in the same call to define().
Configuration hashes for variables can be omitted.
@@ -609,31 +643,30 @@
equivalent full specifications:

$config->define("foo|bar|baz!");
-
+
$config->define(
"foo" => {
ALIAS => "bar|baz",
ARGCOUNT => ARGCOUNT_NONE,
});
-
+
$config->define("name=s");
-
+
$config->define(
"name" => {
ARGCOUNT => ARGCOUNT_ONE,
});
-
+
$config->define("file|filelist|f=s@");
-
+
$config->define(
"file" => {
ALIAS => "filelist|f",
ARGCOUNT => ARGCOUNT_LIST,
});
-
-
+
$config->define("user|u=s%");
-
+
$config->define(
"user" => {
ALIAS => "u",
@@ -819,10 +852,10 @@

bin = ~/bin # expand '~' to home dir if EXPAND_UID
tmp = ~abw/tmp # as above, but home dir for user 'abw'
-
+
perl = $bin/perl # expand value of 'bin' variable if EXPAND_VAR
ripl = $(bin)/ripl # as above with explicit parens
-
+
home = ${HOME} # expand HOME environment var if EXPAND_ENV

See L<AppConfig::State> for more information on expanding variable values.
@@ -836,7 +869,7 @@

[block1]
foo = 10 # block1_foo = 10
-
+
[block2]
foo = 20 # block2_foo = 20

@@ -893,13 +926,13 @@

myprog -file /tmp/foo -file /tmp/bar # $config->file('/tmp/foo')
# $config->file('/tmp/bar')
-
+
# file => [ '/tmp/foo', '/tmp/bar' ]

myprog -door "jim=Jim Morrison" -door "ray=Ray Manzarek"
# $config->door("jim=Jim Morrison");
# $config->door("ray=Ray Manzarek");
-
+
# door => { 'jim' => 'Jim Morrison', 'ray' => 'Ray Manzarek' }

See L<AppConfig::Args> for further details on parsing command line
@@ -927,10 +960,10 @@
by a vertical bar '|') and the value of the ARGS parameter.

$config->define("foo", {
- ARGS => "=i",
- ALIAS => "bar|baz",
+ ARGS => "=i",
+ ALIAS => "bar|baz",
});
-
+
# Getopt::Long specification: "foo|bar|baz=i"

Errors and warning generated by the Getopt::Long module are trapped and
@@ -965,8 +998,8 @@
to restore the parameters to their intended values.

http://where.com/mycgi?title=%22The+Wrong+Trousers%22
-
- # $config->title('"The Wrong Trousers"');
+
+ # $config->title('"The Wrong Trousers"');

Please be considerate of the security implications of providing writeable
access to script variables via CGI.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/Makefile.PL new/AppConfig-1.64/Makefile.PL
--- old/AppConfig-1.63/Makefile.PL 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/Makefile.PL 2007-01-02 08:16:49.000000000 +0100
@@ -5,7 +5,7 @@
'VERSION_FROM' => 'lib/AppConfig.pm', # finds $VERSION
'PMLIBDIRS' => [ 'lib' ],
'PREREQ_PM' => {
- 'File::HomeDir' => '0.57',
+ 'File::HomeDir' => '0.61',
'Test::More' => 0,
},
'MAN3PODS' => {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/MANIFEST new/AppConfig-1.64/MANIFEST
--- old/AppConfig-1.63/MANIFEST 2006-08-03 04:26:32.000000000 +0200
+++ new/AppConfig-1.64/MANIFEST 2007-01-02 08:16:52.000000000 +0100
@@ -10,7 +10,7 @@
Makefile.PL
MANIFEST
README
-t/99_pod.t
+t/99_author.t
t/appconfig.t
t/args.t
t/block.t
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/META.yml new/AppConfig-1.64/META.yml
--- old/AppConfig-1.63/META.yml 2006-08-03 04:26:35.000000000 +0200
+++ new/AppConfig-1.64/META.yml 2007-01-02 08:16:52.000000000 +0100
@@ -1,12 +1,15 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
-name: AppConfig
-version: 1.63
-version_from: lib/AppConfig.pm
-installdirs: site
-requires:
- File::HomeDir: 0.57
+--- #YAML:1.0
+name: AppConfig
+version: 1.64
+abstract: AppConfig is a bundle of Perl5 modules for reading configuration files and parsing command line arguments.
+license: ~
+generated_by: ExtUtils::MakeMaker version 6.31
+distribution_type: module
+requires:
+ File::HomeDir: 0.61
Test::More: 0
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.17
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.2.html
+ version: 1.2
+author:
+ - Andy Wardley <abw@xxxxxxxxxxx>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/README new/AppConfig-1.64/README
--- old/AppConfig-1.63/README 2006-08-03 04:26:36.000000000 +0200
+++ new/AppConfig-1.64/README 2007-01-02 08:16:52.000000000 +0100
@@ -843,34 +843,37 @@

SYNOPSIS
use AppConfig;
-
+
# create a new AppConfig object
- my $config = AppConfig->new(\%cfg);
-
+ my $config = AppConfig->new( \%cfg );
+
# define a new variable
- $config->define($varname => \%varopts);
-
+ $config->define( $varname => \%varopts );
+
# create/define combined
- my $config = AppConfig->new(\%cfg,
- $varname => \%varopts, $varname => \%varopts, ...);
-
+ my $config = AppConfig->new( \%cfg,
+ $varname => \%varopts,
+ $varname => \%varopts,
+ ...
+ );
+
# set/get the value
- $config->set($varname, $value);
+ $config->set( $varname, $value );
$config->get($varname);
-
+
# shortcut form
$config->varname($value);
- $config->varname();
-
+ $config->varname;
+
# read configuration file
$config->file($file);
-
+
# parse command line options
$config->args(\@args); # default to \@ARGV
-
+
# advanced command line options with Getopt::Long
$config->getopt(\@args); # default to \@ARGV
-
+
# parse CGI parameters (GET method)
$config->cgi($query); # default to $ENV{ QUERY_STRING }

@@ -889,14 +892,14 @@
verbose
nohelp
debug = On
-
+
# single value
home = /home/abw/
-
+
# multiple list value
file = /tmp/file1
file = /tmp/file2
-
+
# multiple hash value
book camel = Programming Perl
book llama = Learning Perl
@@ -924,7 +927,7 @@
src = ~/websrc/docs/$site
lib = ~/websrc/lib
dest = ~/public_html/$site
-
+
[page]
header = $lib/header
footer = $lib/footer
@@ -936,7 +939,7 @@
line 1
line 2
FOOBAR
-
+
paths exe = "${PATH}:${HOME}/.bin"
paths link = <<'FOO'
${LD_LIBARRAY_PATH}:${HOME}/lib
@@ -969,9 +972,9 @@
CPAN stands for the Comprehensive Perl Archive Network.
This is a globally replicated collection of all known Perl
materials, including hundreds of unbundled modules.
-
+
[...]
-
+
For an up-to-date listing of CPAN sites, see
http://www.perl.com/perl/ or ftp://ftp.perl.com/perl/ .

@@ -1052,14 +1055,14 @@
The first (optional) parameter may be a reference to a hash array
containing configuration information.

- my $config = AppConfig->new({
+ my $config = AppConfig->new( {
CASE => 1,
ERROR => \&my_error,
GLOBAL => {
DEFAULT => "<unset>",
ARGCOUNT => ARGCOUNT_ONE,
},
- });
+ } );

See AppConfig::State for full details of the configuration options
available. These are, in brief:
@@ -1087,7 +1090,7 @@
the define() method, described below in "DEFINING VARIABLES".

my $config = AppConfig->new("foo", "bar", "baz");
- my $config = AppConfig->new({ CASE => 1 }, qw(foo bar baz));
+ my $config = AppConfig->new( { CASE => 1 }, qw(foo bar baz) );

Note that any unresolved method calls to AppConfig are automatically
delegated to the AppConfig::State object. In practice, it means that it
@@ -1096,7 +1099,7 @@

# create AppConfig
my $config = AppConfig->new('foo', 'bar');
-
+
# methods get passed through to internal AppConfig::State
$config->foo(100);
$config->set('bar', 200);
@@ -1126,12 +1129,12 @@
Configuration items specified in the GLOBAL option to the module
constructor are applied by default when variables are created. e.g.

- my $config = AppConfig->new({
- GLOBAL => {
- DEFAULT => "<undef>",
- ARGCOUNT => ARGCOUNT_ONE,
- }
- });
+ my $config = AppConfig->new( {
+ GLOBAL => {
+ DEFAULT => "<undef>",
+ ARGCOUNT => ARGCOUNT_ONE,
+ }
+ } );

$config->define("foo");
$config->define("bar", { ARGCOUNT => ARGCOUNT_NONE } );
@@ -1139,16 +1142,16 @@
is equivalent to:

my $config = AppConfig->new();
-
- $config->define("foo", {
- DEFAULT => "<undef>",
- ARGCOUNT => ARGCOUNT_ONE,
- });
-
- $config->define("bar",
- DEFAULT => "<undef>",
- ARGCOUNT => ARGCOUNT_NONE,
- });
+
+ $config->define( "foo", {
+ DEFAULT => "<undef>",
+ ARGCOUNT => ARGCOUNT_ONE,
+ } );
+
+ $config->define( "bar",
+ DEFAULT => "<undef>",
+ ARGCOUNT => ARGCOUNT_NONE,
+ } );

Multiple variables may be defined in the same call to define().
Configuration hashes for variables can be omitted.
@@ -1222,30 +1225,30 @@
equivalent full specifications:

$config->define("foo|bar|baz!");
-
+
$config->define(
"foo" => {
ALIAS => "bar|baz",
ARGCOUNT => ARGCOUNT_NONE,
});
-
+
$config->define("name=s");
-
+
$config->define(
"name" => {
ARGCOUNT => ARGCOUNT_ONE,
});
-
+
$config->define("file|filelist|f=s@");
-
+
$config->define(
"file" => {
ALIAS => "filelist|f",
ARGCOUNT => ARGCOUNT_LIST,
});
-
+
$config->define("user|u=s%");
-
+
$config->define(
"user" => {
ALIAS => "u",
@@ -1429,10 +1432,10 @@

bin = ~/bin # expand '~' to home dir if EXPAND_UID
tmp = ~abw/tmp # as above, but home dir for user 'abw'
-
+
perl = $bin/perl # expand value of 'bin' variable if EXPAND_VAR
ripl = $(bin)/ripl # as above with explicit parens
-
+
home = ${HOME} # expand HOME environment var if EXPAND_ENV

See AppConfig::State for more information on expanding variable values.
@@ -1446,7 +1449,7 @@

[block1]
foo = 10 # block1_foo = 10
-
+
[block2]
foo = 20 # block2_foo = 20

@@ -1502,13 +1505,13 @@

myprog -file /tmp/foo -file /tmp/bar # $config->file('/tmp/foo')
# $config->file('/tmp/bar')
-
+
# file => [ '/tmp/foo', '/tmp/bar' ]

myprog -door "jim=Jim Morrison" -door "ray=Ray Manzarek"
# $config->door("jim=Jim Morrison");
# $config->door("ray=Ray Manzarek");
-
+
# door => { 'jim' => 'Jim Morrison', 'ray' => 'Ray Manzarek' }

See AppConfig::Args for further details on parsing command line
@@ -1539,7 +1542,7 @@
ARGS => "=i",
ALIAS => "bar|baz",
});
-
+
# Getopt::Long specification: "foo|bar|baz=i"

Errors and warning generated by the Getopt::Long module are trapped and
@@ -1572,8 +1575,8 @@
to restore the parameters to their intended values.

http://where.com/mycgi?title=%22The+Wrong+Trousers%22
-
- # $config->title('"The Wrong Trousers"');
+
+ # $config->title('"The Wrong Trousers"');

Please be considerate of the security implications of providing
writeable access to script variables via CGI.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/t/99_author.t new/AppConfig-1.64/t/99_author.t
--- old/AppConfig-1.63/t/99_author.t 1970-01-01 01:00:00.000000000 +0100
+++ new/AppConfig-1.64/t/99_author.t 2007-01-02 08:16:49.000000000 +0100
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use strict;
+BEGIN {
+ $| = 1;
+ $^W = 1;
+}
+use Test::More;
+
+# Skip if doing a regular install
+unless ( $ENV{AUTOMATED_TESTING} ) {
+ plan( skip_all => "Author tests not required for installation" );
+}
+
+# Can we run the POD tests?
+eval "use Test::Pod 1.00";
+if ( $@ ) {
+ plan( skip_all => "Test::Pod 1.00 required for testing POD" );
+}
+
+
+
+
+
+#####################################################################
+# WARNING: INSANE BLACK MAGIC
+#####################################################################
+
+# Hack Pod::Simple::BlackBox to ignore the Test::Inline
+# "Extended Begin" syntax.
+# For example, "=begin has more than one word errors"
+my $begin = \&Pod::Simple::BlackBox::_ponder_begin;
+sub mybegin {
+ my $para = $_[1];
+ my $content = join ' ', splice @$para, 2;
+ $content =~ s/^\s+//s;
+ $content =~ s/\s+$//s;
+ my @words = split /\s+/, $content;
+ if ( $words[0] =~ /^test(?:ing)?\z/s ) {
+ foreach ( 2 .. $#$para ) {
+ $para->[$_] = '';
+ }
+ $para->[2] = $words[0];
+ }
+
+ # Continue as normal
+ push @$para, @words;
+ return &$begin(@_);
+}
+
+SCOPE: {
+ local $^W = 0;
+ *Pod::Simple::BlackBox::_ponder_begin = \&mybegin;
+}
+
+#####################################################################
+# END BLACK MAGIC
+#####################################################################
+
+# Test POD
+all_pod_files_ok();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/t/99_pod.t new/AppConfig-1.64/t/99_pod.t
--- old/AppConfig-1.63/t/99_pod.t 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/t/99_pod.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-use Test::More;
-eval "use Test::Pod 1.00";
-plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
-
-#####################################################################
-# WARNING: INSANE BLACK MAGIC
-#####################################################################
-
-# Hack Pod::Simple::BlackBox to ignore the Test::Inline "=begin has more than one word errors"
-my $begin = \&Pod::Simple::BlackBox::_ponder_begin;
-sub mybegin {
- my $para = $_[1];
- my $content = join ' ', splice @$para, 2;
- $content =~ s/^\s+//s;
- $content =~ s/\s+$//s;
- my @words = split /\s+/, $content;
- if ( $words[0] =~ /^test(?:ing)?\z/s ) {
- foreach ( 2 .. $#$para ) {
- $para->[$_] = '';
- }
- $para->[2] = $words[0];
- }
-
- # Continue as normal
- push @$para, @words;
- return &$begin(@_);
-}
-
-local $^W = 0;
-*Pod::Simple::BlackBox::_ponder_begin = \&mybegin;
-
-#####################################################################
-# END BLACK MAGIC
-#####################################################################
-
-all_pod_files_ok();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/t/block.t new/AppConfig-1.64/t/block.t
--- old/AppConfig-1.63/t/block.t 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/t/block.t 2007-01-02 08:16:49.000000000 +0100
@@ -27,14 +27,21 @@
#------------------------------------------------------------------------
# create new AppConfig::State and AppConfig::File objects

-my $state = AppConfig::State->new({
- GLOBAL => { ARGCOUNT => ARGCOUNT_ONE },
+my $state = AppConfig::State->new(
+ {
+ GLOBAL => {
+ ARGCOUNT => ARGCOUNT_ONE,
+ },
},
'foo',
'bar',
- 'dir_home', { EXPAND => EXPAND_ENV },
- 'dir_html', { EXPAND => EXPAND_ENV },
- );
+ 'dir_home', {
+ EXPAND => EXPAND_ENV,
+ },
+ 'dir_html', {
+ EXPAND => EXPAND_ENV,
+ },
+ );

# $state->_debug(1);

@@ -51,15 +58,17 @@


#5 - #6: test simple variable values got set correctly
-ok( $state->foo() eq 'This is foo' );
-ok( $state->bar() eq 'This is bar' );
+ok( $state->foo eq 'This is foo' );
+ok( $state->bar eq 'This is bar' );

#7 - #8: test [dir] block variables got set correctly
my $env_home = defined $ENV{ HOME }
? $ENV{ HOME }
: File::HomeDir->my_home;
-ok( $state->dir_home() eq $env_home );
-ok( $state->dir_html() eq ($env_home . '/public_html') );
+ok( $state->dir_home eq $env_home );
+ok( $state->dir_html eq ($env_home . '/public_html') );
+
+



diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/AppConfig-1.63/t/file.t new/AppConfig-1.64/t/file.t
--- old/AppConfig-1.63/t/file.t 2006-08-03 04:26:31.000000000 +0200
+++ new/AppConfig-1.64/t/file.t 2007-01-02 08:16:49.000000000 +0100
@@ -31,6 +31,7 @@

use AppConfig qw(:expand :argcount);
use AppConfig::File;
+use File::HomeDir;
ok(1);


@@ -105,14 +106,18 @@
# cash should *not* be expanded (EXPAND_NONE) to protect '$'
ok( $state->cash() eq 'I won $200!' );

-# hdir expands variables ($html) but not uids (~)
-ok( $state->hdir() eq '~/public_html' );
+SKIP: {
+ skip("User does not have a home directory", 2) unless defined File::HomeDir->my_home;

-# see if "[~/$html]" matches "[${HOME}/$html]". It may fail if your
-# platform doesn't provide getpwuid(). See AppConfig::Sys for details.
-my ($one, $two) =
- $state->same() =~ / \[ ( [^\]]+ ) \] \s+=>\s+ \[ ( [^\]]+ ) \]/gx;
-is( $one, $two, 'one is two' );
+ # hdir expands variables ($html) but not uids (~)
+ ok( $state->hdir() eq '~/public_html' );
+
+ # see if "[~/$html]" matches "[${HOME}/$html]". It may fail if your
+ # platform doesn't provide getpwuid(). See AppConfig::Sys for details.
+ my ($one, $two) =
+ $state->same() =~ / \[ ( [^\]]+ ) \] \s+=>\s+ \[ ( [^\]]+ ) \]/gx;
+ is( $one, $two, 'one is two' );
+}

# test that "split" came out the same as "same"
is( $state->same(), $state->split(), 'same split' );


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages