Re: Bug#1055922: rmatrix: ABI change in Matrix 1.6-2
Hi Graham,
Am Sun, Nov 19, 2023 at 01:55:04PM -0100 schrieb Graham Inggs:
> On Sat, 18 Nov 2023 at 19:18, Andreas Tille <andreas@an3as.eu> wrote:
> > We need some means to follow ABI changes. In Debian we could use
> > something like r-matrix-abi-VERSION.
>
> Indeed, this is one solution. As you saw in [1], upstream now provide
> an ABI version and a way to extract it:
> > Matrix will commence ABI versioning in 1.6-2. The ABI version will be available
> > in R as Matrix.Version()[["abi"]] and in C as R_MATRIX_ABI_VERSION (from header
> > Matrix/Matrix.h). It is numeric_version("1") in Matrix 1.6-2 and _implicitly_
> > numeric_version("0") in Matrix < 1.6-2.
I'd personally would prefer, if we would implement this ABI versioning
in our packaging in the long term.
> However, since rmatrix has over 100 reverse-dependencies, and only a
> very small number of these are broken by the ABI change, we feel this
> may be overkill, but wouldn't dissuade anyone from proposing patches
> to implement this.
This somehow reminds me to bug #1040038 where r-graphics-engine was
implemented in r-base. I'm willing to help with the implementation of
R_MATRIX_ABI_VERSION but my motivation would be increased if the
authorship of the patches would be mentioned at least in d/changelog
(which was not the case for r-graphics-engine).
> Another option is simply to add a versioned dependency on
> r-cran-matrix to the affected packages, e.g.:
> Depends: r-cran-matrix (>= 1.6-2-1)
> ...but this requires a source change and an upload, is error-prone,
> and a binNMU would not be sufficient.
>
> We liked the change you made to r-cran-tmb [2], as this allows the
> affected packages to be binNMU'd and gain a versioned dependency on
> r-cran-matrix. Would you please apply this to the other affected
> packages (only r-cran-irlba and r-cran-openmx, if I understand
> correctly)?
Done.
> Unfortunately, it seems the two-sided dependency introduced
> subsequently [3], which produces:
> r-cran-matrix (>= 1.6-2-1), r-cran-matrix (<= 1.6-2-199)
> ...is too strict, and r-cran-tmb already needs another rebuild due to
> the upload of rmatrix 1.6-3-1. Would you please revert that change
> and upload?
I've reverted this but in previous discussion[4] with Paul we agreed
upon the strict version dependency. I think this is only necessary for
r-cran-tmb (where upstream is enforcing this with a test I'm hesitating
to patch out). But maybe upstream can work with the freshly implemented
R_MATRIX_ABI_VERSION and thus we can come back to upstream if the
autopkgtest will fire next time (which will happen now after the next
r-cran-matrix update).
Kind regards
Andreas.
> [1] https://stat.ethz.ch/pipermail/r-sig-mac/2023-October/014890.html
> [2] https://salsa.debian.org/r-pkg-team/r-cran-tmb/-/commit/92579f72c2db4d51a45cf317f580d790da158f4f
> [3] https://salsa.debian.org/r-pkg-team/r-cran-tmb/-/commit/0a4d35d10f9c875863fa0238287cee8ab25aecdd
[4] https://lists.debian.org/debian-r/2023/11/msg00007.html
--
http://fam-tille.de
Reply to: