Bug#893754: autopkgtest 5.1 "autopkgtest-default-release" breaks tests that exercise apt

Julian Andres Klode jak at debian.org
Thu Mar 22 10:07:07 UTC 2018

On Thu, Mar 22, 2018 at 11:01:28AM +0100, Paul Gevers wrote:
> Hi,
> On 22-03-18 10:43, Iain Lane wrote:
> > On Wed, Mar 21, 2018 at 05:18:53PM -0700, Steve Langasek wrote:
> >> When autopkgtest 5.2 was recently rolled out to the Ubuntu infrastructure,
> >> various package-manager-related test suites began to fail as a result of the
> >> use of APT::Default-Release introduced in 5.1:
> >> […]
> > 
> > I see autopkgtest already does:
> > 
> >   for default in default_releases:
> >       script += 'printf "\nPackage: *\\nPin: release a=%(default)s\\nPin-Priority: 990\\n" >> /etc/apt/preferences.d/autopkgtest-%(release)s; ' % \
> >           {'release': release, 'default': default}
> > 
> > if there are default releases passed to this function, which there are
> > only for -updates. But AIUI (jak?) this is effectively the same as
> > APT::Default-Release anyway, so I'm proposing that we always do this for
> > the default release instead of the apt.conf.d snippet.
> autopkgtest works great with the new functionality, and it is really
> needed for Debian (the Ubuntu way of archives isn't robust, a= and s=
> are not the same except in Ubuntu). I tried, but decided against it, to
> have logic to convert e.g. sid to unstable (or the other way around), as
> it isn't robust for Debian downstreams.
> In my opinion, python(3|)-apt in Ubuntu is broken. It needs to accept
> valid APT::Default-Release options in it's own distribution.
> (Interestingly, python(3|)-apt doesn't depend on python-debian, but it
> does declare the Test-Depends in its autopkgtest).

It's not broken. There are several tests in various packages that use
python-apt on a chroot-like thing. but apt reads the host configuration
first, reading apt::default-release foo; but then cannot find foo in the
chroot-like environment and errors out.

This was fixed for about a month in 2014, but caused other regressions
because people complained they could not do stuff like setting custom
architectures for these chroot-like things.

This is not an Ubuntu-specific problem at all. The python-apt test suite
might work fine, but I'm not sure how many packages use it in autopkgtests
without sanitizing the environment.

The same also applies to apt -o Dir and friends.
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en

More information about the autopkgtest-devel mailing list