adopt - How to adopt packages for the Debian Perl Group

0. Introduction

This short How-to tries to give some useful hints for adopting packages for the Debian Perl Group. It's not an exhaustive tutorial and not necessarily complete.

Adopting means to take over a package for the Debian Perl Group that was maintained by someone else beforehand; the package may be officially orphaned or offered for adoption, or the previous maintainer may just have asked for or agreed to having it moved to the group.

1. Formal steps

If the package was orphaned or offered for adoption, the usual manipulations of the respective bugs are required (changing owner and title, closing the bug in the changelog); cf. and

In case of an informal adoption request it is recommended to provide some evidence of the original maintainer's request in the changelog, e.g. a bug number, a link to a mailing list post, etc.

2. Getting the package (into the repository)

Usually the latest version of the package in the archive will be the starting point for the adoption.

dpt takeover (which can be found in the pkg-perl-tools package) automates the injection of the package into Git. It also adds a line to the changelog, with either a bug number for an RFA or a link to a message with the request for takeover from the maintainer.

If the package was maintained in a gbp-style Git repository, use the -g URL option. Otherwise dpt takeover will use gbp-import-dscs to import the packaging history from

To do this manually instead, use apt-get source to fetch the latest version in the archive, and then follow the steps described at

3. Changing the package

After the package has been pushed it has to be adapted to our Policy ( Basically that means going through the files under debian/ and taking some other "group habits" into account. A short summary follows.

Helper script

All following steps marked with "[*]" can be done semi-automatically with the help of dpt packagecheck which can be found in the pkg-perl-tools package.

   dpt packagecheck -A -C -c

is often a good first step after importing the package into Git.



Typical actions, besides checking the short/long descriptions and the other fields:


Change maintainer to "Debian Perl Group <>". Add yourself to Uploaders, remove old maintainer or move him/her to Uploaders, depending on the kind of request/takeover. [*]

Homepage, Vcs*

Add/change the Homepage and Vcs-* fields appropriately. [*]


Check Standards-Version and debhelper versioned dependency and adjust appropriately. Of course further changes (adapting debian/compat or adding a debian/README.source file [*]) might be necessary.


Create a new or check an existing debian/watch file. Whenever possible, please use a dist-based URL, such as   .*/Foo-Bar-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$

instead of pointing to the module or author directories in CPAN, or in external repositories. [*]



4. Further tasks

Docs, examples, ...

Dependencies, tests


The broad consensus of many members of the Debian Perl Group is to use quilt for managing patches against the upstream source, and source format 3.0 (quilt) for the packaging.

Make sure the patches apply cleanly and have headers according to DEP3:





Copyright (c) 2008-2012 by the individual authors and contributors noted above. All rights reserved. This document is free software; you may redistribute it and/or modify it under the same terms as Perl itself

Perl is distributed under your choice of the GNU General Public License or the Artistic License. On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL and the Artistic License in /usr/share/common-licenses/Artistic.