On 06/06/2020 3:04 a.m., Patrick Schratz wrote:
Dear list,

Various helpers exist in the wild to install older archived versions of
CRAN packages, for example `remotes::install_version() ` or
`versions::install.version()`.
The former makes use of an “archive.rds” file stored in the CRAN
/Meta directory:
https://github.com/r-lib/remotes/blob/9b5dc29102a486df2f42c88bb19027a7cd54a721/R/install-version.R#L68

Given its existence, I was wondering why there is no official support in
`install.packages()`?

Because it's not needed? Some functions belong in base packages because they require access to R internals that aren't available to contributed packages. Other functions support those: base packages can't depend on non-base packages. And finally, some functions are there because some R core member thought they'd be a good idea, and was willing to commit to supporting them.

Your suggestion doesn't fit the first two reasons, and I can't see any current R core member wanting to take on extra work unnecessarily.

A bit more inline below...


I was browsing the mailing archives of r-devel but surprisingly could
not find a previous discussion about it.
`remotes::install_version()` only uses the tarballs and enforces
installation from source.
If it’s due to dependency issues, i.e. that there is no guarantee that
older versions work with the current versions of CRAN packages, then the
availability of downloading and installing the tarballs manually from
the Archive web page could also be questioned per se.
I think people know that they are on their own in this situation and
that there is no guarantee for archived versions to function properly,
especially of one goes back substantially in time.
A simple note in ?install.packages() could further clarify this.

A few questions:

- Does an archive for older binaries exist for CRAN packages?

No, nothing like that is maintained. CRAN keeps binaries for the previous version but not indefinitely.

- How is CRAN creating “archive.rds”?
- Would a PR adding this functionality to `install.packages()` be
accepted by R-core?

R isn't maintained on Github so a PR wouldn't make sense, but I also doubt the submission of an svn patch would be acted on unless you come up with some strong arguments about why remotes::install_version doesn't work properly and can't be fixed by its authors.

Duncan Murdoch


Patrick

        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to