Differences between revisions 362 and 363
Revision 362 as of 2017-05-18 20:35:30
Size: 16271
Editor: ?AlexMuntada
Comment: Add inc to the nice to have list
Revision 363 as of 2017-06-27 16:37:43
Size: 16780
Editor: ?GregorHerrmann
Comment:
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, at a team sprint 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 24: Line 24:
RM candidates (usertagged "rm-candidate"): RM candidates (usertagged "rm-candidate"):
Line 62: Line 62:
 * perl 5.26 transition: fix [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.26-transition;users=debian-perl@lists.debian.org|related bugs]], check in [[https://gobby.debian.org/export/Teams/Perl/Perl-5.26-QA|gobby]].
Line 70: Line 71:
 * Unify our ''debian/watch'' files, esp. all the variants how ''uversionmangle'' is used. [Or not. Too much variance, no clear "best" option, too little gain]  * Unify our ''debian/watch'' files, esp. all the variants how ''uversionmangle'' is used. [Or not. Too much variance, no clear "best" option, too little gain]
Line 117: Line 118:
 * combine dh-make-perl's "refresh" with cme's update functionality  * combine dh-make-perl's "refresh" with cme's update functionality
Line 122: Line 123:
   * ''packagecheck provides some function of "cme check dpkg". It may be better to improve dpkg model taking into account our needs'' (dod)    * ''packagecheck provides some function of "cme check dpkg". It may be better to improve dpkg model taking into account our needs'' (dod)
Line 140: Line 141:
   * retrieve the list is taken from [[http://pet.debian.net/pkg-perl/pet.cgi|PET]] ("New packages" section)    * retrieve the list is taken from [[http://pet.debian.net/pkg-perl/pet.cgi|PET]] ("New packages" section)
Line 149: Line 150:
 * 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: "./find-inactive-contributor build" and "./find-inactive-contributor info > ~/inactive-contributors-ping.csv"
   * download "inactive-contributors-ping.csv" to local scripts.git checkout, "inactive-contributors-ping/" directory e.g.
   * check/update "inactive-contributors-ping.yaml" config/template in "inactive-contributors-ping/" directory
   * use the mail-merge script, as: "../mail-merge inactive-contributors-ping.yaml inactive-contributors-ping.csv"
 * 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: "./find-inactive-contributor build" and "./find-inactive-contributor info > ~/inactive-contributors-ping.csv"
   * download "inactive-contributors-ping.csv" to local scripts.git checkout, "inactive-contributors-ping/" directory e.g.
   * check/update "inactive-contributors-ping.yaml" config/template in "inactive-contributors-ping/" directory
   * use the mail-merge script, as: "../mail-merge inactive-contributors-ping.yaml inactive-contributors-ping.csv"
Line 155: Line 156:
   * send them out: "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 "perl -MConfig::Model=cme -e 'cme("dpkg-control")->modify("source Uploaders:-~/foo/");'"
   * send them out: &quot;for file in <msg-id from the template>.d/*; do /usr/lib/sendmail -ti < $file; done&quot;
   * Additionally: remove them from Uploaders in all packages, e.g. with &quot;mass-commit&quot; and &quot;perl -MConfig::Model=cme -e 'cme(&quot;dpkg-control&quot;)->modify(&quot;source Uploaders:-~/foo/&quot;);'&quot;
Line 163: Line 164:
PET shows that $PACKAGE is missing tags, could you run "dpt push" or "git push --all; git push --tags" from your working copy? PET shows that $PACKAGE is missing tags, could you run &quot;dpt push&quot; or &quot;git push --all; git push --tags&quot; from your working copy?
Line 171: Line 172:
 * Change some (build) dependencies ("libFOO-perl (>= x.y) | perl (>= 5.1x)"
 * 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]].
 * Change some (build) dependencies (&quot;libFOO-perl (>= x.y) | perl (>= 5.1x)&quot;
 * Fix all the [[http://lintian.debian.org/tags/versioned-dependency-satisfied-by-perl.html|&quot;versioned-dependency-satisfied-by-perl&quot; Lintian warnings]].
 * Then fix all the [[http://lintian.debian.org/tags/package-superseded-by-perl.html|&quot;package-superseded-by-perl.html&quot; Lintian warnings]].
Line 179: Line 180:
 * 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.  * Update (build) dependencies. E.g. once Lenny is archived, there's no need for &quot;perl (>= 5.10.1) | libFOO-perl ()&quot; anymore, or to depend on versions of packages that are already satisfied in current stable.
Line 198: Line 199:
 * 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 ...  * 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 &quot;dh-make-perl --refresh&quot; on the next upgrade ...

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

Status from June 2016.

Ping upstream means 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.

Leaf means either 0 or $few rdeps

Package

popcon vote

rdeps

bug

notes

next steps

popcon-based cutoff point (n=50)

libinline-java-perl

0

1 (not in Wheezy nor Jessie)

754755

active upstream ticket

libxml-easyobj-perl

4

0

797289

ntyni proposed removal

remove if no action by 2016-09-26

libical-parser-sax-perl

1

1

806544

remove if no action by 2016-10-30

librrd-simple-perl

3

0

824839

remove if no action by 2016-09-26?

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 (http://lists.debian.org/debian-perl/2012/02/msg00029.html, https://qa.debian.org/bls/bytag/I-pointer-cast-size-mismatch.html)

  • Sort out the future of DateTime::?TimeZone respectively its successors. (work in progress, seems to be stalled upstream).

  • Unify our debian/watch files, esp. all the variants how uversionmangle is used. [Or not. Too much variance, no clear "best" option, too little gain]

  • 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.
  • autopkgtests: unify way we set HOME.
  • autopkgtests: autopktest 4.0 changed tools and variables. Our tools, documentations, ... should be adapted and ideally made backward compatible if CI is running on autopkgtest version older than 4.0.
  • 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

  • Review status of NO_NETWORK=1: build vs. autopkgtest (add to all debian/tests/pkg-perl/smoke-env? reverse logic? ...) Cf. 858290

PET

(not exclusively a pkg-perl topic but still)

To be done:

  • list (and possibly implement -- in Python) features we need in PET:
    • track patches
    • show all versions in archive / all suites
    • ci.debian.net (#786664)
    • duck.debian.net (at least nice to have)
    • others?
  • update-watch likes to hang
    • timelimit(1) ?
    • pet should program an alarm and kill the jobs itself

Resources:

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:
    • uploading d/changelog with unresolved TODO / WAITS-FOR / IGNORE-VERSION / etc.
    • boilerplate README
    • metacpan URLs
    • watchfile regexp
    • unversioned perl in Depends:

    • not using cgit in Vcs-Browser:
    • cf. TODO in pkg-perl-tools source package

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

Recurring tasks

  • 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 finished: 2016-08-06, gregoa]
  • Check packages not uploaded for more than 6 years using the sort_unreleased_packages.pl script. (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: "./find-inactive-contributor build" and "./find-inactive-contributor info > ~/inactive-contributors-ping.csv"

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

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

    • 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: "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 "perl -MConfig::Model=cme -e 'cme("dpkg-control")->modify("source Uploaders:-~/foo/&quot;);'"

      • [Last check: 2016-08-15, gregoa]
  • Run 'dpt get-ubuntu-packages | sort -u | dpt lp-mass-subscribe' (scripts located in scripts/ directory in pkg-perl git repository) 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: 2017-05-18, 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 &quot;dpt push&quot; or &quot;git push --all; git push --tags&quot; from your working copy?
    • [Last check: 2015-08-10, 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. time to document and use it.

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

    • 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 :)

Subpages

History