NAME

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


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.

takeover-for-pkg-perl.sh (which can be found in the git+ssh://git.debian.org/git/pkg-perl/scripts.git repository) 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.

To do this manually instead, use 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.

Alternatively, git-import-dscs is able to import the packaging history, from snapshots.debian.org, into a gbp-style Git repository.


3. Changing the package

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.

Helper script

All following steps marked with "[*]" can be done semi-automatically with the help of packagecheck which can be found in our scripts repository git+ssh://git.debian.org/git/pkg-perl/scripts.git under qa/.

   packagecheck -A -C -c

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

debian/changelog

debian/control

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

Maintainer/Uploaders

Change maintainer to "Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>". 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. [*]

debhelper/Policy

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.

debian/watch

Create a new or check an existing debian/watch file. Whenever possible, please use a dist-based URL, such as

   https://metacpan.org/release/Foo-Bar   .*/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. [*]

debian/copyright

debian/rules


4. Further tasks

Docs, examples, ...

Dependencies, tests

Patches

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/


VERSION

$Id$


AUTHORS


COPYRIGHT/LICENSE

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.