-
Notifications
You must be signed in to change notification settings - Fork 155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pass P3M repos to pak, if they should be used #1678
Comments
That transformation should be happening here: Lines 67 to 71 in c60722d
Can you share any more details / a reproducible example? |
Well, I can't share a fully reproducible example (i.e. But here is one with an already existing project: FROM rocker/r-ver:4.3.1
WORKDIR /root
RUN apt-get update && apt-get install -y git
RUN git clone -b renv2 https://github.com/r-lib/sessioninfo
WORKDIR /root/sessioninfo
RUN echo 'RENV_CONFIG_PAK_ENABLED=true' > .Renviron
RUN R -q -e 'renv:::renv_pak_init(stream = "devel", force = TRUE)'
RUN R -q -e 'print(getOption("repos")); trace(pak:::remote, quote(print(getOption("repos")))); renv::restore()'
But then when pak calls the subprocess,
And you can also see that cli is installed from source:
Maybe because that's also the URL in the But I am fairly sure that when the lock file was created |
Is this on x86_64 or aarch64? |
x86_64. If I add
at the end, it installs the binary:
|
Thanks! I think I understand what's going on now. I'll take a look. |
Should be fixed via b5162ca. |
FROM rocker/r-ver:4.3.1
WORKDIR /root
RUN apt-get update && apt-get install -y git
RUN git clone -b renv3 https://github.com/r-lib/sessioninfo
WORKDIR /root/sessioninfo
RUN echo 'RENV_CONFIG_PAK_ENABLED=true' > .Renviron
RUN R -q -e 'renv:::renv_pak_init(stream = "devel", force = TRUE)'
RUN R -q -e 'print(getOption("repos")); trace(pak:::remote, quote(print(getOption("repos")))); renv::restore()'
RUN R -q -e 'pak::pkg_install("cli?reinstall")'
I am not sure why pak thinks that it would download a source package, that is not ideal, but at least it does download a binary one, so this is a big improvement. |
My guess is that this is because PPM basically works by disguising binary packages as source packages on Linux, so everything in R "thinks" it's a source package, but |
Sure, but pak detects P3M from the repo's headers and then downloads the metadata for the binary packages. E.g. if I call it directly, then it knows that it is installing a binary package for Ubuntu 22.04, as in the last step of the
|
Oh, interesting! I do not know the answer to that then :-/ |
Right now, even if I have
renv passed this to pak:
so pak will compile packages from source, instead of installing the binaries.
The text was updated successfully, but these errors were encountered: