Re: CRAN Package Matrix update and a possible transition or not
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 | edd@debian.org
--
dirk.eddelbuettel.com | @eddelbuettel | edd@debian.org
Reply to: