Package: autopkgtest
Version: 5.4 
Severity: important

As seen in at least

 https://ci.debian.net/data/autopkgtest/testing/amd64/n/nftables/556352/log.gz

autopkgtest has regressed for packages that are not Architecture: all or
Architecture: any and have '@' in their test dependencies.

This seems to be due to

 
https://salsa.debian.org/ci-team/autopkgtest/commit/7cc976b02a881e5f2a43945fde87d8b8679ff442

which results in an erroneous 'apt-get install package [linux-any]' call.

The code in  _debian_packages_from_source() adds an architecture qualifier
for non-{any,all} packages, so it's not suitable for feeding to 'apt-get
install' as-is.

Fixes / workarounds we've discussed with Paul include

- parse the architecture list, pass the package to 'apt-get install'
  (without the arch qualifier) if and only we're on a matching
  architecture. (The matching check can be done with dpkg-architecture(1)
  but still leaves parsing the specification.)

- don't try to 'apt-get install' non-{any,all} packages; this can result
  in a Provided package satisfying the dependency so the semantics of '@'
  are not guaranteed

- as above, but mitigate the risk of a Provided package satisfying the 
dependency
  by limiting it only to versioned Provides. This could be done by reverting

   
https://salsa.debian.org/ci-team/autopkgtest/commit/9199bbd3dc4ce845f6739dfebee264111c09fdad

-- 
Niko Tyni   nt...@debian.org

Reply via email to