Skip to content

Commit

Permalink
Add libzstd package dependency for R-devel; README updates (#244)
Browse files Browse the repository at this point in the history
* Update README for SLES 15 SP6, CVE patches, apt install change

* Add libzstd package dependency for R-devel on distros that build against it

* Update builder/package.fedora-41

Co-authored-by: Gábor Csárdi <[email protected]>

* Update builder/package.opensuse-156

Co-authored-by: Gábor Csárdi <[email protected]>

* Update builder/package.fedora-40

Co-authored-by: Gábor Csárdi <[email protected]>

---------

Co-authored-by: Gábor Csárdi <[email protected]>
  • Loading branch information
glin and gaborcsardi authored Feb 20, 2025
1 parent 45b0805 commit 6043d07
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 3 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ R binaries are built for the following Linux operating systems:
- Red Hat Enterprise Linux 7, 8, 9
- openSUSE 15.5
- openSUSE 15.6
- SUSE Linux Enterprise 15 SP5
- SUSE Linux Enterprise 15 SP5, 15 SP6
- Fedora 39, 40, 41

Operating systems are supported until their vendor end-of-support dates, which
Expand All @@ -38,6 +38,8 @@ will be discontinued, but existing binaries will continue to be available.
R binaries are primarily supported for the current R version and previous four minor versions of R.
Older R versions down to R 3.0.0 are also built when possible, but support for older R versions is best effort and not guaranteed.

R versions 4.0.0 through 4.3.3 have been patched for [CVE-2024-27322](https://nvd.nist.gov/vuln/detail/cve-2024-27322). See [#218](https://github.com/rstudio/r-builds/issues/218) for more details.

## Quick Installation

To use our quick install script to install R, simply run the following
Expand Down Expand Up @@ -84,8 +86,7 @@ curl -O https://cdn.posit.co/r/debian-12/pkgs/r-${R_VERSION}_1_amd64.deb

Then install the package:
```bash
sudo apt-get install gdebi-core
sudo gdebi r-${R_VERSION}_1_amd64.deb
sudo apt-get install ./r-${R_VERSION}_1_amd64.deb
```

#### RHEL/CentOS Linux
Expand Down
7 changes: 7 additions & 0 deletions builder/package.debian-12
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ if grep -q '^LIBS *=.*[-]ldeflate' ${R_INSTALL_PATH}/lib/R/etc/Makeconf; then
deflate_libs='- libdeflate-dev'
fi

# R 4.5.0 and later require libzstd (with headers to link against libR)
zstd_libs='# - libzstd-dev'
if grep -q '^LIBS *=.*[-]lzstd' ${R_INSTALL_PATH}/lib/R/etc/Makeconf; then
zstd_libs='- libzstd-dev'
fi

cat <<EOF > /tmp/nfpm.yml
name: r-${R_VERSION}
version: 1
Expand Down Expand Up @@ -58,6 +64,7 @@ ${pcre_libs}
- libtk8.6
- libx11-6
- libxt6
${zstd_libs}
- make
- ucf
- unzip
Expand Down
7 changes: 7 additions & 0 deletions builder/package.fedora-40
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ if [[ "${R_VERSION}" =~ ^3 ]]; then
- pcre-devel'
fi

# R 4.5.0 and later require libzstd (with headers to link against libR)
zstd_libs='# - libzstd-devel'
if grep -q '^LIBS *=.*[-]lzstd' ${R_INSTALL_PATH}/lib/R/etc/Makeconf; then
zstd_libs='- libzstd-devel'
fi

blas_lib='flexiblas-devel'

# Create postremove script to remove empty directories, as nFPM doesn't include them in the RPM files.
Expand Down Expand Up @@ -49,6 +55,7 @@ depends:
- libtiff
- libXmu
- libXt
${zstd_libs}
- make
- ${blas_lib}
- pango
Expand Down
7 changes: 7 additions & 0 deletions builder/package.fedora-41
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ if [[ "${R_VERSION}" =~ ^3 ]]; then
- pcre-devel'
fi

# R 4.5.0 and later require libzstd (with headers to link against libR)
zstd_libs='# - libzstd-devel'
if grep -q '^LIBS *=.*[-]lzstd' ${R_INSTALL_PATH}/lib/R/etc/Makeconf; then
zstd_libs='- libzstd-devel'
fi

blas_lib='flexiblas-devel'

# Create postremove script to remove empty directories, as nFPM doesn't include them in the RPM files.
Expand Down Expand Up @@ -49,6 +55,7 @@ depends:
- libtiff
- libXmu
- libXt
${zstd_libs}
- make
- ${blas_lib}
- pango
Expand Down
7 changes: 7 additions & 0 deletions builder/package.opensuse-156
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ if [[ "${R_VERSION}" =~ ^3 ]]; then
- pcre-devel'
fi

# R 4.5.0 and later require libzstd (with headers to link against libR)
zstd_libs='# - libzstd-devel'
if grep -q '^LIBS *=.*[-]lzstd' ${R_INSTALL_PATH}/lib/R/etc/Makeconf; then
zstd_libs='- libzstd-devel'
fi

# Create post-install script required for OpenBLAS.
#
# On RHEL and SUSE, we link R against the internal shared BLAS to make the
Expand Down Expand Up @@ -72,6 +78,7 @@ depends:
- libpango-1_0-0
- libreadline7
- libtiff6
${zstd_libs}
- make
${pcre_libs}
- tar
Expand Down
7 changes: 7 additions & 0 deletions builder/package.ubuntu-2404
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ if grep -q '^LIBS *=.*[-]ldeflate' ${R_INSTALL_PATH}/lib/R/etc/Makeconf; then
deflate_libs='- libdeflate-dev'
fi

# R 4.5.0 and later require libzstd (with headers to link against libR)
zstd_libs='# - libzstd-dev'
if grep -q '^LIBS *=.*[-]lzstd' ${R_INSTALL_PATH}/lib/R/etc/Makeconf; then
zstd_libs='- libzstd-dev'
fi

cat <<EOF > /tmp/nfpm.yml
name: r-${R_VERSION}
version: 1
Expand Down Expand Up @@ -59,6 +65,7 @@ ${pcre_libs}
- libtk8.6
- libx11-6
- libxt6t64
${zstd_libs}
- make
- ucf
- unzip
Expand Down

0 comments on commit 6043d07

Please sign in to comment.