Reorganising the control file allows this simple test to run first and
be marked as superficial which makes no practical difference, but is
more correct.
If the system tells us that a core dump was created we should try to
display the contained info as that system might not be easily available
when we see the error (like C-I or autopkgtest).
Gbp-Dch: Ignore
We use a Breaks for the binary package instead of adding
a versioned depends, as Breaks will cause apt solver to upgrade dpkg,
while depends would make apt try to remove apt as first choice.
This is an optional dependency for the test, but the skipping of the
test is very noisy and checking that an unchanged aptitude isn't
downright exploding with our libapt isn't a bad idea either.
Gbp-Dch: Ignore
We do want to get our autopkgtests triggered by dpkg uploads
in Ubuntu, but this does not happen because we don't have
an explicit dependency on it. Add one.
Hardcoding gpgv1 and gnupg1 breaks Ubuntu, because on Ubuntu,
these packages do not exist yet. Instead allow gnupg (<< 2)
for gnupg1 and gnupg2 for gnupg (>= 2), so we cover all
potential combinations.
We need to support partial upgrades anyhow, so we have to deal with the
different versions and your tests try to ensure that we do, so we
shouldn't make any explicit higher requirements.
The problemresolver will set the candidate version for pkg P back
to the current version if it encounters an impossible to satisfy
critical dependency on P. However it did not set the State of
the package back as well which lead to a situation where P is
neither in Keep,Install,Upgrade,Delete state.
Note that this can not be tested via the traditional sh based
framework. I added a python-apt based test for this.
LP: #1550741
[jak@debian.org: Make the test not fail if apt_pkg cannot be
imported]
Ubuntu's autopkgtest server always prints
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
which is somewhat annoying. Work around that by depending on that
perl stuff for the test suite.
Gbp-Dch: ignore
debian/tests/control: Add missing build-essential, fakeroot, and wget test
dependencies.
debian/tests/run-tests: Pin locale to C to avoid test failures in other
locales.