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 - _______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxxxxx http://lists.rpm.org/mailman/listinfo/rpm-list