On 27 February 2024 at 19:01, Dirk Eddelbuettel wrote: | A couple of days ago, the (effective) Maintainer and rather active developer | of the Matrix package Mikael Jagan (CC'ed) posted on the r-package-devel list | (the primary list for R package development) that the upcoming change of | Matrix 1.7-0, planned for March 11, will be _very midly disruptive_ but only | to the very small subset of Matrix dependents that _actually use its | headers_. See the full mail at [1]. The gory detail is that Matrix embeds and | uses an advanced sparse matrix library (called SuiteSparse) which it updates, | and the change in headers affects those (and only those!) who compile against | these headers. | | Now, Matrix currently has 1333 packages at CRAN using it [2]. But he lists 15 | (fifteen) of possibly breaking because these are the packages having a | 'LinkingTo: Matrix' [3]. That 1.113 per cent. | | It is similar for us. Running a simple `apt-cache rdepends r-cran-matrix | wc -l` | gets us 145 lines (including headers and meta packages). Call it 140 that a | transition would cover. | | But among the 15 affected only five are in Debian: | | irlba r-cran-irlba | lme4 r-cran-lme4 | OpenMx r-cran-openmx | TMP r-cran-tmp | bcSeq r-bioc-bcseq | | One of these is mine (lme4), I can easily produce a sequenced update. I | suggested we deal with the other _four packages_ by standard bug reports and | NMUs as needed instead of forcing likely 140 packages through a transition. | | Note that is in fact truly different from the past two hickups with Matrix | transition which happened at the R-only level of caching elements of its OO | resolution and whatnot hence affecting more package. This time it really is | compilation, and packages NOT touching the SuiteSparse headers (ie roughly | 135 or so of the 140 Debian packages using Matrix) will not be affected. | | That said, I of course defer to the release team. If the feeling is 'eff | this, transition it is' that is what we do. Whether I think is overkill or | not is moot. | | Feel free to CC me as I am not longer a regular on debian-devel.
The new Matrix release is now on CRAN so I plan to proceed as outlined with a first upload experimental, likely later today or this evening (my timezone). Dirk | | Cheers, Dirk | | | [1] https://stat.ethz.ch/pipermail/r-package-devel/2024q1/010463.html | [2] In R: | > db <- tools::CRAN_package_db() | > matrixrevdep <- tools::package_dependencies("Matrix", reverse=TRUE, db=db)[[1]] | > length(matrixrevdep) # the vector 'matrixrevdep' list all | [1] 1333 | > | [3] LinkingTo:, despite its name, is the directive to include the package C | headers in the compilation. The 'db' object above allows to us to subset | which of the 1333 packages using Matrix also have a LinkingTo | | | -- | dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org -- dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org