to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
Approved by MAINTAINER.
Upstream changes:
2.48
- arg, uploaded the wrong file to pause, so another version
bump up.
- fixed typos in pod section for -ForceArray.
2.47
- fixed rt.cpan.org#53759 by adding new option -ForceArray.
when enabled a single config value enclosed in [] will become
an array forcefully.
- fixed typo in license: it is "artistic", not "artificial".
2.46
- fixed rt.cpan.org#56370: there was a sort() call in _store()
left, which lead to sorted arrays even if -SaveSorted were
turned off.
2.45
- fixed rt.cpan.org#50647 escaping bug. Now escaped $ or
backslash characters are handled correctly (across save too)
- fixed rt.cpan.org#52047, tied hash will remain tied
when savong to a file.
- fixed rt.cpan.org#54580, preserve single quotes during
variable interpolation corrected. No more using rand()
to mark single quotes but an incrementor instead.
- fixed rt.cpan.org#42721+54583, empty config values will no
more handed over to interpreting methods (as interpolate
or autotrue and the like) but returned as undef untouched.
- Updating package for p5 module Config::General from 2.42 to 2.43
- Adding perl license as license (from module POD)
Upstream changes:
2.43
- fixed rt.cpan.org#40925, $indichar replaced by internal
configuration variable EOFseparator, which contains
a 256 bit SHA checksum of the date I fixed the bug.
This will prevent future conflicts hopefully. In addition
it makes it possible to make it customizable, if neccessary,
in a future release.
- fixed rt.cpan.org#42721, return undef for empty values
- fixed rt.cpan.org#42331, return undef for empty objects
- fixed rt.cpan.org#44600, comments after blockname
causes parser failure.
- fixed rt.cpan.org#42287, whitespace at beginning or end
of a quoted value gets lost after save().
- fixed rt.cpan.org#46184, variables that were not previously
defined are deleted when -InterPolateEnv is enabled.
- fixed bug in config loader for FileHandle objects, it
supports now any compatible object. Hint by Ingo Schmiegel.
- applied spelling- and speedup patches by Ville Skytt"a.
- applied documentation patch by Jordan Macdonald.
2.42
- dist tarball for 2.41 missed t/Tie/LxHash.pm. Dammit.
the File to the MANIFEST.
2.41
- fixed rt.cpan.org#38635. apache-like include now supports
quoted strings.
- fixed rt.cpan.org#41748. saving config with -tie enabled
now keeps the tie as documented.
- added unit test for -tie. For this to work, a copy of
Tie::LxHash module is delivered with Config::General
source, but will not installed, in fact, it is only
used for 'make test' (number 50)
- fixed rt.cpan.org#39159. documentation of functional interface
now reflects that qw$method) is now required.
- applied patch by AlexK fixing rt.cpan.org#41030:
if files are included by means of a glob pattern having the -IncludeGlob
option activated, paths specified by the -ConfigPath option are being
neglected when trying to spot the files. This patch fixes this
- applied patch by fbicknel, fixes rt.cpan.org#41570:
An array of scalars (eg: option = [1,2,3]) cannot
be used for interpolation (which element shall we use?!), so
we ignore those types of lists and don't build a __stack for them.
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
2.40
- fixed SplitDelimiter parser regex, it does no more consider
non-whitespaces (\S+?) as the option name but anything
before the delimiter (.+?), this fixes bug rt.cpan.org#36607,
the fix of 2.39 were not sufficient. Thanks to
Jeffrey Ratcliffe for pointing it out.
- added new parameter -SaveSorted. The default value is 0,
that means configs will be saved unsorted (as always),
however if you want to save it sorted, turn this parameter
to 1. Thanks to Herbert Breunung for the hint.
- added complexity test, which checks a combination
of various complex features of the parser.
2.39
- fixed rt.cpan.org#35122. This one was one of the most
intriguing bugs I've ever observed in my own code. The
internal temporary __stack hashref were copied from one
subhash to another to enable inheritance of variables.
However, the hashes were copied by reference, so once a
value changed later, that value were overwritten because
the __stack in question were just a reference. I introduced
a simple function _copy() which copies the contents of
the __stack by value, which solved the bug.
Conclusion: beware of perl hash refs!
- fixed rt.cpan.org#36607, accept whitespaces in heredoc
names if split delimiter is gues (equalsign or whitespace)
- fixed rt.cpan.org#34080 (typo)
- fixed rt.cpan.org#35766. Variables inside single quoted
strings will no more interpolated (as the docu states).
Also added test case for this.
- fixed bug rt.cpan.org#33766. Checking for defined not true
in ::Extended::AUTOLOAD().
- added -UTF8 flag, which opens files in utf8 mode
(suggested by KAORU, rt.cpan.org#35583)
I decided not to add a test case for this, since perls
utf8 support is not stable with all versions.
2.38
- fixed rt.cpan.org#31529 variable inheritance failed
with multiple named blocks.
- fixed rt.cpan.org#33447, regex to catch variable
names were too strict, now - . + or : are allowed too.
- fixed rt.cpan.org#33385 and #32978 - using arrayrefs
as param to -String didn't work anymore (sic)
- fixed rt.cpan.org#33216 - variable stack were not properly
re-constructed for pre-existing variables if
-MergeDuplicateOptions is turned on.
2.37
- "fixed" rt.cpan.org#30199 - check for invalid and
unsupported structures, especially mixing blocks
and scalars with identical names.
- added checks to 'make test' to test for the above
checks.
- revoked patch of rt.cpan.org#27225, it broke running
code.
- fixed rt.cpan.org#30063 (and #27225!) by reimplementing
the whole interpolation code. The internal stack is
no more a class variable of the module but stored
directly within the generated config hash and cleaned
before returning to the user.
- added (modified) patch rt.cpan.org#30063 to check
if interpolation works with supplied default config
works.
2.36
- oh my goodness! For some unknown reason I deleted the
Makefile.PL before packaging. Dammit. So, here it is
again.
2.35
- 'make test' failed under perl 5.5 because some prequisite
modules were not found. So now I added all requirements
to Makefile.PL, even if those modules are part of
recent perls (beginning with 5.6). I could have also
added a 'use 5.6' to the code but this would users
of perl5 exclude. This way they have the possibility
to fix their installation. Hopefully.
No code changes otherwise.
2.34
- fixed rt.cpan.org#27271 - removed output file from
manifest.
- fixed rt.cpan.org#27225 - clear vars off the stack
if entering a new block, so old vars get not re-used.
- fixed rt.cpan.org#27110 - re-implemented support
for arrayref as -String parameter.
- fixed rt.cpan.org#24155 - relative include bug fixed.
- applied patch by GWYN, (see fixed rt.cpan.org#27622)
which allows the same file included multiple times.
there is no loop detection if turned on. new option
introduced: -IncludeAgain => 1 (default turned off).
- added support for -IncludeAgain to directory include
code too.
- the directory globbing code used slashes to join
directory and file names. changed this to use catfile()
instead.
2.33
- fixed rt.cpan.org#26333 - just return $con if env var
is undefined.
- applied part of a patch supplied by Vincent Rivellino <vince@cuz.cx>
which turns off explicit empty block support if in
apache compatibility mode, see next.
- added new option -ApacheCompatible, which makes the
module behave really apache compatible by setting the
required options.
- a little bit re-organized the code, most of the stuff
in new() is now outsourced into several extra subs to
make maintenance of the code easier. The old new() sub
in fact was a nightmare.
- fixed a bug reported by Otto Hirr <otto.hirr@olabinc.com>:
the _store() sub used sort() to sort the keys, which conflicts
with sorted hashes (eg. tied using Tie::IxHash).
- fixed tie bug reported by King, Jason <kingj@newsltd.com.au>,
loading of the tie module didn't work.
2.32
- fixed rt.cpan.org#24232 - import ENV vars only if defined
- fixed rt.cpan.org#20742 - dont' overwrite a var if re-defined
in current scope, interpolation failed for re-defined vars and used
the value of the var defined in outer scope, not the current one.
- fixed rt.cpan.org#17852 - a 0 as blockname were ignored. applied
patch by SCOP to t/run.t to test for 0 in blocks.
- applied most hints Perl::Critic had about Config::General:
o the functions ParseConfig SaveConfig SaveConfigString must
now imported implicitly. This might break existing code, but
is easily to fix.
o using IO::File instead of open().
o General.pm qualifies for "stern" level after all.
- added much more tests to t/run.t for 'make test'.
- using Test::More now.
2.31
- applied patches by Jason Rhinelander <jagerman@jagerman.com>:
o bugfix: multiple levels if include files didn't
work properly.
o new option -IncludeDirectories, which allows
to include all files of a directory. The directory
must be specified by -ConfigFile as usual.
o new option -IncludeGlob, which allows to
use globs (wildcards) to include multiple files.
o -ConfigPath can be speciefied using a single
scalar value instead of an array if there is only
one path.
o bugfix: quotes from quoted block names were
not removed properly.
o fixes and updates for tests (make test) for
the above patches.
Thanks a lot Jason.
- fixed number of tests in run.t
- applied suggestion by Eric Kisiel <eric.kisiel@adelphia.com>:
::Extended::keys() returns an empty hash if the
referring object is not hash.
- fixed bug #14770, "Use of uninitialized value.." during
environment variable interpolation.
2.30
- applied patch by Branislav Zahradnik
<brano@blueorange.sk> which adds -InterPolateEnv.
This allows to use environment variables too. It
implies -InterPolateVars.
- added object list capability for the ::Extended::obj()
method. If a certain key points to an array of
hashrefs, then the whole arrayref is returned.
Suggested by Alan Hodgkinson <alan@softxs.ch>.
2.29
- applied patch by brian@kronos.com via rt.cpan.org
#11211.
- applied patch by plasmaball@pchome.com.tw via
rt.cpan.org #5846
- added new files to MANIFEST file.
- added example.cfg to show the config format.
2.28
- fixed bug in save(), now blocks containing whitespaces
will be saved using quotes, in addition the parser observes
the quoting feature, added portion about this to the pod
doc. pointed out by Jeff Murphy <jcmurphy@jeffmurphy.org>.
- added internal list of files opened so far to avoid
reading in the same file multiple times.
Suggested by Michael Graham.
- added new method files() which returns the above list.
- added workaround for foolish perl installation on
debian systems (croak() doesn't work anymore as of
5.8.4, it's a shame!)
- applied patch by Michael Graham which fixes IncludeRelative
feature, now an included file is being included relative
to the calling config file, not the first one.
- added 'make test' targets for files() and include
stuff. (by Michael too)
module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").
binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.
addresses PR pkg/28619 from H. Todd Fujinaka.
2.27
- bugfix in _store, which caused warning when saving
a config containing empty hashes. Reported by
herbert breunung <deirdre_skye@web.de>.
- removed applied patch (added in 2.20), there are no more
calls to binmode(), this destroys portability, because
perls determines itself wether it uses \n or \r\n as newline.
Reported by herbert breunung too.
- applied patch by Danial Pearce <danial@infoxchange.net.au>,
scalars containing a backslash as the last character will
be written out as here-doc when storing a config to disk.
- fixed invalid regexp in _open()
- fixed bug with not working -IncludeRelative setting when
including a config file.
- add the -BackslashEscape parameter to enable general escaping
of special characters
- added feature
now block statements like this are allowed: "<directory blah/>"
- fix a bug with the -Tie option, sub-hashes of named blocks were
not properly created (in fact, not tied).
- fixed bug in new() used $this instead of $self for empty
hashref creation if no config file given.
for a possessive (like her, his, whose, their, and its).
Note that I didn't check for proper use of "its" (when it should
be "it is" or "it has" instead).
I also saw over 15 other grammar or punctuation problems, but not
fixed in this commit.
- forgot to import 'catfile' from File::Spec. Bug reported by
various people.
- applied patch by Peter Tandler <Peter.Tandler@ipsi.fhg.de>
which adds a search-path feature for include files.
- adds an auto launder capability to the module which makes it
possible to use variables read by Config::General in a
tainted perlscript (executed with -T) for open(), backtick calls
or something which the taintmode considers to be dangerous.
- fixed Bug #2325 (rt.cpan.org). The subs exported by File::Spec
will now imported explicitly.
- fixed warning about double my'ed variable $dummi, changed it
to undef because it was unused anyway.
- added File::Spec support which makes the modules more portable
- fixes a bug in the Interpolate.pm submodule. A second variable,
when immediately following the first, did not get interpolated,
i.e. ${var1}${var2}.
Collection.
Provided in PR pkg/20501 by Jonathan Perkin
<sketch at rd dot bbc dot co dot uk>.
Config::General opens a config file and parses it's contents for
you. After parsing the module returns a hash structure which contains
the representation of the config file.
The format of config files supported by Config::General is inspired
by the well known apache config format, in fact, this module is
100% read-compatible to apache configs, but you can also just use
simple name/value pairs in your config files.