adopt - How to adopt packages for the Debian Perl Group
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.
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. http://www.debian.org/devel/wnpp/ and http://www.debian.org/doc/developers-reference/pkgs.html#adopting.
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.
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,
-g URL option.
dpt takeover will use gbp-import-dscs to import the packaging history from snapshots.debian.org.
You may consider using
-n option too,
so you have the chance to review and improve the commits before pushing them.
To do this manually instead,
apt-get source to fetch the latest version in the archive,
and then follow the steps described at http://pkg-perl.alioth.debian.org/git.html.
After the package has been pushed it has to be adapted to our Policy (http://pkg-perl.alioth.debian.org/policy.html).
Basically that means going through the files under
debian/ and taking some other "group habits" into account.
A short summary follows.
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.
dpt takeoveryou only need to check the changelog entry.)
Typical actions, besides checking the short/long descriptions and the other fields:
Change maintainer to "Debian Perl Group <email@example.com>". Add yourself to Uploaders, remove old maintainer or move him/her to Uploaders, depending on the kind of request/takeover. [*]
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
instead of pointing to the module or author directories in CPAN, or in external repositories. [*]
debian/, or create this section if necessary.
licensecheck --recursive --copyright .
or a simple
grep -ir copyright *
cme fix dpkg-copyright is useful to detect and fix common errors.
Take a look at the current debian/rules and try to remember anything special.
$ dh-make-perl --refresh $ git diff $ $EDITOR debian/rules make changes if necessary re-add "special" lines (You remembered them, right? If not "git diff" has told you anyway.)
Of course changing debian/rules manually is OK too, but often just refreshing it with dh-make-perl(1) is faster.
dh_installdocsor debian/foo.docs); often there's a useless README included. And some interesting file might be missing.
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: http://dep.debian.net/deps/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.