[Rd] install.packages(): About an option for installing archived versions

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Sat Jun 6 15:39:06 CEST 2020

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 using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

More information about the R-devel mailing list