Debian::Copyright - manage Debian copyright files
Contents
Acknowledgements
Thanks to Charles Plessy for various comments regarding the documentation.
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.
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.
perl v5.36.0 2022-10-14 Debian::Copyright(3pm)
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.
noteonterminology
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.
Incompatibilities
This version is not backwards compatible with version 0.1.
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.
Methods
readfile
Parse "copyright" in debian and accessors.
file can be either a file name, an opened file handle or a string scalar reference.
writefile
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.
Name
Debian::Copyright - manage Debian copyright files
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
Version
This document describes Debian::Copyright version 0.2 .
