Package: autopkgtest Version: 5.2 User: debian...@lists.debian.org Usertags: issue
autopkgtest doesn't fail when apt can't install recommended packages. This is caused by APT::Install-Recommends=true, which is what autopkgtest uses to achieve this) not forcing apt to fail. apt can't be forced to fail with that setting on missing recommends. Also that option is transitive. Is that really wanted? For a more detailed example, see the e-mail below. -------- Forwarded Message -------- Subject: Re: autopkgtest 'needs-recommends' with testing + unstable Date: Sun, 22 Apr 2018 17:16:12 +0300 From: Niko Tyni <nt...@debian.org> To: debian...@lists.debian.org On Sun, Apr 22, 2018 at 03:46:50PM +0200, Paul Gevers wrote: > On 22-04-18 14:53, Niko Tyni wrote: >> 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. > > This (not bailing out) sounds like a bug in autopkgtest to me. I'll > file one soon, based on your message. Although, if you want to file > it yourself, please do so. Some details: in https://ci.debian.net/data/autopkgtest/testing/amd64/libs/libsearch-elasticsearch-perl/189195/log.gz starting at 'test command3: preparing testbed' we see Investigating (0) libjson-xs-perl:amd64 < none -> 3.040-1 @un uN Ib > Broken libjson-xs-perl:amd64 Depends on libcommon-sense-perl:amd64 < none | 3.74-2+b4 @un uH > Considering libcommon-sense-perl:amd64 2 as a solution to libjson-xs-perl:amd64 1 Holding Back libjson-xs-perl:amd64 rather than change libcommon-sense-perl:amd64 Investigating (0) libtypes-serialiser-perl:amd64 < none -> 1.0-1 @un uN Ib > Broken libtypes-serialiser-perl:amd64 Depends on libcommon-sense-perl:amd64 < none | 3.74-2+b4 @un uH > Considering libcommon-sense-perl:amd64 2 as a solution to libtypes-serialiser-perl:amd64 1 Holding Back libtypes-serialiser-perl:amd64 rather than change libcommon-sense-perl:amd64 Done Done The test dependencies are just '@, pkg-perl-autopkgtest' with 'Restrictions: needs-recommends', so it's supposed to install libsearch-elasticsearch-perl and its dependencies and recommendations. The package Recommends libjson-xs-perl, which is uninstallable without pulling libcommon-sense-perl:amd64 3.74-2+b5 from unstable. This doesn't happen, so we get a failure: # Failed test '/usr/bin/perl -wc /usr/share/perl5/Search/Elasticsearch/Serializer/JSON/XS.pm exited successfully' # at /usr/share/pkg-perl-autopkgtest/runtime-deps-and-recommends.d/syntax.t line 121. [...] # Can't locate JSON/XS.pm in @INC (you may need to install the JSON::XS module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.2 /usr/local/share/perl/5.26.2 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Search/Elasticsearch/Serializer/JSON/XS.pm line 4. # BEGIN failed--compilation aborted at /usr/share/perl5/Search/Elasticsearch/Serializer/JSON/XS.pm line 4. Similarly in https://ci.debian.net/data/autopkgtest/testing/amd64/libp/libppi-perl/184151/log.gz libppi-perl Recommends: libclass-xsaccessor-perl which is only installable from unstable but doesn't get pulled in, which leads to a failure. In this case apt is totally silent about the uninstallability afaics.
signature.asc
Description: OpenPGP digital signature