---
name: "Debian::Copyright"
section: "3pm"
platform: "linux"
package: "libdebian-copyright-perl"
version: "0.2-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Debian::Copyright"
---

# Debian::Copyright(3pm)

manage Debian copyright files

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