FreeBSD: CURRENT, STABLE и RELEASE версии

Автор: | 06/03/2013
 

freebsd_logoВ чём разница между версиями CURRENT, STABLE и RELEASE?

Кратко — CURRENT это версия FreeBSD, находящаяся на стадии разаботки. STABLE — это переходной процесс от CURRENT, а RELEASE — это последний этап доработки версии STABLE.

Версия CURRENT содержит в себе самые последние изменения, которые ещё находятся в стадии доработки и тестирования. Так же — она содержит в ядре опции отладки (debug), которые предназначены для разработчиков, и не содержатся в других версиях. Через некоторое время, один-два раза в год, проводится так называемое «code freeze» («замораживание кода»), в течении которого версия CURRENT доводится «до ума», устраняются ошибки. После этого она становится STABLE, получая новый номер — например 9.0-STABLE (открывая ветку RELENG_9). Дальнейшее развитие идёт сразу в двух направлениях — версии STABLE, в которой будут исправляться выявленные на стадии использования ошибки, и версия CURRENT — в которой будут дорабатываться новые возможности, которые после тестирования войдут в новую версию FreeBSD 10.0 STABLE.

Например, на данный момент CURRENT является 10 ветка:

Branch Status Contact Notes
HEAD Open committers Active development branch for 10-CURRENT.

STABLE-ветка:

stable/9 Open committers Development branch for FreeBSD 9-STABLE.

Отдельно надо отметить значение слова STABLE в названии версии. В данном случае слово «стабильная» относится только к некоторым глобальным изменения в коде самой ОС, а не к её устойчивости в работе в целом.

Через некоторое время изменения в текущей версии STABLE приостанавливаются и после последних тестирований она выпускается как FreeBSD 9.0 RELEASE. При этом продолжаются работы по улучшению FreeBSD 9.0-STABLE, которая со временем выделяются в новую ветку RELENG_9_1, включающую в себя  версию FreeBSD 9.1 RELEASE. В дальнейшем в рамках ветки RELENG_9_1 будут добавляться только критические изменения и обновления безопасности только для версии FreeBSD 9.1 RELEASE.

В то же время, в рамках ветки RELENG_9 будет дорабатываться версия FreeBSD 9.0-STABLE, в которую будут добавляться новые возможности и которая со временем ответвится в ветку RELENG_9_2 и версию FreeBSD 9.2.0 RELEASE.

releng/9.1 Frozen security-officer@FreeBSD.org FreeBSD 9.1 supported errata fix branch.

2012.12.05 9.1-RELEASE

Далее следуют обновления в ветке RELENG_9_1, включающие в себя обновления безопасности и прочие критические обновления версии FreeBSD 9.1:

2013.02.18: 9.1-RELEASE-p1

2013.04.02: 9.1-RELEASE-p2

2013.04.29: 9.1-RELEASE-p3

Схематично дерево версий можно изобразить так:

HEAD> FreeBSD 10-CURRENT

RELENG_9 > FreeBSD 9.0-STABLE

      FreeBSD 9.0 RELEASE

RELENG_9_1 > FreeBSD 9.1 RELEASE

  FreeBSD 9.1 RELEASE-p1

  FreeBSD 9.1 RELEASE-p2

  FreeBSD 9.1 RELEASE-p3

RELENG_9_2 > FreeBSD 9.2 RELEASE

  FreeBSD 9.1 RELEASE-p1

RELENG_8 > FreeBSD 8.0-STABLE

Ссылки по теме:

http://www.freebsd.org/releng/

http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/release-proc.html

http://svnweb.freebsd.org/base/releng/

http://svnweb.freebsd.org/base/release/