Debian Perl Sprint 2016

Introduction

6 members of the Debian Perl Group met in Zurich over the weekend from May 19 to May 22 2016 to continue the development around perl for Stretch and to work on QA tasks across our 3000+ packages. The preparation details can be found on the sprint wiki.

The participants would like to thank ETH Zurich for hosting us, and all donors to the Debian project who helped to cover a large part of our expenses.

Bugs and Uploads

Overview

Bugs tagged with:

A total of 36 bugs were filed/worked on. These include:

A total of 28 accepted uploads to team-maintained packages were made at the sprint.

Details of fixes and uploads

Below is a selection of bugs worked on during the sprint. Some items are covered in more detail below.

Miscellaneous package work

Fixes prompted by DUCK reports

A mass-commit was performed to replace http URLs with https in debian/copyright and debian/upstream/metadata. Additionally, dh-make-perl and libconfig-model-dpkg-perl were updated to use https in the first place.

Perl 5.24 transition planning/packaging

Perl 5.24 was released in May 2016, and it was confirmed that the plan was to get this into stretch before freeze, based on transition freeze on 5th November 2016, soft freeze on 5th January 2017, freeze on 5th February 2017.

The transition was expected to be fairly straightforward. Aside from FTBFS bugs caught by rebuilds, the rename package deprecation and and other syntax deprecations in Perl needed to be caught through log scanning.

Setting up a test rebuild server

Work at the sprint mainly focused on getting a more reliable and useful test rebuild infrastructure up and running. This used debomatic with some local patches to integrate reprepro and other necessary changes. This can act as a generic test infrastructure which is planned to be used for other tests (eg testing against the version of libtest-simple-perl currently, which will be useful for upstream toolchain maintainers)

During the sprint, the first transition bugs (build failures in XS modules and packages linking against libperl) were filed:

A status report was sent to the mailing list after the sprint with more details and future plans.

Cross building XS modules

Niko gave a demo of cross building liblocale-gettext-perl with minimal packaging changes. This builds on infrastructure provided by the perl package #717433 and an older approach in liblocale-gettext-perl #633949. The participants then discussed the conditions where this is viable (i.e. simple enough build dependencies, in particular not including any Architecture:any Perl modules). The general case is still unsolved because of the "multi arch interpreter issue" (see for instance #717882).

A prerequisite is to annotate test build dependencies with the build profile <!nocheck>. It was tentatively agreed that the team should start doing this. It would be good to derive the annotations from upstream information where available (cf. the CPAN::Meta::Spec for upstream test requirements), but this avenue still needs further investigation.

An updated liblocale-gettext-perl package was uploaded as a test case for the above. This package is a good candidate for cross building as it's dependency of debconf-i18n and therefore one of the lowest in the dependency stack.

Improvements to team packaging tools

mr checkout vs. gbp pull

When mr checkout was used (usually through mr up), it generated the file debian/upstream/metadata for newly checked out repositories. This file is used from pkg-perl-tools scripts, so it made sense to create the file beforehand if someone was going to work on that repository.

On the other hand, gbp pull aborts on unclean working directories, so the next time that mr up would be used on that repository an error was raised complaining about untracked debian/upstream/metadata.

This was an issue for people that usually check out the whole pkg-perl list of repositories, and it was addressed at the sprint.

dh-make-perl

Bugs were triaged, patches were applied, and fixes were proposed:

Weak checksums

Some lintian warnings were noticed for source packages with weak checksums (e.g. libclass-default-perl_1.51-2) so #824916 was filed to propose a new lintian tag to record the list of affected packages.

pkg-perl-tools

Both dpt-forward-patch and dpt-forward-bug were merged into dpt-forward, adopting their mail bug reporting interface. Now dpt-forward also reads debian/upstream/metadata and there is a new branch to create pull requests instead of forwarding patches and links in comments to GitHub issues.

A new feature was added to dpt-upstream-repo and dpt-debian-upstream that will switch to secure URLs where needed.

Some minor improvements were performed in examples/check-build, TODO items were reviewed and updated, and pkg-perl-tools 0.30 version was uploaded.

YAPC::EU talk on downstream distributions

Alex proposed that he present a talk at the next YAPC::EU on the topic of downstream distribution aimed at CPAN authors, which has already been accepted.

It was agreed that he would based it on gregor's presentation from Barcelona Perl Workshop 2014.

Discussion on how to make interaction between upstreams and Debian easier included the suggestion to make it easy for upstream to subscribe to package bug mail, and handling upstreams which don't have an interest in receiving bugs/patches from distros (should a disclaimer be added to the package description? Should patches and bugs not be forwarded?)