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.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.
2022-10-14 | perl v5.34.0 |