[Rd] Suggestion: Make CRAN source URLs immutable

Kurt Wheeler kurt@wheeler91 @ending from gm@il@com
Tue Oct 23 21:20:12 CEST 2018

Hello, I hope the is the right list to send this suggestion to.

I was wondering if it might be possible to have CRAN store the most current
version of a package's source tarball at a location that does not change.
As an example, the source tarball for `httr` is stored at
https://cran.r-project.org/src/contrib/httr_1.3.1.tar.gz. However, once the
next version of `httr` is released, the URL for version 1.3.1 of `httr`
will change to

The implications of this are that if I want to write a script which
installs version 1.3.1 of `httr`, I need to do so like this:

httr_url <- "https://cran.r-project.org/src/contrib/httr_1.3.1.tar.gz"

curl_result <- system(paste0("curl --head ", httr_url), intern=TRUE)
if (grepl("404", curl_result[1])) {
  httr_url <- "


I think there are two obvious ways of remedying this issue. The first would
be to simply archive the most recent version along with all the old
versions. Then to install a specific version of a package, it would just be:


even if 1.3.1 is the most recent version of `httr`.

The other way to remedy this issue would be to simply not use the
`/Archive/` sub-directory. So if I wanted to install an old version of
`httr` it would be:


despite the fact that version 1.3.0 is not the most recent version.

I believe the first way would be a better choice because then any existing
scripts which reference URLs which include `/Archive/` would still work.
However I do not have strong opinions on how this should be implemented, I
would just like a URL which points to a certain version of a package that
will never change.

Thank you,

- Kurt

	[[alternative HTML version deleted]]

More information about the R-devel mailing list