Debian::Copyright(3pm) User Contributed Perl Documentation Debian::Copyright(3pm)NAME
Debian::Copyright - manage Debian copyright files
VERSION
This document describes Debian::Copyright version 0.1 .
SYNOPSIS
my $c = Debian::Copyright->new(); # construct a new
$c->read($file1); # parse debian copyright file
$c->read($file2); # parse a second
$c->write($ofile); # write to file
DESCRIPTION
Debian::Copyright can be used for the representation, manipulation and merging of Debian copyright files in an object-oriented way. It
provides easy reading and writing of the debian/copyright file found in Debian source packages.
FIELDS
header
An instance of Debian::Copyright::Stanza::Header class. Contains the the first stanza of the copyright file. If multiple files were parsed
only the first will be retained.
files
A hash reference (actually Tie::IxHash instance) with keys being the values of the "Files" clause and values instances of
Debian::Copyright::Stanza::Files class.
licenses
A hash reference (actually Tie::IxHash instance) with keys being the values of the "License" clause and values instances of
Debian::Copyright::Stanza::License class.
CONSTRUCTOR
new
Constructs a new Debian::Copyright instance.
The "header" field is initialised with an empty string. The "files_block" and "license_block" fields are initialised with an empty
instance of Tie::IxHash.
METHODS
read file
Parse "copyright" in debian and accessors.
file can be either a file name, an opened file handle or a string scalar reference.
write file
Writes a debian/copyright-like file in file with the contents defined in the accessor fields.
file can be either a file name, an opened file handle or a string scalar reference.
LIMITATIONS
This module is written with one particular version of DEP-5
<http://anonscm.debian.org/viewvc/dep/web/deps/dep5.mdwn?view=markup&pathrev=135> in mind. When required it should be easy to add support
for extra versions, but at the moment the supported version is the one generally used in the Debian Perl Group.
Test coverage is not yet complete.
COPYRIGHT & LICENSE
Copyright (C) 2011 Nicholas Bamber nicholas@periapt.co.uk
This module was adapted from Debian::Control. Copyright (C) 2009 Damyan Ivanov dmn@debian.org [Portions]
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
perl v5.12.4 2011-08-27 Debian::Copyright(3pm)
Check Out this Related Man Page
Debian::Dependency(3pm) User Contributed Perl Documentation Debian::Dependency(3pm)NAME
Debian::Dependency - dependency relationship between Debian packages
SYNOPSIS
# simple dependency
my $d = Debian::Dependency->new( 'perl' );
# also parses a single argument
my $d = Debian::Dependency->new('perl (>= 5.10)');
# dependency with a version
my $d = Debian::Dependency->new( 'perl', '5.10' );
# dependency with version and relation
my $d = Debian::Dependency->new( 'perl', '>=', '5.10' );
print $d->pkg; # 'perl'
print $d->ver; # '5.10'
# for people who like to type much
my $d = Debian::Dependency->new( { pkg => 'perl', ver => '5.10' } );
# stringification
print "$d" # 'perl (>= 5.10)'
# 'adding'
$deps = $dep1 + $dep2;
$deps = $dep1 + 'foo (>= 1.23)'
CLASS_METHODS
new()
Construnct a new instance.
new( { pkg => 'package', rel => '>=', ver => '1.9' } )
If a hash reference is passed as an argument, its contents are used to initialize the object.
new( [ { pkg => 'foo' }, 'bar (<= 3)' ] );
In an array reference is passed as an argument, its elements are used for constructing a dependency with alternatives.
new('foo (= 42)')
new('foo (= 42) | bar')
If a single argument is given, the construction is passed to the "parse" constructor.
new( 'foo', '1.4' )
Two arguments are interpreted as package name and version. The relation is assumed to be '>='.
new( 'foo', '=', '42' )
Three arguments are interpreted as package name, relation and version.
set Overrides the set method from Class::Accessor. Used to convert zero versions (for example 0 or 0.000) to void versions.
parse()
Takes a single string argument and parses it.
Examples:
perl
perl (>= 5.8)
libversion-perl (<< 3.4)
FIELDS
pkg Contains the name of the package that is depended upon
rel Contains the relation of the dependency. May be any of '<<', '<=', '=', '>=' or '>>'. Default is '>='.
ver Contains the version of the package the dependency is about. The value is an instance of Dpkg::Version class. If you set it to a scalar
value, that is given to Dpkg::Version->new().
"rel" and "ver" are either both present or both missing.
Examples
print $dep->pkg;
$dep->ver('3.4');
METHODS
satisfies($dep)
Returns true if $dep states a dependency that is already covered by this instance. In other words, if this method returns true, any
package satisfying the dependency of this instance will also satisfy $dep ($dep is redundant in dependency lists where this instance is
already present).
$dep can be either an instance of the Debian::Dependency class, or a plain string.
my $dep = Debian::Dependency->new('foo (>= 2)');
print $dep->satisfies('foo') ? 'yes' : 'no'; # no
print $dep->satisfies('bar') ? 'yes' : 'no'; # no
print $dep->satisfies('foo (>= 2.1)') ? 'yes' : 'no'; # yes
SEE ALSO
Debian::Dependencies
AUTHOR
Damyan Ivanov <dmn@debian.org>
COPYRIGHT & LICENSE
Copyright (C) 2008,2009,2010 Damyan Ivanov <dmn@debian.org>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
perl v5.14.2 2012-01-15 Debian::Dependency(3pm)