On Mon, Oct 24, 2005 at 02:50:48AM +0400, Dmitry V. Levin wrote: > Потому что rpmEVRcmp() не коммутативно: > > $ rpmevrcmp 1:1.06-alt1 1.06-ipl6mdk > -1 > $ rpmevrcmp 1.06-ipl6mdk 1:1.06-alt1 > -1 Не понял. Коммутативность(+) ::= forall(a,b) a+b = b+a Сравнение версий и не может быть коммутативным в этом смысле. То есть речь идёт не о свойстве aa. > Зато если у обоих аргументов serial определён, то rpmEVRcmp() уже > коммутативно: > > $ rpmevrcmp 1:1.06-alt1 0:1.06-ipl6mdk > 1 > $ rpmevrcmp 0:1.06-ipl6mdk 1:1.06-alt1 > -1 Как сравнивается в первом случае?