Source: debci
Version: 3.13
Severity: normal

The Request Test facility for debci (the web page at
https://ci.debian.net/user/$USER/test )
allows pinning packages, in order to run tests using specified
packages from experimental, for instance.

But pinning does not force installation of the given package.
This makes it difficult to run tests using alternatives for the
packages.

A current example is slepc4py, which uses liblapack3 (via
libslepc-real3.24)

lapack3, like libblas3, has alternatives. There is a common API, and
different optimised implementations. The generic reference build is
from src:lapack and liblapack-dev.  One of the optimised
implementations is src:openblas (e.g. dev package libopenblas-pthread-dev)

Packages like libslepc-real3.24 that use lapack declare the dependency
Depends: liblapack3 | liblapack.so.3

liblapack3 is the generic reference build from src:lapack, and
optimised implementations like src:openblas use Provides: liblapack.so.3
e.g. libopenblas0-pthread Provides: liblapack.so.3

Most of the time slepc4py tests access the first alternative, the
generic liblapack3 package, and pass. A recent passing test on ppc64el
is https://ci.debian.net/packages/s/slepc4py/testing/ppc64el/68414968/

But recent slepc4py tests in testing were using libopenblas0
0.3.30+ds-3+b1 instead of liblapack3, and failing.
A sample failing test log is
https://ci.debian.net/packages/s/slepc4py/testing/ppc64el/68333289/

I don't know why britney was installing libopenblas0
(and libopenblas-pthread-dev) instead of liblapack3 (and
liblapack-dev), but it's permitted by the alternatives in the
dependencies.

I reported the apparent openblas bug in Bug#1126688
and openblas 0.3.31+ds-1 has been uploaded to experimental.

What I would like now from debci is to use "Request Test"
to request a test of slepc4py on ppc64el using the new openblas
package (libopenblas-pthread-dev 0.3.31+ds-1) from experimental.

I can pin "libopenblas-pthread-dev, experimental". But since openblas is
only an alternative dependency, not a mandatory dependency, it does
not get selected and does not (usually) get installed for the slepc4py
test.  I tried in
https://ci.debian.net/packages/s/slepc4py/unstable/ppc64el/68414867/
(with experimental)
and https://ci.debian.net/packages/s/slepc4py/unstable/ppc64el/68414866/
(libopenblas-pthread-dev, unstable)
but both cases installed liblapack3 not libopenblas0.

It would be useful to be able to "Request Test" forcing installation
of the indicated packages. This could be a separate or additional
option to simply pinning the packages.

Reply via email to