Bug #17590

iuk: missing perl5lib reference + `dzil authordebs --install` failure

Added by CyrilBrulebois 2020-04-04 22:39:31 . Updated 2020-04-22 15:05:56 .

Status:
Resolved
Priority:
Normal
Assignee:
CyrilBrulebois
Category:
Target version:
Start date:
Due date:
% Done:

100%

Feature Branch:
bugfix/17590-perl-test-suites-deps
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

In the process of installing a new buster-based build machine, I’m following release_process.mdwn and documentations it points to to deploy everything I need.

wiki/src/contribute/release_process/tails-iuk.mdwn might need two tweaks:

  • the “tails-iuk.list | apt install” step might need to have a similar one for tails-perl5lib.list; at first, I’m not entirely this is needed, but with the iuk+tps merge into tails.git, I think I’ve seen failures/missing packages for one of them. Looking further down this page, I’m seeing PERL5LIB being set for the test suite runs, which confirms my recollection: perl5lib material must be installed as well for the whole iuk thing. Pointing to wiki/src/contribute/release_process/perl5lib.mdwn might be a good fit.
  • plus @dzil authordebs —install` fails with an obscure message:
kibi@hamburg:~/work/clients/tails/tails.git/config/chroot_local-includes/usr/src/iuk$ dzil authordebs --install
Can't use an undefined value as a HASH reference at /usr/share/perl5/Debian/AptContents.pm line 444.

Trying to go further, I’m seeing a tip when trying to run the test suite for overlayfs:

kibi@hamburg:~/work/clients/tails/tails.git/config/chroot_local-includes/usr/src/iuk$ NODE_PATH="${TAILS_GIT_CHECKOUT}/submodules/mirror-pool-dispatcher/lib/js" \
> PATH="${TAILS_GIT_CHECKOUT}/submodules/mirror-pool-dispatcher/bin:$PATH" \
> PERL5LIB="${TAILS_GIT_CHECKOUT}/config/chroot_local-includes/usr/src/perl5lib/lib" \
>    RELEASE_TESTING=1 \
>    LC_ALL=C \
>    dzil test
Required plugin Dist::Zilla::Plugin::Test::Perl::Critic isn't installed.

Run 'dzil authordeps' to see a list of all required plugins.
You can pipe the list to your CPAN client to install or update them:

    dzil authordeps --missing | cpanm

So I’ll fix the authordebs vs. authordeps typo in master, referencing this ticket, and leaving up to someone else (maybe @intrigeri who merged iuk.git and tps.git into tails.git?) to comment on/fix the possible perl5lib reference addition.


Subtasks


Related issues

Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed

History

#1 Updated by CyrilBrulebois 2020-04-04 22:43:56

Oh, or we really do have authordeps vs. authordebs (from libdist-zilla-app-command-authordebs-perl) and we’re using the latter quite a bunch according to git grep (thinking back, that part looked good enough when I followed it weeks ago on stretch; that’s why I was filing a ticket for the apparent regression/different behaviour in the first place).

#2 Updated by CyrilBrulebois 2020-04-04 22:52:20

A possibly final extra data point for today…

Installing all other packages mentioned in iuk and perl5lib packages, and running dzil authordeps --missing in the perl5lib directory, those Perl modules were listed:

Test::EOL
Test::Perl::Critic
Dist::Zilla::Plugin::Test::NoTabs
Dist::Zilla::Plugin::Test::Perl::Critic

which I fixed by installing:

apt install libtest-eol-perl libtest-perl-critic-perl libdist-zilla-plugin-test-notabs-perl libdist-zilla-plugin-test-perl-critic-perl

and it seems dzil authordebs --install (with a b as in Bravo) is happy now:

All dzil dependencies are already available

Removing a random package (e.g. libtest-eol-perl) brings back the issue, so without digging too deep, I’m going to assume this is a problem somewhere in the Perl module → Debian package lookup code path, rather than a general authordebs failure.

#3 Updated by intrigeri 2020-04-05 06:37:23

  • Status changed from Confirmed to In Progress

Applied in changeset commit:tails|fb275aac6fdc48ab48845f636df89ba81c24ac38.

#4 Updated by intrigeri 2020-04-05 06:38:05

  • Status changed from In Progress to Needs Validation
  • Assignee changed from intrigeri to CyrilBrulebois
  • Target version set to Tails_4.5
  • Feature Branch set to bugfix/17590-perl-test-suites-deps

I’m not sure what’s going on and I cannot reproduce. I suspect ~/.dh-make-perl/Contents.cache was not ready yet, or similar. Anyway, I’m fixing that via the doc, which will be good enough IMO.

#5 Updated by intrigeri 2020-04-05 06:39:58

#6 Updated by CyrilBrulebois 2020-04-06 05:53:25

This look good to me, this can be merged after 4.5 is out.

(I’ll get to such tickets after some post-release rest, feel free to merge before I do.)

#7 Updated by intrigeri 2020-04-06 14:20:29

  • Target version changed from Tails_4.5 to Tails_4.6

#8 Updated by intrigeri 2020-04-22 15:05:56

  • Status changed from Needs Validation to Resolved
  • % Done changed from 0 to 100

Applied in changeset commit:tails|0b8505045f7055ac2ec52d0c264533dd53442a84.