R

Automatic R runtime dependencies

R libraries currently provide metadata indicating runtime requirements on other libraries in a DESCRIPTION file. Using RPM’s file attributes and dependency generator support, these requirements can be added to packages automatically. These will use namespaced Provides of R(packageName) = packageVersion, where packageName is the importable name of the package, and packageVersion is the upstream version (note: upstream versions are often sanitized for Fedora since RPM cannot use dashes in versions.)

R library metadata includes Depends and Imports which will be mapped to Requires. Metadata that specifies Enhances will be mapped directly to Enhances.

Metadata that specifies Suggests will not be mapped to anything by default. Oftentimes, suggested libraries are used to indicate dependencies that are needed at build time only. Packagers who wish to include any actual runtime Suggests may opt in to adding them using a (TBD) flag or just continue to add Suggests manually.

This change provides a standard Provided name for R packages. This change helps users of R packages by providing the original version value (as opposed to the sanitized one for RPM.) This change reduces the amount of work packagers need to do keeping (R package) dependencies correct.