Differences between revisions 183 and 414 (spanning 231 versions)
Revision 183 as of 2013-07-31 18:50:45
Size: 10824
Editor: ?GregorHerrmann
Comment: add DateTime::TimeZone
Revision 414 as of 2020-07-18 15:28:37
Size: 16451
Editor: ?GregorHerrmann
Comment: update lintian section
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
This page collects ideas for tasks within the [[Teams/DebianPerlGroup]]. These tasks can be worked on at DebCamp or might be tackled by volunteers "at home". This page collects ideas for tasks within the [[Teams/DebianPerlGroup]]. These tasks can be worked on at DebCamp, at a team sprint or might be tackled by volunteers "at home".
Line 15: Line 15:
 * [[http://www.dagolden.com/index.php/2098/the-annotated-lancaster-consensus/|The Lancaster Consensus]] and its relevance for us
 * Two years git - experiences, needs for clarifying, streamlining, improving workflows?
 * Debian Maintainers: the concept [[https://lists.debian.org/debian-devel-announce/2012/09/msg00008.html|changed]], do we want to revisit our policy of non-usage?
 * ''add your items here. or above.''
 * Finding and integrating new members: Do we need to do more/something different?
   * [[DebianMed/MoM|Mentoring of the Month]] might provide ideas.
 * Multiarch for arch-dep module packages. See <<mid(20140827105025.GE5797@riva.ucam.org)>>
Line 22: Line 21:
 * http://bugs.debian.org/cgi-bin/pkgreport.cgi?maint=pkg-perl-maintainers%40lists.alioth.debian.org;include=tags%3Awheezy;severity=serious;severity=grave;severity=critical;exclude=tags%3Awheezy-ignore  * https://bugs.debian.org/cgi-bin/pkgreport.cgi?maint=pkg-perl-maintainers%40lists.alioth.debian.org;severity=serious;severity=grave;severity=critical

RM candidates (usertagged "rm-candidate"):

 * https://udd.debian.org/cgi-bin/bts-usertags.cgi?tag=rm-candidate&user=debian-perl%40lists.debian.org
 * https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=rm-candidate;users=debian-perl@lists.debian.org

=== Leaf package with RC Bugs ===

Use the "rm-candidate" usertag (see above).

Leaf means either 0 or $few rdeps

Ping upstream, i.e. tell them we are going to remove it from Debian unstable in 3 weeks if no action.
New forwarded reports should wait 3 months until the next step.


Here is a template mail used by Dom:

{{{
Dear Maintainer,

The Debian perl group is reviewing packages with bugs which make them un-releasable; in particular when they are not heavily used by Debian users. We would like to remove such modules from Debian if we don't think they are likely to be fixed.

Module::Packaged is one such module, owing to this bug, and we would like to know whether you have any plans to look at the bug in the foreseeable future before we remove the package from Debian.

If we don't hear anything we will remove the package from Debian on or around 23rd February. This of course does not affect the standing of your module on CPAN.

Thank you for maintaining this module so far!
}}}
Line 26: Line 54:
 * perl 5.16 transition: for Jessie, fix [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.16-transition;users=debian-perl@lists.debian.org|bugs]]: fix bugs and forward upstream
 * perl 5.18 transition: for Jessie, fix [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.18-transition;users=debian-perl@lists.debian.org|bugs]]: fix bugs and forward upstream
 * perl 5.28 transition: fix [[https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.28-transition;users=debian-perl@lists.debian.org|related bugs]], check in [[https://gobby.debian.org/export/Teams/Perl/Perl-5.28-QA|gobby]].
 * perl 5.30 transition: fix [[https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.30-transition;users=debian-perl@lists.debian.org|related bugs]], check in [[https://gobby.debian.org/export/Teams/Perl/Perl-5.30-QA|gobby]].
Line 33: Line 61:
 * Finish uploading packages where the version in the archive doesn't have the group as the maintainer (i.e. adopted packages etc.):
   * build the list of such packages: compare the packages in Git with Sources.gz and check if any of the packages in our repo still has a version in the archive which has the old maintainer [[http://lists.debian.org/debian-perl/2012/07/msg00015.html]]
   * subscribe our -maintainers ML to the PTS of these packages so that we get their bug reports [done]
   * after Wheezy is released: upload these packages, eventually
 * bundle packages: just do it, and see what happens (notes: [[http://packages.qa.debian.org/p/pkg-components.html|pkg-components]], [[http://bugs.debian.org/606411|ftp-master clarification]])
 * QA: cast to pointer from integer of different size: file bugs/fix (http://lists.debian.org/debian-perl/2012/02/msg00029.html)
 * Switch from search.cpan.org to metacpan.org in (1) all packages, (2) dh-make-perl, (3) PET, (4) scripts
   * Change for dh-make-perl is commited to git [[http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/dh-make-perl.git;a=commitdiff;h=d31a81f712bebe19d526363c7075382c2563a0ff|d31a81f]].
   * Changes to packagecheck done
   * Masscommit to all (only non-CDBS) packages in git done (debian/control, debian/watch, debian/copyright)
 * Package an awesome Moo development environment, push to remove software that use the (deprecated) Mouse or Any::Moose towards moving to Moo, and remove Mouse and Any::Moose in Jessie.
 * Sort out the future of DateTime::TimeZone respectively its successors[[https://lists.debian.org/debian-perl/2013/07/msg00017.html|last mail from upstream]].

=== PET ===

(not exclusively a pkg-perl topic but still)

We more or less decided to focus on PET, among our tools that need love, during the DebConf12-DebConf13 year.

 * move to Alioth [Ansgar, done]
 * set up a BTS virtual package for PET [dkg]
 * nag other users of PET so that they help, or at least report bugs / missing features [intrigeri]
 * list (and possibly implement -- in Python) features we need in PET:
   * track patches
   * others?

Resources:

 * Alioth project: https://alioth.debian.org/projects/pet/
 * pet-devel mailing-list: https://alioth.debian.org/mail/?group_id=100210
 * PET project's repo: `git+ssh://git.debian.org/git/pet/pet3.git`
 * web: http://pet.debian.net/pkg-perl/pet.cgi
 * bundle packages: just do it, and see what happens (notes: [[DebianPts:pkg-components|pkg-components]], [[DebianBug:606411|ftp-master clarification]])
 * QA: cast to pointer from integer of different size: file bugs/fix (<<mid(4F304B7A.7010903@periapt.co.uk)>>, https://qa.debian.org/bls/bytag/I-pointer-cast-size-mismatch.html)
 * Check all ''libapp-*-perl'' (and potentially other) packages for real applications whose (binary) packages should rather be named ''foo'' instead of ''libapp-foo-perl''.
   * All those packages likely also need to moved outside the ''perl'' section, i.e. into ''utils'', ''misc'', ''text'', ''devel'', etc.
   * Known packages affected by this:
     * libapp-termcast-perl
     * libapp-nopaste-perl
 * After the jessie release and after perl adds versioned provides: simplify (build-) depends on dual-lifed modules.
 * Add/check autopkgtests to all packages.
 * Move code to Perl modules in pkg-perl-tools so we can easily reuse them in other packages and tools:
   * `pkg-perl-tools/scripts/debian-upstream` vs. `DhMakePerl::Command::Packaging::create_upstream_metadata`
   * DebianBug:823067: dh-make-perl: please split Debian::Control into a separate binary package
   * `pkg-perl-tools/scripts/upstream-repo` should be cleaned up and/or rewritten in perl
Line 71: Line 80:
 * [[http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/dh-make-perl.git;a=blob_plain;f=TODO|TODO]]
 * [[http://bugs.debian.org/src:dh-make-perl|bugs]]
 * [[https://salsa.debian.org/perl-team/modules/packages/dh-make-perl/blob/master/TODO|TODO]]
 * [[https://bugs.debian.org/src:dh-make-perl|bugs]]
Line 79: Line 88:
 * lintian checks or a lintian vendor profile or something similar; list of things we could want to check here:
   * uploading d/changelog with unresolved TODO / WAITS-FOR / IGNORE-VERSION / etc.
   * debhelper versions for arch:any and arch:all

=== lintian profile ===

 * a lintian vendor profile exists now in pkg-perl-tools; list of things we could want to add there:
Line 85: Line 95:

=== forward-patch/-bug ===

 * [[http://anonscm.debian.org/gitweb/?p=pkg-perl/scripts.git;a=blob;f=forward-patch|forward-patch]] uses email but [[https://metacpan.org/module/RT::Client::REST::Ticket|RT::Client::REST::Ticket]]'s docs sound like it should be able to handle attachments.
 * It would be nice if [[http://anonscm.debian.org/gitweb/?p=pkg-perl/scripts.git;a=blob;f=forward-patch|forward-patch]]/[[http://anonscm.debian.org/gitweb/?p=pkg-perl/scripts.git;a=blob;f=forward-bug|forward-bug]] could also handle updates of existing tickets (and not only creation of new ones).
 * Upstream authors are increasingly using github issues instead of CPAN RT; maybe [[http://anonscm.debian.org/gitweb/?p=pkg-perl/scripts.git;a=blob;f=forward-patch|forward-patch]]/[[http://anonscm.debian.org/gitweb/?p=pkg-perl/scripts.git;a=blob;f=forward-bug|forward-bug]] could optionally use it (via [[https://metacpan.org/module/FAYLAND/Net-GitHub-0.52/lib/Net/GitHub/V3/Issues.pm|Net::GitHub::V3::Issues]] maybe).
   * unversioned ''perl'' in Depends:
   * missing copyright year(s) in d/copyright
   * cf. [[https://salsa.debian.org/perl-team/modules/packages/pkg-perl-tools/-/blob/master/TODO|TODO]] in pkg-perl-tools source package
 * lintian `use warnings FATAL => 'all'` check (see [[https://lists.debian.org/msgid-search/20150625221551.GR28027@urchin.earth.li|rationale and details]]).
Line 94: Line 102:
 * Check [[http://pkg-perl.alioth.debian.org/qa/wnpp.html|RFP/ITP packages]]
 * Yearly cleanup (remove packages from Git that were injected but never finished for upload)
   * retrieve the list is taken from [[http://pet.debian.net/pkg-perl/pet.cgi|PET]] ("New packages" section
   * send the list to our mailing-list, with some deadline ([[https://lists.debian.org/debian-perl/2012/07/msg00001.html|example email]]
The /!\ symbol marks (sub)tasks which are temporarily broken by the alioth → salsa move (and the end of PET caused by it)

* /!\ Check [[http://pkg-perl.alioth.debian.org/qa/wnpp.html|RFP/ITP packages]]
 * /!\ Yearly cleanup (remove packages from Git that were injected but never finished for upload)
   * retrieve the list is taken from [[http://pet.debian.net/pkg-perl/pet.cgi|PET]] ("New packages" section)
   * send the list to our mailing-list, with some deadline ([[https://lists.debian.org/msgid-search/20120702213213.GD5793@jadzia.comodo.priv.at|example email]])
Line 100: Line 110:
   * [Last cleanup: DebConf12, gregoa]
 * Next alioth project member ping: send a "ping" ("Do you still want to be a member?") to those who haven't done something for $time, and remove those who reply with "No" or who don't reply. In order to get a more realistic picture, and maybe also to remove unnecessary permissions. Ansgar has run such a "ping" once (only for non-DD group members, IIRC), and this is a reminder to do it again.
 * Run 'get-ubuntu-packages | sort -u | lp-mass-subscribe' (scripts located in scripts/ directory in pkg-perl git repository) to subscribe our Launchpad team, [[https://launchpad.net/~pkg-perl-maintainers|~pkg-perl-maintainers]] to all bugs concerning packages we maintain. This script must be run by a Launchpad team administrator.
   [Last run: mid-June 2013, gregoa]
     [Last cleanup started: 2017-08-01, gregoa]
 * Check packages not uploaded for more than 6 years using the [[https://salsa.debian.org/perl-team/scripts/raw/master/sort_unreleased_packages.pl|sort_unreleased_packages.pl script]] or `ltnu pkg-perl` (from devscripts). (6 years because there's a quite sharp edge. The cleanup in December 2013 found about 30 packages not uploaded for > 6 years, but 120 packages last uploaded between 5 and 6 years.)
   [Last check: December 2013, XTaran]
 * Run [[DebianPackage:duck]] in all git repositories and check the errors it found. Do not rely to much on the [[http://duck.debian.net/|duck website]] as it only checks the state of packages in the archive, and many issues are already fixed or were only added in the git repositories.
   [Last check: [[https://people.debian.org/~abe/pkg-perl-duck-2015-05-23.txt|May 2015]], XTaran]
 * /!\ Yearly Alioth project member ping: send a ''ping'' (''Do you still want to be a member?'') to those who haven't done something for $time, and remove those who reply with '''No''' or '''who don't reply'''. In order to get a more realistic picture, and maybe also to remove unnecessary permissions.
   * on Alioth: in `/home/groups/pkg-perl/scripts`: run `./find-inactive-contributors build` and `./find-inactive-contributors info > ~/inactive-contributors-ping.csv`
   * download `inactive-contributors-ping.csv` to local scripts.git checkout, `inactive-contributors-ping/` directory e.g.
   * optionally use `@debian.org` for ''non -guest'' accounts, e.g. run `perl -i.orig -pe 's/users\.alioth\.// unless /-guest,/' inactive-contributors-ping.csv`
   * check/update `inactive-contributors-ping.yaml` config/template in `inactive-contributors-ping/` directory
   * make sure you have ''python3-gnupg'' installed and `$GPG_AGENT_INFO` set, then use the `mail-merge` script, as: `../mail-merge inactive-contributors-ping.yaml inactive-contributors-ping.csv`
   * which will drop mails into a new subdirectory named `<msg-id from the template>.d`
   * send them out (use your alioth shell account if your local MTA can't): `for file in <msg-id from the template>.d/*; do /usr/lib/sendmail -ti < $file; done`
   * Additionally: remove them from `Uploaders` in all packages, e.g. with `mass-commit` and `cme dpkg-control modify source Uploaders:-~"/foo/"`
     [Last check: 2017-09-15, alexm]
 * Run 'dpt get-ubuntu-packages | sort -u | dpt lp-mass-subscribe' to subscribe our Launchpad team, [[https://launchpad.net/~pkg-perl-maintainers|~pkg-perl-maintainers]] to all bugs concerning packages we maintain. This script must be run by a Launchpad team administrator.
   [Last run: 2020-01-29, gregoa]
 * /!\ Check for packages which don't have Debian Perl Group in its Maintainer field: http://pkg-perl.alioth.debian.org/qa/maintainers.txt
   [Last check: 2014-11-21, alexm]
 * /!\ Check in [[http://pet.debian.net/pkg-perl/pet.cgi|PET]] for repos with missing (not pushed) tags, and ping people. Ping template: {{{
PET shows that $PACKAGE is missing tags, could you run "dpt push" or "git push --all; git push --tags" from your working copy?
   }}}
   [Last check: 2017-08-01, gregoa]
 * Fix reproducible build issues. [[ReproducibleBuilds|wiki]], [[https://tests.reproducible-builds.org/debian/unstable/amd64/pkg_set_maint_pkg-perl-maintainers.html|pkg-perl-maintainer]]
 * Check for newer upstream versions of packages before removing them from the archive (see DebianBug:818222 and DebianBug:824905). Also check for unpublished changes in our git repository before removing a package, for a similar reason
Line 108: Line 139:
 * Fix all the [[http://lintian.debian.org/tags/versioned-dependency-satisfied-by-perl.html|"versioned-dependency-satisfied-by-perl" Lintian warnings]].
 * Then fix all the [[http://lintian.debian.org/tags/package-superseded-by-perl.html|"package-superseded-by-perl.html" Lintian warnings]].
 * Fix all the [[https://lintian.debian.org/tags/versioned-dependency-satisfied-by-perl.html|"versioned-dependency-satisfied-by-perl" Lintian warnings]] -- tis tag is gone but a new one (with reverted logic, since we have versioned Provides) might appear.
 * Then fix all the [[https://lintian.debian.org/tags/package-superseded-by-perl.html|"package-superseded-by-perl.html" Lintian warnings]].
Line 111: Line 142:
 * When perl 5.n is released, file RM bugs for packages which have FTBFS bugs since 5.(n-2).
Line 118: Line 150:
== Documentation/promotion ==

List of tasks that need to be (better) documented and promoted to get wider adoption:

 * autopkgtest: pkg-tool-autopkgtest exists, autopkgtest understands ''Testsuite: autopkgtest-pkg-perl'', ci.debian.net will pick up perl packages.
   Documentation available at https://perl-team.pages.debian.net/autopkgtest.html (ntyni++)
 * group-specific lintian checks are not widely known.
 * Integrating upstream git repos into our workflow: the tools are there, we need to document/advertise/use them.
   Announcement [[https://lists.debian.org/msgid-search/20141012032702.GY9825@jadzia.comodo.priv.at|mail]] for both lintian and dpt-*.
Line 122: Line 164:
 * Forward all (non Debian specific) patches upstream and add the CPAN RT ids to the patch headers [tools: forward-bug/forward-patch exists (ghedo++), patchedit exists (jozef++)]
 * Fix common [[http://lintian.debian.org/maintainer/pkg-perl-maintainers@lists.alioth.debian.org.html|lintian-errors]] repo-wide (e.g. errors from pod2man, missing patch descriptions, ...) - some stuff fixed, other is more easily fixed by "dh-make-perl --refresh" on the next upgrade ...
 * Forward all (non Debian specific) patches upstream and add the CPAN RT ids to the patch headers [tools: 'dpt forward' exists (ghedo++), patchedit exists (jozef++)]
 * Fix common [[https://lintian.debian.org/maintainer/pkg-perl-maintainers@lists.alioth.debian.org.html|lintian-errors]] repo-wide (e.g. errors from pod2man, missing patch descriptions, ...) - some stuff fixed, other is more easily fixed by "dh-make-perl --refresh" on the next upgrade ...
Line 127: Line 169:
 * Write team-specific questions for NM templates ([[http://lists.debian.org/debian-devel/2011/03/msg00416.html|Enrico's mail]]). === inc/ ===

 * Get rid of `inc/` directories in all pkg-perl packages and use `Build-Depends` instead. Well, we have it (see Policy), but we still need a lintian check. Reasoning follow
   * inc directories usually have old copies of modules already packaged in Debian
   * it's difficult to be sure if they're unmodified copies or not
   * the `$VERSION` stated in the modules inside inc directories cannot be trusted, as local modifications could have been performed

=== NM ===

 * Write team-specific questions for NM templates ([[https://lists.debian.org/msgid-search/20110309130159.GA27335@enricozini.org|Enrico's mail]]).
Line 129: Line 180:
 * [[http://wiki.debian.org/FrontDesk/Tasks|NM tasks for teams]] -- found in an even older mail from Enrico :)  * [[FrontDesk/Tasks|NM tasks for teams]] -- found in an even older mail from Enrico :)

=== Find issues with Perl::Critic ===

Using `Perl::Critic` to find issues in Perl modules (e.g. 2-arg open, etc.) as suggested by Paul Wise during sprint in Lloret 2017.

 1. Run perlcritic (and maybe other linters) over new/updated Perl code introduced to Debian (cf. [[https://github.com/collab-qa/check-all-the-things/blob/master/data/perl.ini|check-all-the-things]])
 1. Make a report of modules affected by default `perl-critic` config with `--noprofile` to avoid running untrusted code
 1. Tweak `perl-critic` config
 1. Identify potential security issues and review code:
    * `use lib`
    * `eval`
    * `qx` and {{{``}}}
    * `system`, `sysopen`, `popen`, `open`, `open2`, `open3` without lists
    * `open` with pipes
 1. If ever possible have a script to determine which Modules should be checked first.
 1. Talk with upstream about deprecating all these things.
Line 135: Line 202:
 * [[Teams/DebianPerlGroup/OpenTasks/Transitions/Perl4CoreLibs]]  * [[Teams/DebianPerlGroup/LHF|Low-Hanging Fruit Sessions]]
Line 139: Line 206:
 * [[http://fedoraproject.org/wiki/Packaging/Perl|Fedora Perl Packaging Policy]]
 * [[http://www.dagolden.com/index.php/2098/the-annotated-lancaster-consensus/|The Lancaster Consensus]]
 * [[https://fedoraproject.org/wiki/Packaging:Perl|Fedora Perl Packaging Policy]]
 * [[https://xdg.me/blog/the-annotated-lancaster-consensus/|The Lancaster Consensus]]
Line 144: Line 211:
 * [[http://lists.debian.org/debian-perl/2012/07/msg00086.html|Minutes]] from the meeting at DebConf in July 2012.
 * [[http://lists.debian.org/debian-perl/2011/07/msg00122.html|Minutes]] from the meeting at DebConf in July 2011.
 * [[http://lists.debian.org/debian-perl/2010/08/msg00038.html|Minutes]] from the meeting at DebConf in August 2010.
 * [[http://lists.debian.org/debian-perl/2009/07/msg00104.html|Minutes]] from the meeting at DebConf in July 2009.
 * [[http://lists.debian.org/debian-perl/2009/07/msg00037.html|Minutes]] from the meeting at DebCamp in July 2009.
 * [[http://lists.debian.org/debian-perl/2008/08/msg00029.html|Minutes]] from the meeting at DebCamp in August 2008.
 * [[https://lists.debian.org/msgid-search/09c94eb3-9e74-2d53-73ac-636aed37cab0@nodens.org|Minutes]] from the meeting at DebConf in July 2019.
 * [[https://lists.debian.org/msgid-search/946508e7-bffd-96b1-0cd4-5d367794be08@nodens.org|Minutes]] from the meeting at DebConf in August 2018.
 * [[https://lists.debian.org/msgid-search/20170813162129.x45kseccqp26bwjg@jadzia.comodo.priv.at|Minutes]] from the meeting at DebConf in August 2017.
 * [[https://lists.debian.org/msgid-search/20160705132031.GS6781@jadzia.comodo.priv.at|Minutes]] from the meeting at DebConf in July 2016.
 * [[https://lists.debian.org/msgid-search/20150822113038.GF5589@jadzia.comodo.priv.at|Minutes]] from the meeting at DebConf in August 2015.
 * [[https://lists.debian.org/msgid-search/20140825231451.GY8952@jadzia.comodo.priv.at|Minutes]] from the meeting at DebConf in August 2014.
 * [[https://lists.debian.org/msgid-search/85txirvxeu.fsf@boum.org|Minutes]] from the meeting at DebConf in August 2013.
 * [[https://lists.debian.org/msgid-search/CADc0ge_bGKEKrfA8yaLpt=Q3xN52rWV9srewfF+SOhKtVt1TEg@mail.gmail.com|Minutes]] from the meeting at DebConf in July 2012.
 * [[https://lists.debian.org/msgid-search/20110728121231.GI6542@nerys.comodo.priv.at|Minutes]] from the meeting at DebConf in July 2011.
 * [[https://lists.debian.org/msgid-search/20100807215035.GB5036@nerys.comodo.priv.at|Minutes]] from the meeting at DebConf in August 2010.
 * [[https://lists.debian.org/msgid-search/20090730105232.GQ6559@pc1.creditreform.bg|Minutes]] from the meeting at DebConf in July 2009.
 * [[https://lists.debian.org/msgid-search/20090718200528.GG6820@pc1.creditreform.bg|Minutes]] from the meeting at DebCamp in July 2009.
 * [[https://lists.debian.org/msgid-search/20080806210121.GN5084@nerys.comodo.priv.at|Minutes]] from the meeting at DebCamp in August 2008.

Debian Perl Group - Open tasks

This page collects ideas for tasks within the Teams/DebianPerlGroup. These tasks can be worked on at DebCamp, at a team sprint or might be tackled by volunteers "at home".

It should have an up to date list of open tasks, please remove completed tasks; for documentation please add links to the History section below (instead of adding them in between the tasks here).

Policy / issues for discussion (DebConf BoF)

Release-critical bugs

RM candidates (usertagged "rm-candidate"):

Leaf package with RC Bugs

Use the "rm-candidate" usertag (see above).

Leaf means either 0 or $few rdeps

Ping upstream, i.e. tell them we are going to remove it from Debian unstable in 3 weeks if no action. New forwarded reports should wait 3 months until the next step.

Here is a template mail used by Dom:

Dear Maintainer,

The Debian perl group is reviewing packages with bugs which make them un-releasable; in particular when they are not heavily used by Debian users. We would like to remove such modules from Debian if we don't think they are likely to be fixed.

Module::Packaged is one such module, owing to this bug, and we would like to know whether you have any plans to look at the bug in the foreseeable future before we remove the package from Debian.

If we don't hear anything we will remove the package from Debian on or around 23rd February. This of course does not affect the standing of your module on CPAN.

Thank you for maintaining this module so far!

Transitions

Packages/tools

List of tasks that need to be performed on all/many of our packages; or maintenance tools ...

  • bundle packages: just do it, and see what happens (notes: pkg-components, ftp-master clarification)

  • QA: cast to pointer from integer of different size: file bugs/fix (<4F304B7A.7010903@periapt.co.uk>, https://qa.debian.org/bls/bytag/I-pointer-cast-size-mismatch.html)

  • Check all libapp-*-perl (and potentially other) packages for real applications whose (binary) packages should rather be named foo instead of libapp-foo-perl.

    • All those packages likely also need to moved outside the perl section, i.e. into utils, misc, text, devel, etc.

    • Known packages affected by this:
      • libapp-termcast-perl
      • libapp-nopaste-perl
  • After the jessie release and after perl adds versioned provides: simplify (build-) depends on dual-lifed modules.
  • Add/check autopkgtests to all packages.
  • Move code to Perl modules in pkg-perl-tools so we can easily reuse them in other packages and tools:
    • pkg-perl-tools/scripts/debian-upstream vs. DhMakePerl::Command::Packaging::create_upstream_metadata

    • 823067: dh-make-perl: please split Debian::Control into a separate binary package

    • pkg-perl-tools/scripts/upstream-repo should be cleaned up and/or rewritten in perl

dh-make-perl

  • find a co-maintainer for dh-make-perl
  • continue breaking it into isolated modules
  • improve POD coverage
  • TODO

  • bugs

  • combine dh-make-perl's "refresh" with cme's update functionality

packagecheck{,.pl}

  • Rewrite packagecheck (in Perl, modular, maybe not only for pkg-perl)
    • packagecheck provides some function of "cme check dpkg". It may be better to improve dpkg model taking into account our needs (dod)

lintian profile

  • a lintian vendor profile exists now in pkg-perl-tools; list of things we could want to add there:
    • boilerplate README
    • metacpan URLs
    • watchfile regexp
    • unversioned perl in Depends:

    • missing copyright year(s) in d/copyright
    • cf. TODO in pkg-perl-tools source package

  • lintian use warnings FATAL => 'all' check (see rationale and details).

Recurring tasks

The /!\ symbol marks (sub)tasks which are temporarily broken by the alioth → salsa move (and the end of PET caused by it)

  • /!\ Check RFP/ITP packages

  • /!\ Yearly cleanup (remove packages from Git that were injected but never finished for upload)

    • retrieve the list is taken from PET ("New packages" section)

    • send the list to our mailing-list, with some deadline (example email)

    • wait until the deadline expires
    • delete the Git repositories using the remove-repository script

      • [Last cleanup started: 2017-08-01, gregoa]
  • Check packages not uploaded for more than 6 years using the sort_unreleased_packages.pl script or ltnu pkg-perl (from devscripts). (6 years because there's a quite sharp edge. The cleanup in December 2013 found about 30 packages not uploaded for > 6 years, but 120 packages last uploaded between 5 and 6 years.)

    • [Last check: December 2013, XTaran]
  • Run duck in all git repositories and check the errors it found. Do not rely to much on the duck website as it only checks the state of packages in the archive, and many issues are already fixed or were only added in the git repositories.

  • /!\ Yearly Alioth project member ping: send a ping (Do you still want to be a member?) to those who haven't done something for $time, and remove those who reply with No or who don't reply. In order to get a more realistic picture, and maybe also to remove unnecessary permissions.

    • on Alioth: in /home/groups/pkg-perl/scripts: run ./find-inactive-contributors build and ./find-inactive-contributors info > ~/inactive-contributors-ping.csv

    • download inactive-contributors-ping.csv to local scripts.git checkout, inactive-contributors-ping/ directory e.g.

    • optionally use @debian.org for non -guest accounts, e.g. run perl -i.orig -pe 's/users\.alioth\.// unless /-guest,/' inactive-contributors-ping.csv

    • check/update inactive-contributors-ping.yaml config/template in inactive-contributors-ping/ directory

    • make sure you have python3-gnupg installed and $GPG_AGENT_INFO set, then use the mail-merge script, as: ../mail-merge inactive-contributors-ping.yaml inactive-contributors-ping.csv

    • which will drop mails into a new subdirectory named <msg-id from the template>.d

    • send them out (use your alioth shell account if your local MTA can't): for file in <msg-id from the template>.d/*; do /usr/lib/sendmail -ti < $file; done

    • Additionally: remove them from Uploaders in all packages, e.g. with mass-commit and cme dpkg-control modify source Uploaders:-~"/foo/"

      • [Last check: 2017-09-15, alexm]
  • Run 'dpt get-ubuntu-packages | sort -u | dpt lp-mass-subscribe' to subscribe our Launchpad team, ~pkg-perl-maintainers to all bugs concerning packages we maintain. This script must be run by a Launchpad team administrator.

    • [Last run: 2020-01-29, gregoa]
  • /!\ Check for packages which don't have Debian Perl Group in its Maintainer field: http://pkg-perl.alioth.debian.org/qa/maintainers.txt

    • [Last check: 2014-11-21, alexm]
  • /!\ Check in PET for repos with missing (not pushed) tags, and ping people. Ping template:

    PET shows that $PACKAGE is missing tags, could you run "dpt push" or "git push --all; git push --tags" from your working copy?
    • [Last check: 2017-08-01, gregoa]
  • Fix reproducible build issues. wiki, pkg-perl-maintainer

  • Check for newer upstream versions of packages before removing them from the archive (see 818222 and 824905). Also check for unpublished changes in our git repository before removing a package, for a similar reason

When a new Perl hits unstable

When oldstable is archived

  • Update (build) dependencies. E.g. once Lenny is archived, there's no need for "perl (>= 5.10.1) | libFOO-perl ()" anymore, or to depend on versions of packages that are already satisfied in current stable.

  • cme fix dpkg -from control -filter Depends, with mass-commit in our script repo

  • Review/remove Breaks/Replaces against package versions that are not even in oldstable. (Not (yet?) in cme fix.)

Documentation/promotion

List of tasks that need to be (better) documented and promoted to get wider adoption:

  • autopkgtest: pkg-tool-autopkgtest exists, autopkgtest understands Testsuite: autopkgtest-pkg-perl, ci.debian.net will pick up perl packages.

  • group-specific lintian checks are not widely known.
  • Integrating upstream git repos into our workflow: the tools are there, we need to document/advertise/use them.
    • Announcement mail for both lintian and dpt-*.

Background tasks

Things that would be nice to do, often repetitive. Can be done globally, or every time you work on a specific package.

  • Forward all (non Debian specific) patches upstream and add the CPAN RT ids to the patch headers [tools: 'dpt forward' exists (ghedo++), patchedit exists (jozef++)]
  • Fix common lintian-errors repo-wide (e.g. errors from pod2man, missing patch descriptions, ...) - some stuff fixed, other is more easily fixed by "dh-make-perl --refresh" on the next upgrade ...

Nice to have, some day

inc/

  • Get rid of inc/ directories in all pkg-perl packages and use Build-Depends instead. Well, we have it (see Policy), but we still need a lintian check. Reasoning follow

    • inc directories usually have old copies of modules already packaged in Debian
    • it's difficult to be sure if they're unmodified copies or not
    • the $VERSION stated in the modules inside inc directories cannot be trusted, as local modifications could have been performed

NM

  • Write team-specific questions for NM templates (Enrico's mail).

    • Random ideas: fix a Perl bug, update a Perl package to the group standards, adopt a package into the Perl group.
  • NM tasks for teams -- found in an even older mail from Enrico :)

Find issues with Perl::Critic

Using Perl::Critic to find issues in Perl modules (e.g. 2-arg open, etc.) as suggested by Paul Wise during sprint in Lloret 2017.

  1. Run perlcritic (and maybe other linters) over new/updated Perl code introduced to Debian (cf. check-all-the-things)

  2. Make a report of modules affected by default perl-critic config with --noprofile to avoid running untrusted code

  3. Tweak perl-critic config

  4. Identify potential security issues and review code:
    • use lib

    • eval

    • qx and ``

    • system, sysopen, popen, open, open2, open3 without lists

    • open with pipes

  5. If ever possible have a script to determine which Modules should be checked first.
  6. Talk with upstream about deprecating all these things.

Subpages

History