Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
gaborcsardi committed May 22, 2024
2 parents 77c876e + 3a955f8 commit dbb8039
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 29 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
IMAGE ?= rstudio/r-system-requirements
VARIANTS ?= focal jammy noble buster bullseye bookworm sid centos7 centos8 rockylinux9 opensuse155 fedora36 fedora37 fedora38 fedora39 alpine-3.16 alpine-3.17 alpine-3.18 alpine-3.19 alpine-edge
VARIANTS ?= focal jammy noble buster bullseye bookworm sid centos7 centos8 rockylinux9 opensuse155 fedora38 fedora39 fedora40 alpine-3.16 alpine-3.17 alpine-3.18 alpine-3.19 alpine-edge

RULES ?= rules/*.json

Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ R packages can depend on one another, but they can also depend on software
external to the R ecosystem. On Ubuntu 18.04, for example, in order to install
the `curl` R package, you must have previously run `apt-get install libcurl`. R
packages often note these dependencies inside their DESCRIPTION files, but this
information is free-form text that varies by package.
information is free-form text that varies by package.

This repository contains a catalog of "rules" that can be used to systematically
identify these dependencies and generate commands to install them.

You may be expecting to see a list like:

| Package | SystemRequirements Field | Dependency |
| ------ | ----------- | ----- |
| ------ | ----------- | ----- |
| rgdal | "for building from source: GDAL >= ..." | libgdal-dev |


Expand All @@ -27,15 +27,15 @@ Instead, this repository contains a set of rules that map a
`SystemRequirements` field, e.g. `rgdal`'s "for building from source: GDAL >=
1.11.4 and <= 2.5.0, library from ..." to a platform specific install command:
`apt-get install libgdal-dev gdal-bin libproj-dev`.


## Usage

## Usage

The primary purpose of this catalog is to support [RStudio Package
Manager](https://rstudio.com/products/package-manager) which knows how to
translate these rules into install steps for specific packages or
repositiories. However, the community is free to use and contribute to these
rules subject to the MIT license.
rules subject to the MIT license.

RStudio Package Manager is professionally supported, but RStudio does not offer
support for these rules. Please file questions in [RStudio
Expand Down Expand Up @@ -63,10 +63,10 @@ The results are summarized below:

*Percentage of CRAN Packages that Install Successfully*

| | Ubuntu 16 | Ubuntu 18 | CentOS 7 | CentOS 8 | openSUSE 42.3 | openSUSE 15.0 |
| | Ubuntu 16 | Ubuntu 18 | CentOS 7 | CentOS 8 | openSUSE 42.3 | openSUSE 15.0 |
| --- | --- | -------- | --------- | -------- | -------------- | -------------- |
| No Rules| 78% | 78.1% | 77.8% | | 77.7% | 78.2% |
| With Rules | 93.5% | 95.8% | 93.7% | | 88.5% | 89.7% |
| With Rules | 93.5% | 95.8% | 93.7% | | 88.5% | 89.7% |


*Percentage Weighted by Downloads*
Expand All @@ -76,10 +76,10 @@ download. This metric indicates how good the rules are for the majority of
packages R users are likely to install, discounting the long tail of packages
that have system requirements but are not frequently used.

| | Ubuntu 16 | Ubuntu 18 | CentOS 7 | CentOS 8 | openSUSE 42.3 | openSUSE 15.0 |
| | Ubuntu 16 | Ubuntu 18 | CentOS 7 | CentOS 8 | openSUSE 42.3 | openSUSE 15.0 |
| --- | --- | -------- | -------- | -------- | -------------- | -------------- |
| No Rules| 90.1% | 90.1% | 90.1% | | 90% | 90.2% |
| With Rules | 98.5% | 99.2% | 98.6% | | 96.1% | 96.3% |
| No Rules| 90.1% | 90.1% | 90.1% | | 90% | 90.2% |
| With Rules | 98.5% | 99.2% | 98.6% | | 96.1% | 96.3% |

Both tests run with R 3.5.3 for all CRAN packages as of April 4, 2019.

Expand All @@ -94,7 +94,7 @@ The rules in this catalog support the following operating systems:
- openSUSE 15.5
- SUSE Linux Enterprise 15 SP5
- Debian 10, 11, 12, unstable
- Fedora 36, 37, 38, 39
- Fedora 38, 39, 40
- Windows (for R 4.0+ only)

\* Rocky Linux 8 is specified as `centos8` for backward compatibility.
Expand Down Expand Up @@ -329,5 +329,5 @@ modify this file directly, since it is automatically generated. Instead, modify
`schema.template.json` and then run `npm run generate-schema`. The
`generate-schema` target is automatically run when running `npm test`.

If you need to modify the distros and/or versions supported in the schema definitions,
If you need to modify the distros and/or versions supported in the schema definitions,
modify [`systems.json`](systems.json).
8 changes: 0 additions & 8 deletions docker/fedora37/Dockerfile

This file was deleted.

2 changes: 1 addition & 1 deletion docker/fedora36/Dockerfile → docker/fedora40/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM fedora:36
FROM fedora:40

RUN dnf upgrade -y -q && \
dnf install -y glibc-langpack-en
Expand Down
2 changes: 1 addition & 1 deletion rules/protobuf-compiler.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"patterns": ["\\bprotobuf-compiler\\b"],
"dependencies": [
{
"packages": ["protobuf-compiler"],
"packages": ["protobuf-compiler", "libprotoc-dev"],
"constraints": [
{
"os": "linux",
Expand Down
3 changes: 2 additions & 1 deletion schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,8 @@
"36",
"37",
"38",
"39"
"39",
"40"
]
},
"alpine": {
Expand Down
2 changes: 1 addition & 1 deletion systems.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
{
"os": "linux",
"distribution": "fedora",
"versions": [ "36", "37", "38", "39" ]
"versions": [ "36", "37", "38", "39", "40" ]
},
{
"os": "linux",
Expand Down
6 changes: 2 additions & 4 deletions test/test-packages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,9 @@ declare -A os_identifiers=(
[rhel9]='redhat'
[opensuse155]='opensuse'
[sle155]='sle'
[fedora36]='fedora'
[fedora37]='fedora'
[fedora38]='fedora'
[fedora39]='fedora'
[fedora40]='fedora'
[alpine-3.16]='alpine'
[alpine-3.17]='alpine'
[alpine-3.18]='alpine'
Expand All @@ -47,10 +46,9 @@ declare -A versions=(
[rhel9]='9'
[opensuse155]='15.5'
[sle155]='15.5'
[fedora36]='36'
[fedora37]='37'
[fedora38]='38'
[fedora39]='39'
[fedora40]='40'
[alpine-3.16]='3.16'
[alpine-3.17]='3.17'
[alpine-3.18]='3.18'
Expand Down

0 comments on commit dbb8039

Please sign in to comment.