rpm 5.4.10 for testing in th-test
Jeffrey Johnson
n3npq at me.com
Wed Sep 12 05:06:45 CEST 2012
On Sep 11, 2012, at 5:22 PM, Jan Rękorajski <baggins at pld-linux.org> wrote:
>>
>> Any idea why the code above isn't being traversed? I'm
>> missing something here, any help appreciated.
>
> dep in question is of the TYPE_VERSION here, comes from package being
> installed and it is 'mpd < 0.16.5-4'
> 'group(mpd)' comes from the rpmdb Provides iteration later on.
>
Because I lack specifics, I need clarification:
Is the
Provides: group(mpd)
retrieved from Providename index in rpmdb matching a
Conflicts: mpd < 0.16.5-4
from a package header in the code you posted?
That's broken imho (and I should have enough details
to find the flaw if/when you confirm).
(aside)
The easy work around is removing
Provides: group(md5)
although I lack sufficient details on what is/was intended
with that dependency to say for sure. Removing the Provides:
SHOULD prevent the Conflicts: from firing.
>>>> Post the details at launchpad.net/rpm and I'll sort
>>>> the segfaults for you.
>>>
>>> I don't know if they're worth you attention, all of them seem outdated:
>>>
>>> - headerGet() making poldek segfault http://rpm5.org/cvs/tktview?tn=38,1
>>> - rpm doesn't exit when no sources/patches available http://rpm5.org/cvs/tktview?tn=40,1
>>> - http://rpm5.org/cvs/tktview?tn=41&_submit=Show
>>> - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
>>>
>>
>> I will look later tonight (to ensure actually fixed).
>
> Thanks in advance :)
>
>>>>>> Reactively re-vetting incompatibilities as discovered
>>>>>> is in noone's interest because of the tyranny of
>>>>>> Upgrades MUST "work".
>>>>>> because all that will, happen is PLD will rip out every
>>>>>> implementation that has been accomplished over the past
>>>>>> few years to achieve
>>>>>> Have it your own way!
>>>>>> which is indistinguishable from a "fork".
>>>>>
>>>>> Currently the only incompatibility is P:user()/group() we're talking
>>>>> about here. And it looks to me like unchecked code path issue we
>>>>> can fix and be both happy.
>>>>>
>>>>
>>>> Hard to say what happy means from here without knowing
>>>> what is being proposed. But yes, an accidental name collision
>>>> can be sorted without pain. The hardest issue is
>>>> What about "legacy compatibility" with versions
>>>> of RPM that do not have "run-time probes"?
>>>> The better approach is back porting, but otherwise
>>>> "run-time probes" are merely serialized strings that can be stubbed
>>>> out in older versions of rpm without too much difficulty.
>>>
>>> AFAIK, even our rpm 4.5 has "run-time probes" like uname(release),
>>> so they're not the problem here. I can live with some level of legacy
>>> breakage, one have to cut off the long tail sometime.
>>>
>>
>> Good (I've mostly forgotten whether probes are in rpm-4.5 these days).
>>
>> But if using "run-time probes", then I'm not sure why
>> there are
>> Provides: user(mpd) …
>> dependencies being added. Or am I confused somehow?
>
> Hmm, besides not being able to find that particular probe in rpm5
> source (may be me tired), how can we tell that _this_ package provide
> _that_ username other than specyfying Provides: user(mpd)?
>
The confusion is likely that I wasn't sure whether it was a
user(…) or a group(…) dependency which are quite similar in form.
Perhaps I should have said
Provides: group(mpd)
> I always considered user() and group() provides as a means to tell that
> those user/group names come from the package having appriopriate Provides.
>
There's no well defined semantic for
Provides: group(mpd)
even if PLD has adopted some convention afaik. The
Provides: group(mpd)
is just a string and (imho) should be removed
if there are problems unless there is truly some
explicit PLD implementation that relies on the adopted
convention.
(aside)
The future intent @rpm5.org is to overload Provides:/Obsoletes: as
a means to automate adding/deleting entries in /etc/passwd
and /etc/group (where there will be an explicit semantic
attached to the namespace(s).
The only show stopping issue is committing to a tuple serialization
that maps onto the necessary fields needed in /etc/passwd etc with
reasonable defaults for missing values.
Consensus on representations in *.spec is always rate limiting: it
literally takes years before the complaints from package monkeys
disappear, sigh.
hth
73 de Jeff
> --
> Jan Rękorajski | PLD/Linux
> SysAdm | http://www.pld-linux.org/
> baggins<at>mimuw.edu.pl
> baggins<at>pld-linux.org
> _______________________________________________
> pld-devel-en mailing list
> pld-devel-en at lists.pld-linux.org
> http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
More information about the pld-devel-en
mailing list