• CRAN Package Matrix update and a possible transition or not

    From Dirk Eddelbuettel@21:1/5 to All on Wed Feb 28 02:10:03 2024
    XPost: linux.debian.devel.release

    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.

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dirk Eddelbuettel@21:1/5 to Dirk Eddelbuettel on Fri Mar 22 17:20:01 2024
    XPost: linux.debian.devel.release

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dirk Eddelbuettel@21:1/5 to Dirk Eddelbuettel on Sat Mar 23 13:30:01 2024
    XPost: linux.debian.devel.release

    On 22 March 2024 at 11:12, Dirk Eddelbuettel wrote:
    |
    | 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).

    My bad. That was another release in the 1.6-* series, namely 1.6-5. No
    special action needed. 1.7-0 is still pending.

    Dirk

    | 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

    --
    dirk.eddelbuettel.com | @eddelbuettel | edd@debian.org

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dirk Eddelbuettel@21:1/5 to Dirk Eddelbuettel on Sat Mar 23 13:40:01 2024
    XPost: linux.debian.devel.release

    On 23 March 2024 at 07:25, Dirk Eddelbuettel wrote:
    |
    | On 22 March 2024 at 11:12, Dirk Eddelbuettel wrote:
    | |
    | | 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).
    |
    | My bad. That was another release in the 1.6-* series, namely 1.6-5. No
    | special action needed. 1.7-0 is still pending.

    Gaaa. Wrong *again*. 1.7-0 *was* released (see my CRANberries log [1]) but
    has since been withdrawn (!!) at CRAN. We continue to monitor.

    Dirk

    [1] https://dirk.eddelbuettel.com/cranberries/2024/03/22/#Matrix_1.7-0


    | Dirk
    |
    | | 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
    |
    | --
    | dirk.eddelbuettel.com | @eddelbuettel | edd@debian.org

    --
    dirk.eddelbuettel.com | @eddelbuettel | edd@debian.org

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)