feat: Add Amazon Linux 2023 support#322
Conversation
|
Some of the CI runs are failing, but AFAICT these are pre-existing issues (e.g. broken bats install on macOS, fedora-41 aarch64) unrelated to this PR. |
|
Rebased from main and the CI is (mostly) green. @gaborcsardi am I correct that the six |
| }, | ||
| { | ||
| "name": "P3M", | ||
| "url": "https://packagemanager.posit.co/cran/__linux__/manylinux_2_28/latest", |
There was a problem hiding this comment.
Why manylinux, if there is a native rhel 9 repo?
Also, is this even needed if detect_platform() returns linux-rhel-9 for Amazon Linux 2023?
There was a problem hiding this comment.
Because the P3M linux-rhel-9 target doesn't support (consistent) system binaries reconciliation for AL2023. At least, that's my understanding based on the manylinux announcement post.
Broad Linux support: Portable binary packages should be compatible with more Linux distributions than we currently support, such as Amazon Linux 2023.
Happy to revert if you think I'm confusing separate issues.
Closes #311
Adds AL2023 as a supported distro. The RHEL 9 R builds from Posit are binary-compatible with AL2023, so this maps the platform for version resolution while keeping AL2023 as its own distro for install tooling and repo setup. As discussed in #311 (comment), this uses the P3M "manylinux" binary repo, rather than distro-specific RHEL 9 PPM binaries, to avoid the EPEL dependency problem.
Changes
src/common.rs: Maplinux-amzn-2023tolinux-rhel-9for the r-hub API version resolutionsrc/linux.rs: Add"amzn"branch inselect_linux_tools()with simplednf install, no EPELsrc/data/repos.json: EnableP3M-manylinux(manylinux_2_28) binaries for"amzn"on both x86_64 and aarch64Testing
Tested on amazonlinux:2023 (aarch64) in Docker:
After setup:
Start R
P3M manylinux repo is configured automatically, and installing R packages correctly pulls in binaries, e.g.:
P.S. Some R packages with heavy system library dependencies (e.g.
sf) don't havemanylinuxbinaries (only on aarch64?) yet and will fall back to source compilation. But this is a PPM coverage gap, not a rig issue. (E.g., See amazonlinux/amazon-linux-2023#129 (comment))