Hi R-interested packagers and others,
Recently, I've been looking at how RPM can automatically determine Provides and Requires [1]. I have since implemented this for R using an R script [2] and some file attributes [3]. Following other languages' Provides, I have namespaced them as R(packageName). It then adds corresponding Requires, Suggests, and Enhances.
Additionally, R package versions commonly contain dashes. In order to work in RPM, these are replaced with dots. For the automated Provides/Requires, I have used the *real* versions instead.
So now the question is how to apply this. I expect there are social concerns, i.e., discussing with the R maintainer, making a Self-contained Change, etc. But for this email, I am mostly concerned with the technical aspects:
1. Is R-devel the right place to put the script and RPM attribute file (all R packages would normally depend on this)? 2. Does this namespacing make sense? 3. Are dashes in *namespaced* versions going to be a problem? 4. Python had a flag to enable the automatic generator; do we need this for R, and how was it implemented? 5. I expect this would need a rebuild of all packages to get the dependencies right (because the regular rebuild is unordered); would this need a side tag? Or would leaving it for the normal mass rebuild just be fine? 6. R only has two levels of dependencies (hard-require or suggested, but not installed by default). Thus both build- and runtime-optional packages are in Suggests; do we care about the extra Suggests?
[1] https://rpm.org/user_doc/dependency_generators.html [2] https://src.fedoraproject.org/fork/qulogic/rpms/R/blob/autodeps/f/R-deps.R [3] https://src.fedoraproject.org/fork/qulogic/rpms/R/blob/autodeps/f/R.attr
-- Elliott