Hi Andreas

On Sat, 18 Nov 2023 at 19:18, Andreas Tille <andr...@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.

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.

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)?

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?

Regards
Graham


[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

Reply via email to