[R] install.packages and package dependencies

Roger Bivand Roger@B|v@nd @end|ng |rom nhh@no
Thu Feb 13 20:56:29 CET 2025


Ari,

There were multiple errors in the acs package. If CRAN states that the maintainer abandoned it, that is what happened. Had you reached out to Ezra Glenn (cc-ed here) and offered to help keep the package maintained, this hiccup need not have happened. 

The three problems were:

1) stale URLs using http: not https:, of which some are dead (locally changed to https:, so reported as such):

Found the following (possibly) invalid URLs:
  URL: https://dusp.mit.edu/faculty/ezra-glenn
    From: DESCRIPTION
    Status: 404
    Message: Not Found
  URL: https://eglenn.scripts.mit.edu/citystate/
    From: DESCRIPTION
          man/acs-package.Rd
    Status: 403
    Message: Forbidden
  URL: https://factfinder2.census.gov
    From: man/read.acs.Rd
    Status: Error
    Message: libcurl error code 28:
      	Connection timed out after 60000 milliseconds
  URL: https://www.bls.gov/cpi/
    From: man/cpi.Rd
    Status: 403
    Message: Forbidden

2) multiple uses of class() == "string" - class() may return a vector of length > 1, so for some years it has been required that inherits() be used, to permit the test to succeed even when the required class is not first. This was discussed in 2019 in https://blog.r-project.org/2019/11/09/when-you-think-class.-think-again/index.html

3) The first lines of configure and cleanup were #! /bin/bash - see https://cran.r-project.org/doc/manuals/r-devel/R-ints.html#index-_005fR_005fCHECK_005fBASHISMS_005f for why this isn't robust (for example macOS doesn't use bash as its default shell, and maybe might not work correctly.

I would think that CRAN approached the maintainer multiple times over a period of many months to clear these inconsistencies. You assert elsewhere that if it worked before, you might expect it to continue to work. However, things like failing a class test because some upstream package has re-ordered the class vector have become more of a problem as the CRAN package count has grown, not necessarily for this package but in general, so that rules are tightened in the light of experience. 

I attach separately for the direct addressees a corrected version of the package as far as I can go, since for the failing URLs, it isn't very clear what to do.

I would suggest that you, Ari, are best placed to offer to take over the package, meaning that as soon as you get a fixed version of acs to CRAN, you can re-submit your valued choroplethr to CRAN and be a bit better future-proofed. Since you do use github, I'd suggest using an acs repo there and running CI both for acs and for choroplethr using the acs on github. That would give you advance notice of possible rule tightening in R-devel.

Hope this helps,

Roger

--
Roger Bivand
Emeritus Professor
Norwegian School of Economics
Postboks 3490 Ytre Sandviken, 5045 Bergen, Norway
Roger.Bivand using nhh.no


More information about the R-help mailing list