[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

autopkgtest 'needs-recommends' with testing + unstable



Hi,

my upload of Perl 5.26.2 to unstable has apparently caused some headache
for the ci.debian.net autopkgtest checks of 'testing', which I understand
is the setup that's intended to drive the upcoming integration of
autopkgtest and britney.

We discussed the issues on IRC with Paul, but it's probably better to
bring it to the list at this point. I'm not quite sure how well we're on
the same page so I'll be somewhat thorough below. Please bear with me :)

While there were some other failures that I think have since been
identified as bugs in the corresponding packages, the main failure mode
in my understanding is/was autopkgtest failures in 'command3' of the
autopkgtest-pkg-perl framework. (Paul, please correct me if there are
other unexplained failures too!)

This 'command3' tests that all the Perl modules (*.pm) in the package
can be compiled when the package's dependencies and recommendations
are installed. The actual autopkgtest-pkg-perl test control file can be
found in the autodep8 package:
 https://sources.debian.org/src/autodep8/0.12/support/perl/generate/

Some examples of affected packages are

 https://ci.debian.net/packages/libp/libppi-perl/
 https://ci.debian.net/packages/libs/libsearch-elasticsearch-perl/

For a bit of background, Perl 5.26.2 is a 'mini-transition' tracked
in #895943 and requires four packages to be binNMU'd because of their
strict dependencies on the current version of perl. These four packages
are libpar-packer-perl, libdevel-cover-perl, libclass-xsaccessor-perl
and libcommon-sense-perl, and they have been binNMU'd in unstable but
haven't migrated to testing yet. The packages in testing are built
for Perl 5.26.1, and are uninstallable with Perl 5.26.2 in unstable
(and vice versa.)

It looks to me like the ci.debian.net 'testing' failures are
running with perl 5.26.2 from unstable but libcommon-sense-perl /
libclass-xsaccessor-perl from testing. These are not installable
together, so apt silently gives up on installing the recommendations
without actually bailing out. The checks then rightly fail because not
all recommendations are installed.

So afaics part of the issue is that when the 'needs-recommends' test
restriction cannot be fulfilled, autopkgtest doesn't notice and report
an error, but rather carries on and runs the test regardless.

Another part is that the 'testing' checks need to take more packages
from unstable than just the one that's trying to migrate, and selecting
those packages doesn't seem to work yet in all cases? I'm not at all
acquaintanced with how this is supposed to work, but it looks like for
instance https://ci.debian.net/packages/libj/libjson-xs-perl/ has since
learned that libcommon-sense-perl needs to be grabbed from unstable.
(This is much easier to detect as it's a direct dependency in this case,
not a recommendation.)

This all obviously mirrors the way britney needs hints for migrating
packages together; are those tied somehow? I'm sure this is a more
generic issue not specific to perl...

Hope this is at least slightly useful. Thanks for your work on getting
more use out of the autopkgtest checks, much appreciated!
-- 
Niko Tyni   ntyni@debian.org



Reply to: