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

Reply via email to