Skip to content
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

Store Linux binaries in package server #7

Closed
jeroen opened this issue Dec 1, 2020 · 9 comments
Closed

Store Linux binaries in package server #7

jeroen opened this issue Dec 1, 2020 · 9 comments

Comments

@jeroen
Copy link
Member

jeroen commented Dec 1, 2020

Just like rspm, but only for ubuntu 20.04.

@gorkang
Copy link

gorkang commented Dec 8, 2022

Having binaries for a few of the most used Linux distros (Ubuntu LTS, etc) would be wonderful.

Posit Public Package Manager does this, and it is very convenient.

@jeroen
Copy link
Member Author

jeroen commented Dec 8, 2022

We support linux binaries, but currently we only build for r:release under ubuntu:latest (which is jammy as of time writing), because building and storing for many distro's and r versions would be too expensive right now.

We mostly do this for ourselves, such that we get quick installations of dependencies on our own build environment, but you can use the binaries as well. It works slightly different then rsudio's thing: you need to add the repo with binaries to your repos https://{{universe}}/bin/linux/{{distro}}/{{r-version}}/, for example:

https://ropensci.r-universe.dev/bin/linux/jammy/4.2

You can test what is in there:

available.packages(repos='https://ropensci.r-universe.dev/bin/linux/jammy/4.2')

Here is how we enable it in CI where MY_UNIVERSE is set to the universe URL, e.g. https://r-lib.r-universe.dev: https://github.com/r-universe-org/base-image/blob/f20ec9fc6f51ef8a89aad489206a43790bd9bf77/Rprofile#L11-L16

If you inspect the build logs under linux (under "build source package") you should be able to see that binaries are pulled from this repo. e.g https://github.com/r-universe/r-lib/actions/runs/3635229515/jobs/6134134741

@gorkang
Copy link

gorkang commented Dec 8, 2022

This is fantastic. Thanks a lot @jeroen !

@jeroen
Copy link
Member Author

jeroen commented Dec 8, 2022

Updated the answer a bit, thanks for reviving this issue :)

@jeroen jeroen closed this as completed Dec 8, 2022
@eitsupi
Copy link

eitsupi commented Dec 8, 2022

We mostly do this for ourselves, such that we get quick installations of dependencies on our own build environment, but you can use the binaries as well. It works slightly different then rsudio's thing: you need to add the repo with binaries to your repos https://{{universe}}/bin/linux/{{distro}}/{{r-version}}/, for example:

Do you plan to display this in the UI or somewhere?
I use this personally (PRQL/prqlc-r#7), but I don't think many users realize it.

@jeroen
Copy link
Member Author

jeroen commented Dec 8, 2022

I wasn't sure people would care about it much, because it is currently limited to ubuntu:latest and r:release. But we could display it somewhere...

@gorkang
Copy link

gorkang commented Dec 8, 2022

I wasn't sure people would care about it much, because it is currently limited to ubuntu:latest and r:release. But we could display it somewhere...

Not sure how many "of us" there are, but we do care about this :)

It would be great if this was well documented. After using the Rstudio Package Manager, it is kind of hard moving away from binaries.

@jeroen
Copy link
Member Author

jeroen commented Dec 9, 2022

OK I have added a link to the linux binary on the package homepage, and also a link with few words of caution to the faq:

Screen Shot 2022-12-09 at 3 31 58 PM

@eitsupi
Copy link

eitsupi commented Dec 9, 2022

That looks wonderful!
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants