[Rpm-metadata] Dependency relations

Gustavo Niemeyer niemeyer at conectiva.com
Fri May 28 18:27:20 UTC 2004


Hello folks!

I've just had a look at the format of the XML file (that's a shame,
skvidal asked me to do that long ago), and found a small issue I'd
like to discuss with you.

Assuming

  Requires: python >= 2.3, python < 2.4

the current way to describe this is, for example:

  <rpm:requires>
    <rpm:entry name="python" flags="GE">
      <version ver="2.3">
    </rpm:entry>
    <rpm:entry name="python" flags="LT">
      <version ver="2.4">
    </rpm:entry>
  </rpm:requires>

I find the usage for version a little bit curious here, given that
we'll never have two <version> tags inside a single <rpm:entry>.

So, I belive a better representation for the same idea might be
expressed as:

  <rpm:requires>
    <rpm:relation name="python" flags="GE" ver="2.3">
    <rpm:relation name="python" flags="LT" ver="2.4">
  </rpm:requires>

Of course, the same <rpm:relation> notion might be used equaly for
any other dependency relation, such as conflicts or obsoletes.

I've researched information about that in the archive, and found
out the exact moment in which the current scheme was suggested. It
was a message on 05-Dec-2003. The only answer recieved for the
propose was from Daniel Veillard, which suggested something close
to what I presented above. So, I'd like to know if there's still
time to adapt the current scheme for the presented syntax.

Another interesting point: since we're using a text file format,
is there any special reason for using "GE" and "LT" instead of
">=" and "<"?

Thanks!!

-- 
Gustavo Niemeyer
http://niemeyer.net



More information about the Rpm-metadata mailing list