Red Hat Bugzilla – Bug 126878
RPM needs the ability to filter dependencies from the specfile
Last modified: 2007-11-30 17:10:45 EST
Frequent need for dependency filtering has shown there is a legitimate need to filter
dependencies in specfiles. In particular, so long as RPM autogenerates dependencies,
there needs to be a way to filter them, such as:
Other files that have autogenerated dependencies may benefit from this as well, as would
pieces of software with optional components that do not inhibit main functionality but
would require a hard dependency otherwise.
Adding features to grammar-less spec files causes major
disruptions for all, not just Red Hat, rpm users. In addition,
new, and incompatible, syntax creates an instant need for
a version of rpm that understands that syntax.
While it is quite possible to introduce an incompatible feature
in a new version of rpm, at the moment there is no release
framework in place for rpm at all, nor are there any plans
for a new version of rpm.
Next the real need is to analyze (and fix) the automagic
perl dependency extraction tools which are creating the
(false imho) need for filtering in the first place. That
effort must be approached for all perl modules, not
by adding another band-aid to conceal the real problem.
Finally, it plain and simply is not that hard to write
a couple of line script to filter dependencies, that
mechanism has been working adequately since RHL 7.2, and
is known good.
WONTFIX if you ask me. Shop your answer elsewhere, please, if you
want, either internal to Red Hat, or on <email@example.com>,
perhaps you can convince someone other than me of your need.
> Finally, it plain and simply is not that hard to write
> a couple of line script to filter dependencies,
It is very hard with recent rpm versions. Using things like
| %global _use_internal_dependency_generator 0
and corresponding %__find_requires/%__find_provides (which would be needed for
dep-filters) is heavily discouraged by you (jbj) because the internal
dep-generator is more powerful and generates e.g. per-file dependencies.