Системы контроля выпусков OS/2
На данной странице описывается известная информация о системах контроля выпусков операционной системы OS/2.
Содержание
Общие примечания
- Официальных источников информации, описывающих логику нумерации сборок, по состоянию на 11-2020, не обнаружено.
 - Все выводы основаны на исследованиях сообществ (в т.ч. и Old-DOS Wiki).
 - Часть выводов может в будущем оказаться неточной/неверной.
 - Исследование построено на изучении доступных выпусков, а также с привлечением информации из других источников.
 
Способы контроля выпусков
В различных выпусках OS/2 применялось три системы контроля выпусков и второстепенных обновлений.
-  Build number. Версия ядра операционной системы (файл 
OS2KRNL/OS2KRNLI). -  CSD-level. Версия обновления операционной системы (файл 
SYSLEVEL.OS2). -  Microsoft CSD level. Вспомогательный номер версии обновления (файл 
LEVEL8.???).- Используется только в выпусках MS OS/2 1.30.1.
 
 
Номер сборки ядра
Контроль версий и выпусков осуществляется при помощи так называемого номера сборки. 
В самих версиях операционной системы встречаются два обозначения:
- Build level. Используется на этикетках оригинальных носителей.
 -  Internal Revision. Используется в файле ядра 
OS2KRNL/OS2KRNLI. 
В сообществах используются условные обозначения build, rev, ir.
Вид номера сборки определяется числом x.y:
- x – ветка разработки. Число, общее для всех версий одного выпуска.
 -  y – непосредственно номер сборки.
- Предполагается, что он отражает порядковый номер конкретной компиляции.
 
 
Иногда в номере сборки встречаются литеры. В зависимости от конкретной версии, их значение может быть различно:
-  Перекомпиляция. Обозначается одной литерой. 
- Подобные номера сборок встречаются на этикетках носителей, в компьютерной прессе, а также в списках вареза.
 - В файлах дистрибутивов литера рядом с номером сборки отсутствует во всех известных случаях перекомпиляций.
 - Литеры встречаются и в верхнем, и в нижнем регистре. Имеет ли это различие смысл, неизвестно. Предполагается, что литеры в разных регистрах равнозначны.
 -  Положение литеры в разных сборках отличается. Имеет ли это различие смысл, неизвестно. Предполагается, что положение литеры не имеет значения. Например, обозначения 6F.167 и 6.167F считаются равнозначными.
- В пределах Old-DOS Wiki в целях унификации используется второй вариант с литерой в конце.
 
 - Примеры номеров сборок: 6.167d, 6H.177, 6.307B.
 
 -  Выпуск Microsoft. Обозначается двумя литерами в верхнем регисте MS, которые указываются после номера сборки.
- Вероятно, это было сделано Microsoft во избежание путаницы с выпусками IBM OS/2.
 - Единственный известный пример – это сборка 7.224MS, доступная в двух редакциях и нескольких локализациях.
 
 
