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. https://www.debian.org/devel/wnpp/ and https://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,
use the -g URL
option.
Otherwise 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,
use apt-get source
to fetch the latest version in the archive,
and then follow the steps described at https://perl-team.pages.debian.net/git.html.
After the package has been pushed it has to be adapted to our Policy (https://perl-team.pages.debian.net/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 takeover
you 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 <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. [*]
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
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/
, or create this section if necessary./usr/share/common-licenses/
, etc.licensecheck --recursive --copyright .
or a simple
grep -ir copyright *
can help.
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 refreshing it with dh-make-perl(1) is often faster.
dh_installdocs
or debian/foo.docs); often there's a useless README included. And some interesting file might be missing.debian/
?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: https://dep.debian.net/deps/dep3/
2018-05-17.1
Copyright (c) 2008-2018 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.