[devel] сравнение версий в rpm

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Дек 20 14:33:25 MSK 2008


On Sat, Dec 20, 2008 at 02:15:46PM +0300, Хихин Руслан wrote:
> > rpm-4.0 и rpm-4.4+ по-разному сравнивают некоторые версии. 
> > Это не кривая особенность реализации, и нельзя скаазть, что
> > rpm-4.4 сравнивает вресии лучше, чем rpm-4.0.  Различие нельзя
> > объснить целиком рационально в пользу одного из вариантов
> > сравнения.
> >
> > Мейнтенеры должны представлять себе сравнение версий так, как
> > я ранее написал.  Не следует направлять в репозитарий новые
> > версии пакетов, если сравнение старых и новых версий "не
> > определено".
> Если у нас стоит в системе rpm 4.0.4 и порядок сортировки версий 
> у нас определяется её кодом, а жизнь требует что-бы понятие не 
> определено не было не правильнее-ли задать порядок сортировки 
> для неопределённых случаев ? Если стоит вопрос о том, что-бы 

Понятие "не опредлено" не очень плохо.  Нужно избегать того, что
"не определно", что сложно определить интуитивно понятным способом.

> порядок сортировки должен соответствовать rpm-4.4, то надо 
> патчить rpm (и всё, что с этим связано) и на видном месте 
> расписать правила сравнения версий.

Порядок сортировки это сложная тема.  Порядок должен быть
антисимметричным.  Это означает, что либо a<b, либо a>b,
а в противном случае a=b.  На "чисто версиях" реализация может
доопределить антисимметричный порядок для тех случаев, в которых
он "не определён".

С эпохами ситуация гораздо хуже: антисимметричное сравнение эпох
может нарушать интуитивно понятные представления о сравнения версий.
Эпоха просто становится "самым старшим" компонентом версии.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20081220/8c72c80e/attachment.bin>


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