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 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 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.