Bug#998411: Bug#996204: transition: numerical library stack: hypre SONAME (Policy 8.1)
Drew Parsons
dparsons at debian.org
Wed Nov 3 21:33:01 GMT 2021
On 2021-11-03 20:57, Sebastian Ramacher wrote:
> Source: hypre
> Severity: serious
...
> The real blocker is hypre, specifically:
>
> hypre (2.18.1-1) experimental; urgency=medium
> .
> * Team upload.
> * New upstream release.
> * Standards-Version: 4.4.1
> * Provide library binary package as libhypre without the soname
> version embedded in the package name. Enforce version dependency
> through strict shlibs dependency. This is to workaround lack of
> ABI backwards compatibility and keep minor version updates being
> delayed in the NEW queue. See README.Debian.
>
>
> As a consequence, hypre breaks co-installability of all its reverse
> dependencies, therefore breaking smooth updates of the packages
> involved
> in the transition. And yes, in the end, deal.ii currently keeps the
> whole stack from migrating as it renders deal.ii's binaries
> uninstallable in testing.
The problem that hypre 2.18.1-1 (un-versioned libhypre) intended to
solve is that hypre is ABI-ignorant
(https://github.com/hypre-space/hypre/issues/56), so each point patch
release would have to be a new binary package, and the upstream release
rate is faster than the average NEW queue processing rate (the new
package for the current transition would be libhypre2.22.1, and already
libhypre2.23.0 is released upstream).
hypre has only 2 direct reverse dependencies, petsc and sundials, which
we can keep up-to-date easily. The current problem is that deal.ii
depends on the old petsc3.14, so it can't be installed with the new
petsc3.15. It wouldn't be a problem in practice, if deal.ii hadn't
started FTBFS (Bug#996277) preventing it rebuilding against petsc 3.15.
We could say it was tactical error running the hypre and petsc ABI
updates at the same time (I wasn't anticipating deal.ii Bug#996277)
If we revert back to version-named hypre library packages then the cost
is that we won't be able to provide timely patch updates for hypre (each
one will be a new library package needing to pass NEW, since hypre does
not provide ABI compatibility).
The alternative for this transition is to remove deal.ii from testing,
which is happening anyway due to Bug#996277
So the use of un-versioned libhypre was intended as a specific exception
to Policy 8.1, for the purpose of facilitating faster hypre patch
updates. The irregularity is due to a lack of ABI-awareness in hypre
itself.
Is it best to revert back to strict Policy 8.1 compliance, which will
slow down hypre patch release updates?
Drew
More information about the debian-science-maintainers
mailing list