Skip to content

feat: install R via manylinux_2_34 tarball on RHEL 10 - #104

Closed
bschwedler wants to merge 9 commits into
enterprise-linux-ubi10from
enterprise-linux-ubi10-manylinux-r
Closed

feat: install R via manylinux_2_34 tarball on RHEL 10#104
bschwedler wants to merge 9 commits into
enterprise-linux-ubi10from
enterprise-linux-ubi10-manylinux-r

Conversation

@bschwedler

Copy link
Copy Markdown
Contributor

Switches the RHEL 10 Containerfile from r.run_install() to r.run_install_manylinux(). Standard dgoss now passes 30/30 with R 4.6.0 installed from the manylinux tarball. Depends on the images-shared macro PR.

Adds RHEL 10 (amd64 + arm64) to the latest release version (2026.05.0)
and both dev streams (preview, daily). Templates and rendered files
follow in subsequent commits.
dnf-based equivalent of the Ubuntu install script. Installs the
rstudio-pm RPM package from the Posit Pro Cloudsmith repo (already
configured by dnf.run_setup() in the Containerfile) and writes the
same R/Python config to rstudio-pm.gcfg as the Ubuntu variant.
Mirrors the ubuntu-24.04 structure: python builder stage, dnf setup,
package install, Python + R (Standard only), PPM install script,
startup.sh. Uses registry.access.redhat.com/ubi10/ubi as base.
The RHEL 10 RPM assigns uid=998/gid=997 to the rstudio-pm user,
while the Ubuntu .deb uses uid=999/gid=999. Hard-coding 999 caused
three failures in the RHEL 10 Minimal dgoss run.

Use goss Go template conditionals on IMAGE_OS_FAMILY at test runtime
to select the correct expected values per OS family.
Avoid floating latest tag; 10.2 is the current RHEL 10 minor release,
equivalent to the ubuntu:24.04 pin used on Ubuntu Containerfiles.
Equivalent to ubuntu:24.04 floating within the LTS release stream.
Add a comment explaining the intent to prevent future "fixing" to a
pinned minor version.

Reverts 8ba4cab.
Switches from r.run_install() (RPM path) to r.run_install_manylinux()
for RHEL 10 Standard builds. The RPM at cdn.posit.co/r/rhel-10/pkgs/
carries Requires: flexiblas-devel, which is not in the UBI-redistributable
CRB subset and blocks installation on ubi10/ubi.

The manylinux_2_34 tarballs at cdn.posit.co/r/manylinux_2_34/ are
self-contained, require glibc >= 2.34 (satisfied by RHEL 10), and
extract directly to /opt/R/{version}/ without touching the package
manager. dgoss passes 30/30 on Standard and 19/19 on Minimal.
@bschwedler
bschwedler force-pushed the enterprise-linux-ubi10 branch from e5ecb97 to 4e2ac4e Compare July 16, 2026 20:59
@bschwedler

Copy link
Copy Markdown
Contributor Author

Superseded — the underlying blocker (flexiblas-devel hard dependency on R < 4.6.1) is already fixed upstream in rstudio/r-builds#329 (merged). #130's tracked approach retargets to package-manager 2026.06.0, which already pins R >= 4.6.1, resolving this via the normal RPM path with no manylinux workaround needed.

Closing in favor of #130's approach. The manylinux macros themselves (posit-dev/images-shared#577) remain useful for a different, unrelated problem (self-contained installs for posit-dev/images-volumes) and are being tracked under their own epic instead.

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

Successfully merging this pull request may close these issues.

1 participant