From murdoch@dunc@n @end|ng |rom gm@||@com  Sat Jun  6 15:39:06 2020
From: murdoch@dunc@n @end|ng |rom gm@||@com (Duncan Murdoch)
Date: Sat, 6 Jun 2020 09:39:06 -0400
Subject: [Rd] 
 install.packages(): About an option for installing archived versions
In-Reply-To: <8144BB12-0875-463E-8844-EDD216EF6285@gmail.com>
References: <8144BB12-0875-463E-8844-EDD216EF6285@gmail.com>
Message-ID: <0be54bc5-f987-8c93-2376-28ec2ff293d8@gmail.com>

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



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