[Rpm-maint] allow to remove Requires(pre) or not?

Pixel pixel at mandriva.com
Sat Feb 23 22:01:31 UTC 2008


this must have been reported already:

# rpm -qR b
a
# rpm -q --whatrequires a
no package requires a
# rpm -e a
# rpm -V b
Unsatisfied dependencies for b-1-1.noarch:
        Requires: a

rpm is not consistent: "rpm -V" should not say there is an unsatisfied
dependency for a require(pre) if "rpm -e" allows to remove the
require(pre)

as for me i'm not convinced that "Requires(pre) not implying Requires"
is a feature. I would be in favor of "Requires(xxx) implies Requires".


But if we want to keep current behaviour, we also need a way to query
wether a require is pre/post or not:

% rpm -q --qf '[%{REQUIRENAME} %{REQUIREFLAGS} %{REQUIREVERSION}\n]' d
c 512

worse, for a "Requires(pre): foo = 1", one gets 520 (ie
SENSE_SCRIPT_PRE & RPMSENSE_EQUAL) which is not readable at all.

rpm5 has some code ifdef'ed with NOTYET in depflagsFormat so that
--requires would show "(pre)", but it's not activated for backward
compatibility.



More information about the Rpm-maint mailing list