Still unable to use Smart with Mandriva

Anders F Björklund afb at algonet.se
Wed Aug 17 14:23:08 PDT 2011


Steve Morris wrote:

>>>> So it's foo-1.0-2mdv2010.0 versus foo-1.0-2-mdv2011.0
>>>> This prevents everything expecting (E,V,R) from working.
>>>> 
>>> Thanks Anders, I didn't notice or realise there was an extra - in the name.
>> It gets worse, as it also added to all dependencies as well:
>> foo = 1.0-2mdv2010.0 versus foo = 1.0-2:2011.0
>> 
>> So *all* version comparisons need to be able to handle the
>> Distepoch, and some/most confuse it with the regular Epoch.

> They are using that convention for every package across the entire distribution. I'm not sure why, but it may have something to do with the fact that it looks like Mandriva may be moving away from urpmi/rpm to mpm/mdvpkg, based on conversations I'm seeing on cooker around trying to get that combination to function properly, and to do things like not auto remove orphans.

No, it's an (optional) feature of rpm5 to allow Distepoch...
There are rpm macros to turn it on and off, for comparisons:

# ---- EVRD... dependency tuple comparison macros.
%evr_tuple_match  ^(?:([^:-]+):)?([^:-]+)(?:-([^:-]+))?(?::([^:-]+))?$
%evr_tuple_select 123_
%evr_tuple_order  EVR

And that's the way it's going to work in Smart, it'll show
the Distepoch for versions but will ignore for dependencies.

This was worked out with Unity Linux last year, that have
been using Smart with their Mandriva-based RPM packaging...

The only way it makes a difference, is if you have two rpms
with the same Release number but different Distepoch mdvX.Y.


The move away from urpmi/rpm (and rpmdrake?) to mpm/mdvpkg
is the same as with PackageKit for the other distributions.

No idea why they chose to do it over themselves, maybe it's
something similar to not using repodata for the repositories ?

--anders




More information about the Smart mailing list