On 25/01/15 17:20, Corinna Vinschen wrote:
Instead of always defaulting to the curr version, Setup now checks if
the installed version of a package is higher than the curr version of
the package.
This sounds like a great idea - providing that the logic to compare two
version numbers is sufficiently clever. Looking at operator<() in
package_version.cc, it appears as though this is performing simple
string comparison on the version numbers. This would fail in a number of
cases. A real example from setup.ini:
package: at-spi2-atk
curr: 2.10.2-1
prev: 2.8.1-1
A simple string comparison would prefer prev over curr!
In your patch, maybe it could be better to call
packageversion::compareVersions() rather than use operator<(). I'm not
terribly familiar with the setup code, so please excuse me if I'm
mistaken, got lost in the code, or am completely barking up the wrong tree.
Dave.