[R] Dependency errors for package pracma

Martin Maechler m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Thu Nov 9 14:27:37 CET 2023

>>>>> Hans W 
>>>>>     on Thu, 9 Nov 2023 12:22:52 +0100 writes:

    > What really interests me:
    > With all those strict checking procedures, how is it possible that the
    > new 'Matrix' version got accepted on CRAN?

There > 2000 reverse dependencies for Matrix.

We have had some (in themselves small) inconsistency fixes some
of which make Matrix 'Matrices' more similar to base R matrices.

In any case we pre-tested all reverse dependencies and found 7 or 8
out of 22'000 CRAN+Bioc packages which needed to adapt to the
Matrix changes.  The package maintainer of the 7 packages were
told in advance that they should (very slightly) adapt their
code (sometimes only there *tests*) and mostly were even handed
out a *patch* to apply to the respective package for updating it.
One or two of these packages were updated on CRAN in time, the
other ~ 5 were not... this is  ~ 1 in 4000 packages.  So the
decision was made to release (from us pkg maintainers) and to
accept (from the CRAN team).

Also, to be fair, in our tests we did miss one package,
but then quickly told the maintainer, again providing him with a
complete patch file to update the package (working both with old
and new Matrix).

    > I think this happened twice to me before, and it takes a lot of time
    > to check package dependencies that turn out to be not dependent --
    > more time than checking dependencies that are real.

With Matrix there is some extra effort, because it also exports
a C API (so other packages can have  'LinkingTo: Matrix') and
this time it was necessary for CRAN to additionally re-install
those linking-reverse-dependent packages .. on all platforms, in
time, etc. a somewhat brittle task all with a CRAN check system
that simultaneously runs other package installations and checks.

I think you were slightly unlucky in the timing of your package

Best regards,

More information about the R-help mailing list