Skip to content

IDEA: BiocManager::install() to fall back to CRANhaven for recently archived CRAN packages #190

@HenrikBengtsson

Description

@HenrikBengtsson

I'm creating this issue to have a place to discuss CRANhaven that I presented to the Bioconductor Technical Advisor Board (TAB) on 2024-03-07.

Background

The gist is that CRANhaven is a package repository (served via R-universe) that hosts recently archived CRAN packages. Our analyses show that 36% of all archived packages return to CRAN at some point. The median return time is ~30 days.

When a package is archived on CRAN, there is no prior notice to the community. This is disruptive and confusing to end users, including those using Bioconductor. The basically get an installation error saying that one or more packages are not available. For someone who doesn't understand how CRAN works, this may result in unnecessary troubleshooting and request for support. The CRANhaven package repository is designed to mitigate these problems, but allow the user to fall back to install also recently archive CRAN packages by using:

options(repos = c(getOption("repos"), "https://cranhaven.r-universe.dev"))
install.packages("somepkg")

Proposal

Have BiocManager::install() append CRANhaven as a fallback repository to install from.

On the Bioc Slack, and during the TAB meeting, one suggestion was to not do this for the Bioc devel version. One argument was that it is important that the problem of archived CRAN packages is noticed immediately, so that Bioconductor package maintainers can take immediate action if needed.

I've created PR #189 to illustrate what it takes to implement this - spoiler: it's a single if-statement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions