debian/test/control: negative architecture restictions are rejected in dependencies

Bug #1516959 reported by Andy Whitcroft
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
autopkgtest (Ubuntu)
Fix Released
Medium
Martin Pitt

Bug Description

If we specify a negative architecture dependency in debian/test/control we get an invalid syntax error:

    blame: linux
    badpkg: InvalidControl test ubuntu-regression-suite: Test Depends field contains an invalid dependency `gcc-multilib [!ppc64el]'
    adt-run [21:27:37]: ERROR: erroneous package: InvalidControl test ubuntu-regression-suite: Test Depends field contains an
       invalid dependency `gcc-multilib [!ppc64el]'
    Exit request sent.

This appears to be because ! is simply not expected by the parser:

lib/testdesc.py:
dep_re = re.compile(
    r'(?P<package>[a-z0-9+-.]+)(?::native)?\s*'
    r'(\((?P<relation><<|<=|>=|=|>>)\s*(?P<version>[^\)]*)\))?'
    r'(\s*\[[[a-z0-9+-. ]+\])?$')

Full log: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-xenial-canonical-kernel-team-unstable/xenial/i386/l/linux/20151113_212749@/log.gz

Martin Pitt (pitti)
Changed in autopkgtest (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → Martin Pitt (pitti)
status: Triaged → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in http://anonscm.debian.org/cgit/autopkgtest/autopkgtest.git/commit/?id=ff12d47a2 .

I rolled this out to the production machines, in case you want to use it in the kernel packages.

Changed in autopkgtest (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package autopkgtest - 3.18.1

---------------
autopkgtest (3.18.1) unstable; urgency=medium

  * With --apt-pocket=POCKET=pkgname,... also include <release>-updates.
  * cloud-vm-setup, adt-setup-vm: Disable /etc/cron.daily/apt.
  * Detect if apt fails to download packages (as opposed to installing them),
    retry up to three times, and eventually fail with exit code 16. This
    avoids failing tests due to DNS/infrastructure problems and handling them
    as tmpfails instead.
  * Add test case for multiple Tests: with --apt-pocket=proposed=pkg
    selection and nonexisting dependency.
  * Properly keep track of apt pinnings across testbed resets.
  * cloud-vm-setup, adt-setup-vm: Purge open-iscsi.
  * Treat apt errors (exit code 100) from source download/extraction as
    tmpfail.
  * ssh-setup/nova: Stop adding apt sources for restricted/multiverse, as
    current images now have them by default (see LP #1177432). This avoids
    duplicate apt sources which cause stderr failure with some tests.
  * Recognize negative architecture restrictions in test Depends:.
    (LP: #1516959)
  * tools/adt-buildvm-ubuntu-cloud: Counter-hack LP #1510345 harder by
    checking /proc/cmdline instead of /etc/default/grub.

 -- Martin Pitt <email address hidden> Wed, 18 Nov 2015 12:18:23 +0100

Changed in autopkgtest (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.