RPM Community Forums

Mailing List Message of <rpm-devel>

Re: Possiblity to assert just R instead of [E:]V-R in a dependency

From: Ralf S. Engelschall <rse+rpm-devel@rpm5.org>
Date: Fri 28 Dec 2007 - 15:54:50 CET
Message-ID: <20071228145450.GA39158@engelschall.com>
On Fri, Dec 28, 2007, Jeff Johnson wrote:

> On Dec 28, 2007, at 9:26 AM, Ralf S. Engelschall wrote:
>>
>> Yes, that's why I really seek for a solution which can be activated per
>> dependency check only. The "release(N) >= R" would be such a thing, I
>> think.
>
> Ah, got it. I thought you were looking for an all-OpenPKG distro solution.
>
> Adding a release(N) name space is a perfectly obvious solution
> using a getter access method and usual strcmp-like comparison
> overloaded into existing rpm dependencies.
>
> The subtly is that there may be multiple N installed with different R, and
> it may not be clear what "package" needs to be accessed to compare R.
>
> So you also need a compound statement to insure that you have exactly
> the package you wish to compare against.
>
> rpm already permits A as a compound as in
>   Requires: N.A = E:V-R
> A general namespace form for (at least) the important tags like NEVRAO
> might look like (I use XXX to designate "package" item and avoid
> confusions)
>   Requires: Release(XXX) = "R"
> with generalization to the compounds
>         Requires:  Name(XXX).Arch(XXX).Release(XXX) = "N A R"
>
> The tricky part is that the elements accessed by the getters need
> to be loaded by rpmdsNew() so that thousands of added package
> headers don't need to be present in memory.

Hmmm... sounds *really* good, although I think I personally will be not
able to implement it myself. I'm able to hack RPM just fine in order to
implement small solutions, but for such a more general solution I guess
my knowledge about the internals is still too less. Here I would need
your help, of course. But as it doesn't look like something which can
be *easily* added, we should perhaps suspend this for RPM 5.1, too. I'm
living with this dependency shortcoming since a few years, so I can live
without it for some more time, too.

But certainly something we should put onto the RPM 5.1 wish list...

                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com
Received on Fri Dec 28 16:00:56 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.