Ветки разработки
Номер сборки представлен в виде x.y (подробнее см. выше). Первое число x обозначает ветку, в которой была скомпилирована сборка.
В настоящее время известны следующие ветки разработки:
| Серия | Версии | 
|---|---|
| 3.xxx | OS/2 1.0 | 
| 4.xxx | OS/2 1.1 | 
| 12.xxx | OS/2 1.2 | 
| 7.xxx | OS/2 1.3 | 
| 6.xxx | OS/2 2.0 OS/2 2.1  | 
| S.xxx | OS/2 2.11 for SMP | 
| 8.xxx | OS/2 Warp 3 | 
| 9.xxx | OS/2 Warp 4 | 
Восточные локализованные выпуски с поддержкой DBCS имеют другой способ нумерации сборок, основанный на внутренних названиях веток разработки:
| Ветка | Версии | 
|---|---|
| R205-xx | OS/2 2.00 | 
| R206-xx | OS/2 2.1 | 
| R211-xx | OS/2 2.11 with Win-OS/2 | 
| MR1-xx | OS/2 2.11 for Windows | 
| R207-xx | OS/2 Warp 3 | 
CSD-номер
CSD-номер (CSD – Corrective Service Disk) предназначен для контроля промежуточных версий выпущенного продукта (пакеты обновлений и обновлённые розничные выпуски).
CSD-номер используется, начиная с OS/2 1.1. Этот номер содержит информацию о ветке разработки, редакции и локализации рассматриваемого выпуска.
Примечание №1: Некоторые виды выпусков не используют CSD-номер для контроля промежуточных версий. У таких выпусков CSD-номер не имеет смысла и используется только в качестве вспомогательного критерия (подробнее см. ниже).
Примечание №2:. Некоторые выпуски имеют заведомо неверный CSD-номер. Возможно, это ошибки разработчиков (подробнее см. ниже).
Структура CSD-номера
CSD-номер включает информацию о редакции, локализации и ветке разработки рассматриваемого выпуска. В общем виде CSD-номер выглядит так:
AABCDDD, где:
- AA – тип редакции (две литеры),
 - B – локализация (литера или цифра),
 - C – ветка разработки (цифра),
 - DDD – порядковый номер CSD.
 
Редакция
Для обозначения редакции используются две латинские литеры, известно два возможных значения:
| Значение | Редакция | 
|---|---|
| XR***** | Standard Edition (SE) | 
| WR***** | Extended Edition (EE) | 
Примечание: Обозначение WR***** встречается только у выпусков OS/2 1.1 EE, OS/2 1.2 EE и OS/2 1.3 EE, все остальные выпуски используют обозначение XR*****. Далее все рассматриваемые примеры основаны на XR*****.
Локализация
Для обозначения локализации выпуска используется латинская литера или цифра.
Также, для некоторых языковых версий IBM использовала собственный трёхзначный цифровой код, который применялся для внутренних нужд системы, однако не фигурировал в CSD-номере.
В нижеприведённой таблице указаны известные значения CSD-номера, а также язык интерфейса выпуска, имеющего этот номер (внутренний код локализации приведён в скобках, если он известен):
| Значение | Локализация | 
|---|---|
| XR_**** | Без локализации (см. примечание) | 
| XR0**** | English-US | 
| XR1**** | Turkish | 
| XR2**** | Slovanian | 
| XR3**** | Catalan | 
| XR4**** | Bulgarian | 
| XR5**** | Greek-English | 
| XR7**** | Lithuanian | 
| XRA**** | Arabic | 
| XRB**** | Portuguese-Brazilian | 
| XRC**** | French-Canadian | 
| XRD**** | Danish | 
| XRE**** | Hebrew | 
| XRF**** | French-France | 
| XRG**** | German | 
| XRH**** | Dutch | 
| XRI**** | Italian | 
| XRJ**** | Japanese | 
| XRK**** | Greek | 
| XRL**** | Finnish | 
| XRM**** | Simplified Chinese | 
| XRN**** | Norwegian | 
| XRO**** | Polish | 
| XRP**** | Portuguese-Portugal | 
| XRR**** | Russian | 
| XRS**** | Spanish | 
| XRT**** | Traditional Chinese | 
| XRU**** | English-UK | 
| XRV**** | Thai | 
| XRW**** | Swedish | 
| XRY**** | Hungarian | 
| XRZ**** | Czech | 
Примечание: В случаях, когда локализация не имеет значения (мультиязычные пакеты обновлений, патчи, не зависящие от языка), IBM использовала общее обозначение вида XR_****, где нижнее подчеркивание заменяло обозначение языка.
Ветка разработки
CSD-номер включает информацию о ветке разработки, к которой принадлежит рассматриваемый выпуск.
Номер ветки разработки задан четвёртым символом в CSD-номере. В таблице известные ветки разработки рассмотрены на основе стандартной редакции языковой версии English-US:
| Значение | Ветка разработки | 
|---|---|
| XR03*** | OS/2 1.1 | 
| XR04*** | OS/2 1.2 | 
| XR05*** | OS/2 1.3 | 
| XR06*** | OS/2 2.0/2.1 |