On May 23, 2011, at 5:47 PM, Robert Xu wrote:

> Hi,
> 
> So now that it's clarified that RPMSENSE_MISSINGOK works... (I can
> throw out this patch!
> https://github.com/devzero2000/RPM/commit/21ee982d1655c3d8528ed4a32e821aec775ebe14)
> 

Yes you shouldn't need that patch with @rpm5.org.

> So... now how could I revise these two patches?
> https://github.com/devzero2000/RPM/commit/2a1443ea095ab3cb87fb593f459f299365e7919c

This patch shouldn't hurt nor help much (its specific to --queryformat).

The basic structure of --singleSprintf isn't radically different. Punt
this one to me if you want and I'll figger out how/where the patch
should be merged. At a first approximation you can likely run
without the patch (but that's just a guess based on where --qf
tends to be used).


> https://github.com/devzero2000/RPM/commit/225db4c7033e014f826fc50ab997f596882c3312

This patch is needed if you want to build packages like SuSE
does, with "weak dependencies" in explicit tag data. I can carry
this @rpm5.org under
        #ifdef RPM_VENDOR_OPENSUSE
if there is interest.

That was basically the point of the exchange with Klaus: there may
be a better and simpler way of adding "weak dependencies" using
the arbitrary tags I mentioned. With arbitrary tags, the strings
aren't syntax checked quite as carefully (there are *RE patterns that can be 
used
if the syntax were limited to a single condition per tag) and
so a modest parser woule be needed to split the string into
a {N,EVR,F} tripe. Since EVR already needs parsing, that isn't a huge deal.

The alternative form (which is being pursued @rpm.org with OrderedBy: is to
continue with {N,EVR,F} arrays of tuples, which is essentially what
this patch is doing for Suggests: et al.

Without consensus on what the proper representation of "weak dependency"
tags I'm reluctant to lead the innovation. RPMSENSE_MISSINGOK is a single
bit used as a "hint" attribute on existing PRCO dependencies.

Arbitrary tags are quite general extensions to header metadata. But sooner
or later the RFE comes in for RPM to actually implement some desired semantic
with tag values.

And its not very hard to re-use the existing rpmds object as a container for
other triples. The problem here is that lots of additional API's are needed
because the representation leads to Yet More Tags which -- once deployed --
will have to be continued likely forever (and it isn't at all clear to me that
"weak dependencies" are solving a Real World problem even if there are a
small number of known usage cases that can be stated as Klaus has done).

That's where all of the above has been for 4+ years (7+ years if you go back
to when RPMSENSE_MISSINGOK was originally proposed, and "weak dependencies"
were mostly implemented a few months later). Its kinda hard to
get excited about 7 year old implementations that haven't ever really
been used or deployed widely (yes SuSE has, noone else I'm aware of).

hth

73 de Jeff
> 
> -- 
> later, Robert Xu
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> Developer Communication List                        rpm-devel@rpm5.org

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to