NAME
Debian::Copyright - manage Debian copyright files
VERSION
This document describes Debian::Copyright version 0.2 .
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. Debian has recently started standardising its
copyright files around the machine-readable "Format:
http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/" in
DEP-5 format.
note on terminology
The term "Stanza" derives from the dh-make-perl
<http://packages.debian.org/sid/dh-make-perl> tool. The official term
would now be "Paragraph". For the purposes of discussing the DEP-5
format the terms are used interchangeably in this documentation.
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://www.debian.org/doc/packaging-manuals/copyright-format/1.0/> in
mind. Furthermore version 0.1 of this software was for a draft version
the standard. The changes in going from draft to standard were such
that it was not worth attempting to maintain backwards compatibility.
Test coverage is not yet complete.
INCOMPATIBILITIES
This version is not backwards compatible with version 0.1.
ACKNOWLEDGEMENTS
Thanks to Charles Plessy for various comments regarding the
documentation.
COPYRIGHT & LICENSE
Copyright (C) 2011-2012 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.