<font face="verdana,sans-serif">Thank you very much!</font><div><font face="verdana,sans-serif"><br></font></div><div><font face="verdana,sans-serif">It's really much appreciated.<br></font><br><div class="gmail_quote">

On Tue, Aug 17, 2010 at 10:52 AM, Anders F Björklund <span dir="ltr"><<a href="mailto:afb@algonet.se">afb@algonet.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">Antenore Gatta wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
As I'm not sure this is a bug, I'd like to have your opinion.<br>
<br>
With the repositories I'm using (rpm), I have 3 different amarok versions:<br>
<br>
smart> ls -v amarok<br>
amarok-2.1.1-7.6@i586                        amarok-2.3.1.60svn20100810-85.1@i586<br>
amarok-2.3.1-77.4@i586<br>
</blockquote>
<br></div>
In general, if you want to compare two versions there's "vercmp".<br>
This varies between different backends, in how versions compare.<br>
<br>
$ python<br>
>>> from smart.backends.rpm.rpmver import vercmp<br>
>>> vercmp("2.3.1-77.4", "2.3.1.60svn20100810-85.1")<br>
-1<br>
<br>
There's also two helpers called "splitarch" and "splitrelease",<br>
which splits out an arch or a release from a version string.<br>
<br>
$ python<br>
>>> from smart.backends.rpm.rpmver import splitarch, splitrelease<br>
>>> splitarch('2.3.1.60svn20100810-85.1@i586')<br>
('2.3.1.60svn20100810-85.1', 'i586')<br>
>>> splitrelease('2.3.1.60svn20100810-85.1')<br>
('2.3.1.60svn20100810', '85.1')<br>
<br>
Again, just how package architectures and release revisions are<br>
represented as strings varies (greatly) between the backends...<br>
<br>
name1-version1-release1.noarch.rpm<br>
name1_version1-release1_all.deb<br>
name1-version1-noarch-release1.tgz<br>
name1-version1-release1-i686.pkg.tar.gz<br><font color="#888888">
<br>
--anders<br>
<br>
</font></blockquote></div><br></div>