[sisyphus] Re: I: Sisyphus-20051024 packages: +1! +4 (4867)

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пн Окт 24 03:49:31 MSD 2005


On Mon, Oct 24, 2005 at 03:30:42AM +0400, Alexey Tourbin wrote:
> 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
> Сравнение версий и не может быть коммутативным в этом смысле.
> То есть речь идёт не о свойстве a<b=b<a, а о свойстве a<b=b>a.

Ну да, я имел в виду, что оно не антисимметрично. :)

> > Зато если у обоих аргументов serial определён, то rpmEVRcmp() уже
> > коммутативно:
> > 
> > $ rpmevrcmp 1:1.06-alt1 0:1.06-ipl6mdk
> > 1
> > $ rpmevrcmp 0:1.06-ipl6mdk 1:1.06-alt1
> > -1
> 
> Как сравнивается в первом случае?

Если у первого аргумента epoch не определён, а у второго определён, то
меньше.

Если у первого аргумента epoch определён, а у второго не определён, то
зависит от версии librpm; в rpm-4_0 равно, в rpm-4_4 больше или равно в
зависимости от настроек второго аргумента. :)

Я могу сделать поведение утилиты rpmevrcmp более логичным, чем поведение
rpmEVRcmp/rpmdsCompare.  Если надо.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20051024/7098b4ba/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus