[devel] HOWTO по RPM-версионированию

Kirill Maslinsky =?iso-8859-1?q?kirill_=CE=C1_altlinux=2Eorg?=
Пт Дек 19 23:29:47 MSK 2008


On Thu, Dec 18, 2008 at 02:42:40PM +0600, Mikhail Gusarov wrote:
> Twas brillig at 11:32:25 18.12.2008 UTC+03 when lav на altlinux.ru did gyre and gimble:
> 
>  >> Вопросы (и, что важнее, ошибки) по этой теме у начинающих
>  >> мантейнеров возникают очень часто, думаю, не в последнюю
>  >> очередь потому, что информация очень сильно разбросана по
>  >> разным источникам, зачастую архивам рассылки.
> 
>  VL> Может быть соберёмся с силами, выложим на вики?
> 
> Хорошо бы. Лучше не отдельно, а дописать в http://www.altlinux.org/Spec

[...]
On Thu, Dec 18, 2008 at 04:30:30PM +0600, Mikhail Gusarov wrote:
> 
> Twas brillig at 13:24:15 18.12.2008 UTC+03 when kirill на altlinux.org did gyre and gimble:
> 
>  >> Сначала нужно зафиксировать правила, и только потом писать по ним HOWTO.
> 
>  KM> Согласен. Но что из обсуждаемых вопросов относится собственно к
>  KM> правилам? Насколько я понимаю, это в основном разъяснения принципов
>  KM> работы RPM
> 
> Принцип назначения версий, смысл Epoch, версионирование
> бэкпортов - это всё правила.
> 
> Twas brillig at 16:30:30 18.12.2008 UTC+06 when dottedmag на altlinux.org did gyre and gimble:
[...]
> Точнее, справочный материал.

Я честно попытался дополнить по результатам обсуждения страницу Spec --
ну не выходит каменный цветок. Как ни крути, логика обсуждаемых задач
версионирования пакетов не укладывается в рамки справки по отдельным
полям спека. 

Как минимум, приходится вводить понятие "полная версия пакета", понимая
под этим "epoch:version-release", которые, собственно, и сравниваются 
между собой при обновлении пакетов. Задача мантейнера -- именно
обеспечивать правильный порядок этих полных версий при любом обновлении
(включая бранчи), сохраняя при этом разумный уровень детализации версии 
апстрима, позволяющий пользователю адекватно идентифицировать исходники.

Если писать это на странице Spec, то непонятно, в какое поле.
Создать раздел, объединяющий поля Version,Release,Epoch -- выпадает 
из логики справочника по полям спека, и вообще, по-хорошему, описывает
более общее понятие, относящееся к rpm-пакету в целом. 

В общем, надо, наверное, сделать отдельный справочник RPM-Versioning, 
если коллеги не согласны, что это HOWTO. А может быть правильнее
оформить это сразу как полиси? В этом случае раздел "правила нумерации
релизов" в http://www.altlinux.org/BackportsPolicy получается частным 
случаем такого общего полиси по нумерации версий.

С другой стороны, я по прежнему не уверен, что версионирование -- это
область, где нужно слишком жёстко регулировать. Важнее скорее разъяснить
основы, растолковать смысл версионирования и дать понятие о разных
стратегиях, так же, как с ведением git-репозитория.

PS Прошу прощения, что длинно, но мне этот момент представляется весьма
важным в работе по улучшению документации для разработчиков.

-- 
Kirill Maslinsky
ALT Linux Team
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/devel/attachments/20081219/bba188b4/attachment.bin>


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