On Sun, 16 Jun 2019 at 05:07, Elliott Sales de Andrade
<quantum.analyst(a)gmail.com> wrote:
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)?
I believe R-SIG-Fedora is the right place.
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?
Sometimes these extra Suggests are not satisfiable, but they can be
removed after disabling vignette rebuilding. In other cases,
Recommends are more appropriate for suggested packages.
Iñaki
> [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