correct null epoch value behavior for Conflicts: expressions ?
Panu Matilainen
pmatilai at laiskiainen.org
Wed Sep 17 07:16:51 UTC 2014
On 09/16/2014 05:52 PM, Jason Vas Dias wrote:
> Good day RPM list -
>
> I'd be most grateful if someone could please explain correct interpretation
> of NULL %{EPOCH} values in the context of Conflicts / Obsoletes specifications.
>
> In RHEL 6 , for instance, the udev.spec contains:
>
> Conflicts: kernel < 0:2.6
>
> Yet the RHEL 6 kernel spec (from 2.6.32-431.20.5 ) does NOT specify any epoch ,
> so will have %{EPOCH} == '(none)' , and the result of udev's Conflicts
> expression should be TRUE ; ie. udev would replace kernel .
> Isn't a NULL value meant to compare less than a numeric value,
> even if the numeric value is 0 ?
> What prevents udev from replacing the kernel / preventing it being installed,
> then ?
> Does an epoch value of '0' always equate to a value of '(none)' ?
> Yet I do think RPM / YUM will consider an RPM will Epoch '0' to be greater than
> one with Epoch '(none)'.
> Can someone please explain why this evidently doesn't apply to this
> RHEL 6 udev Conflicts: kernel < 0:2.6 with kernel (none):2.6.x being
> installed ?
Non-existing epoch is equivalent to epoch of 0, anything else leads to
madness as witnessed in the ancient versions (rpm < 4.2 + some related
bugs in up to 4.4.x) where its not.
Unless you're a distro archeologist, you only need to remember:
Non-existing epoch is equivalent to epoch of 0.
- Panu -
More information about the Rpm-list
mailing list