TypicalPackagingErrors/versions: различия между версиями
(Import from freesource.info) |
Ilis (обсуждение | вклад) |
||
Строка 37: | Строка 37: | ||
''TODO: добавить в policy и/или ссылку на него, если имеется'' | ''TODO: добавить в policy и/или ссылку на него, если имеется'' | ||
[[Категория:TypicalPackagingErrors|{{SUBPAGENAME}}]] |
Версия от 18:50, 13 марта 2009
Типичные ошибки нумерования версий
...приводящие к неожиданным проблемам при последующем обновлении (e.g. 1.0 < 1.0pre лексикографически).
Subject: [sisyphus] Как правильно давать версию пакету? Date: Fri, 25 Nov 2005 16:50:32 +0200 From: Slava Dubrovskiy To: Sisyphus lists.altlinux.org Здравствуйте. Запаковал пакет с той версией какая указана в апстриме - 7.1PRE1. Теперь вышла 7.1.1 и апт считает, что 7.1PRE1 больше чем 7.1.1. Отсюда вопрос: что делать в данной ситуации и как правильно разрулить?
Поведение apt вполне объяснимо, ведь
~ $ rpmvercmp 7.1PRE1 7.1.1 1 ~ $
т.е. 7.1PRE1 действительно больше чем 7.1.1.
Выход в данной ситуации один. Давать номера пакетов вида: version-altx.prefix Например, в данной ситуации, было бы лучше версию PRE1 запаковать как 7.1-alt0.PRE1, а официальный релиз тогда имел бы версию 7.1-alt1 и т.д. Тоже самое предлагается делать и для cvs (например 7.1-alt0.cvs20051128) и всяких там alpha/beta/rc/pre. Сборка alt0 как раз визуально выделят версии cvs/pre из списка релизов.
То же самое относится и к пакетам имеющим iplXXmdk вместо altXX в номере сборки. Без смены версии пакета, менять iplXXmdk на alt (пусть даже и XX+1) не стоит!!! Не верите на слово:
~ $ rpmvercmp ipl23mdk alt4 8 ~ $
Если пакет с release вида alt0.cvsyyyymmdd собирается для backports, сообразно backports policy следует выставить его в alt0.0.cvsyyyymmdd; при этом "0" лексикографически меньше "c" и последуюшее обновление пройдёт успешно по крайней мере по этой части.
Надеюсь, что данная рекомендация попадет в полиси.
TODO: добавить в policy и/или ссылку на него, если имеется