NAME
Config::Model::Debian::Dependency - Checks Debian dependency declarations
VERSION
version 1.236
SYNOPSIS
use Config::Model ;
use Log::Log4perl qw(:easy) ;
use Data::Dumper ;
Log::Log4perl->easy_init($WARN);
# define configuration tree object
my $model = Config::Model->new ;
$model ->create_config_class (
name => "MyClass",
element => [
Depends => {
'type' => 'leaf',
'value_type' => 'uniline',
class => 'Config::Model::Debian::Dependency',
},
],
) ;
my $inst = $model->instance(root_class_name => 'MyClass' );
my $root = $inst->config_root ;
$root->load( 'Depends="libc6 ( >= 1.0 )"') ;
# Connecting to qa.debian.org to check libc6 versions. Please wait ...
# Warning in 'Depends' value 'libc6 ( >= 1.0 )': unnecessary
# versioned dependency: >= 1.0. Debian has lenny-security ->
# 2.7-18lenny6; lenny -> 2.7-18lenny7; squeeze-security ->
# 2.11.2-6+squeeze1; squeeze -> 2.11.2-10; wheezy -> 2.11.2-10; sid
# -> 2.11.2-10; sid -> 2.11.2-11;
DESCRIPTION
This class is derived from Config::Model::Value. Its purpose is to check the value of a Debian package dependency for the following:
syntax as described in http://www.debian.org/doc/debian-policy/ch-relationships.html
Whether the version specified with
>
or>=
is necessary. This module will check with Debian server whether older versions can be found in Debian old-stable or not. If no older version can be found, a warning will be issued.
Cache
Queries to Debian server are cached in ~/.config_model_depend_cache
for about one month.
BUGS
More advanced checks can probably be implemented. The author is open to new ideas. He's even more open to patches (with tests).
AUTHOR
Dominique Dumont, ddumont [AT] cpan [DOT] org
SEE ALSO
Config::Model, Config::Model::Value, Memoize, Memoize::Expire