[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: autopkgtest needs-recommends [Was Re: autopkgtest: versioned triggers and fixing "Test dependencies are unsatisfiable with using apt pinning"]



On Tue, Jun 12, 2018 at 08:48:01PM +0200, Paul Gevers wrote:
> On 12-06-18 20:15, Antonio Terceiro wrote:

> > but why not just injecting the packages
> > in Recommends: in the test dependencies when the test specifies
> > needs-recommends?
> > 
> > i.e. for the following package:
> > 
> > Package: foo
> > Depends: bar
> > Recommends: qux
> 
> Now assume you have
> Testing:
> Package: foo (@ version 1)
> Depends: bar
> Recommends: qux
> 
> Unstable:
> Package: foo (@ version 2)
> Depends: bar
> Recommends: qwa
> 
> Package: qwa
> Conflicts: qux
> 
> > these test definitions should be equivalent:
> > 
> > Test: test-foo
> > Restrictions: needs-recommends
> > 
> > Test: test-foo
> > Depends: @, qux
> 
> And you are testing not foo, but baz (pin blo from unstable) which has
> Test: test-baz
> Depends: @, foo
> Restrictions: needs-recommends
> 
> You tell me how to determine from which package I need to find my
> Recommends and at which version. (Yes, you are missing information right
> now to determine if this is possible at all or not).

Couldn't you install the test dependencies just like now, then look at
the installed package(s) that '@' brought in and explicitly install its
recommendations in a separate apt run?

This only works for those needs-recommends tests that have '@' in their
dependencies, but I'd expect that to be the vast majority of cases.
It's certainly the case for the autopkgtest-pkg-perl ones.

FWIW, there's approximately 350 autopkgtest-pkg-perl packages that
have Recommendations and would therefore be affected by the possible
needs-recommends deprecation / removal.

We use needs-recommends to ensure that all the Perl modules in each
package pass a test compile when the binary package dependencies and
recommendations are installed. This has definitely proved useful in
detecting missing dependency metadata.

The recommendations are usually due to plugin modules that get activated
at runtime if the relevant recommendations are installed, but degrade
gracefully if not.
-- 
Niko Tyni   ntyni@debian.org



Reply to: