Продвинутая работа с версиями: Что делать с rc и pre версиями

Особое внимание нужно уделять указанию номера версии для rc и pre версий пакетов.

Рассмотрим случай, когда у нас есть версия 1.5 и появился новый 1.6-rc1 релиз, который мы хотим добавить.

Если дать новому пакету номер версии 1.6-rc1, то все будет работать замечательно. Но финальный релиз выйдет за номером 1.6 и если теперь создать соответствующую версию пакета, то мы увидим, что пакеты отсортируются в следующем порядке:

  1. 1.5

  2. 1.6

  3. 1.6-rc1

Это в свою очередь окажет влияние на пакетные системы, такие как ipkg, которые посчитают финальный релиз позже чем release-candidate версию.

В OpenEmbedded корректное именование pre и rc версий заключается в использовании номера предыдущей версии, за которым следует + и номер новой версии. Таким образом, 1.6-rc1 релиз получит следующий номер версии:

Тогда пакеты отсортируются в следующем порядке:

  1. 1.5

  2. 1.5+1.6-rc1

  3. 1.6

Это правильный порядок и пакетная система теперь будет работать как надо.