itsleeds / pct

Get and reproduce data from the Propensity to Cycle Tool (PCT)
https://itsleeds.github.io/pct/
19 stars 10 forks source link

Package was removed from the CRAN repository? #120

Closed Whissi closed 1 year ago

Whissi commented 1 year ago

Today we tried to rebuild our docker container which is using pct package. It failed with

Error: dependency ‘pct’ is not available

While checking logs I run into https://cran.r-project.org/web/packages/pct/index.html which says

image

Are you aware of this and maybe already working on getting the package back into repository or do I have to manually add it to our container?

Robinlovelace commented 1 year ago

Thanks for raising this, I hadn't noticed. Will try to get it back online within the next week or so.

Robinlovelace commented 1 year ago

The issue is this:

'Packages which use Internet resources should fail gracefully with an informative message if the resource is not available or has changed (and not give a check warning nor error).'

Info on how to fail gracefully: https://books.ropensci.org/http-testing/graceful.html

Example implementation: https://github.com/ropensci/fingertipsR/commit/af634d4c06dccc1b53e5ad10a7714467a3f8dac5#

Robinlovelace commented 1 year ago

Heads-up @Whissi this is now back on CRAN. Please take a look and confirm it works for you. Also, any other issues you find with the package please do let us know here. Thanks!

Whissi commented 1 year ago

Still not working yet.

If I am not mistaken, error turned into a warning:

Warning: dependency ‘pct’ is not available

I changed Dockerfile a bit to try for pct at the beginning and error is

STEP 3: RUN install2.r --error  --deps TRUE     pct
Error: package ‘pct’ is not available for this version of R
Robinlovelace commented 1 year ago

What system are you on?

Robinlovelace commented 1 year ago

Thought: you're using an old version of the cran archive.

Whissi commented 1 year ago

My reduced Dockerfile looks like

FROM rocker/tidyverse:latest

RUN apt-get update \
        && apt-get install -y --no-install-recommends \
        libodbc1 \
        odbc-postgresql \
        libxml2 \
        libudunits2-dev \
        libgdal-dev \
        libgeos-dev \
        libproj-dev \
        libxt-dev \
        libglpk-dev \
        libsecret-1-dev \
        libsodium-dev \
        git \
        patch \
        && apt-get clean \
        && apt-get purge \
        && rm -rf /var/lib/apt/lists/*

RUN install2.r --error \
        --deps TRUE \
        pct
Robinlovelace commented 1 year ago

You need to run docker pull to get an image with the latest package version I think: https://github.com/rocker-org/rocker-versioned2/wiki/Versions

Whissi commented 1 year ago

I did that:

$ podman image ls | grep tidy
docker.io/rocker/tidyverse  latest  a838ee142831  4 weeks ago     2.18 GB
$ podman image inspect a838ee142831 | head -n 10
[
    {
        "Id": "a838ee1428319cb1a3cb6fe9267042ce1e0ca62e199cbb1c6709e28c94ba89d1",
        "Digest": "sha256:c37471e216914a7e7ff7ac040f0b993b6e2fc62cae8cea1fae25acdf45f30ec4",
        "RepoTags": [
            "docker.io/rocker/tidyverse:latest"
        ],
        "RepoDigests": [
            "docker.io/rocker/tidyverse@sha256:c37471e216914a7e7ff7ac040f0b993b6e2fc62cae8cea1fae25acdf45f30ec4"
        ],

Digest matches latest tag shown at https://hub.docker.com/r/rocker/tidyverse/tags.

It probably just takes a little bit more time, i.e. it's not yet listed in today's snapshot at https://cran.microsoft.com/snapshot/2022-12-06/ for example but was listed one month ago https://cran.microsoft.com/snapshot/2022-11-06/ (NOTE: I don't use Microsoft's mirror but it's the only one I found providing snapshots to proof my point).

Robinlovelace commented 1 year ago

Heads-up @Whissi I think I've found the solution. Run the following:

options(repos = c(CRAN='https://mran.microsoft.com/snapshot/2022-12-05'), download.file.method = 'libcurl')
# then
install.packages("pct")

You could also pass something else to CRAN=.

Source: https://github.com/rocker-org/rocker-versioned/issues/137

Whissi commented 1 year ago

Thank you for your help. Package is now also available via normal repos.