summaryrefslogtreecommitdiff
path: root/landau-linux/maintenance.md
diff options
context:
space:
mode:
Diffstat (limited to 'landau-linux/maintenance.md')
-rw-r--r--landau-linux/maintenance.md190
1 files changed, 146 insertions, 44 deletions
diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md
index e6099eb..8fbd406 100644
--- a/landau-linux/maintenance.md
+++ b/landau-linux/maintenance.md
@@ -207,60 +207,155 @@ flowchart TB
### 📊 Полный цикл релиза
```mermaid
-flowchart TD
- A[📦 Выход нового релиза ядра Linux] --> B[🔓 Открытие RMW LANDAU Linux<br>2 недели]
- B --> C[🏷️ Создание тега v7.0.l-rc1]
- C --> D[🧪 Фаза RC-тестирования<br>1 неделя на RC]
- D --> E{Все тесты пройдены?}
- E -->|Нет| F[🔧 Исправление ошибок]
- F --> D
- E -->|Да| G[✅ Релиз v7.0.l]
- G --> H[🔄 Интеграция SUBLEVEL<br>стабильной версии ядра Linux]
- H --> I[📈 Повышение версии<br>v7.0.1.l1]
+%%{init: {
+ 'theme': 'base',
+ 'themeVariables': {
+ 'background': '#002b36',
+ 'primaryColor': '#073642',
+ 'primaryTextColor': '#839496',
+ 'primaryBorderColor': '#586e75',
+ 'lineColor': '#b58900',
+ 'secondaryColor': '#002b36',
+ 'tertiaryColor': '#073642',
+ 'edgeLabelBackground': '#002b36',
+ 'nodeBorder': '#586e75',
+ 'nodeTextColor': '#93a1a1',
+ 'fontSize': '20px',
+ 'fontFamily': 'monospace'
+ },
+ 'flowchart': {
+ 'nodeSpacing': 80,
+ 'rankSpacing': 30,
+ 'curve': 'basis',
+ 'padding': 10
+ }
+}}%%
+flowchart TB
+ subgraph Block1["Подготовка релиза (этап RC)"]
+ direction LR
+ A["📦 Новый релиз ядра Linux"] --> B
+ B(["🔓 1. RMW LANDAU Linux<br>(~2 нед.)"]) --> C
+ C["🔧 Перенос и слияние Bundle-ов"] --> D
+ D(["🔓 2. RC LANDAU Linux<br>(~1 нед. на RCx)"]) --> E
+ E["🔧 Исправление ошибок<br>(выпуск RC)"] --> F
+ F(("•••"))
+ end
+```
+
+```mermaid
+%%{init: {
+ 'theme': 'base',
+ 'themeVariables': {
+ 'background': '#002b36',
+ 'primaryColor': '#073642',
+ 'primaryTextColor': '#839496',
+ 'primaryBorderColor': '#586e75',
+ 'lineColor': '#b58900',
+ 'secondaryColor': '#002b36',
+ 'tertiaryColor': '#073642',
+ 'edgeLabelBackground': '#002b36',
+ 'nodeBorder': '#586e75',
+ 'nodeTextColor': '#93a1a1',
+ 'fontSize': '20px',
+ 'fontFamily': 'monospace'
+ },
+ 'flowchart': {
+ 'nodeSpacing': 80,
+ 'rankSpacing': 30,
+ 'curve': 'basis',
+ 'padding': 10
+ }
+}}%%
+flowchart TB
+ subgraph Block2["Релиз LANDAU Linux"]
+ direction LR
+ A(("•••")) --> B
+ B(["✅ 3. Релиз LANDAU Linux"]) --> C
+ C["🔧 Публикация изменений<br>LANDAU Linux"] --> D
+ D(["🔓 4. Поддержка LANDAU Linux"]) --> E
+ E["🔧 Исправление ошибок и<br>синхронизация SUBLEVEL"] --> F
+ F(["🐢 5. EOL LANDAU Linux"])
+ end
```
-### 5.1 🆕 Новый релиз стабильного ядра Linux
+### 5.1 🆕 Этап RMW LANDAU Linux
| Шаг | Действие |
|-----|----------|
-| 1 | Создать GIT-ветку `landau-7.0.y` от первого релиза стабильного ядра Linux |
-| 2 | Применить LANDAU-специфичные патчи |
-| 3 | Оставить оригинальные значения `VERSION`, `PATCHLEVEL`, `SUBLEVEL` |
-| 4 | Оставить `EXTRAVERSION` пустым (используется `.lX` формат) |
-| 5 | Создать тег `v7.0.l-rc1` |
+| 1 | Создать GIT-ветку `landau-next` от первого релиза стабильного ядра Linux |
+| 2 | Объявить сбор изменений LANDAU Linux от нижестоящих ментейнеров |
+| 3 | Применить изменения LANDAU Linux в `landau-next` |
+| 4 | Запросить повторную публикуцию изменений в случае сложных конфликтов |
+| 5 | Провести базовое сборочное тестирование результирующей ветки `landau-next` |
+| 6 | Обновить `EXTRAVERSION` на `l-rc1` и создать коммит "LANDAU Linux V.P.l-rc1" |
+| 7 | Отметить коммит аннотированным тегом `vV.P.l-rc1` |
+
+> ℹ️ Переменная `EXTRAVERSION` в стабильных релизах ядра Linux остаётся пустым, потому может быть использована для сохранения версий LANDAU Linux. При этом оригинальные значения `VERSION`, `PATCHLEVEL`, `SUBLEVEL` в дальнейшем сохраняются для индикации версии исходного ядра Linux.
+
+| Параметр | Значение |
+|----------|----------|
+| ⏱️ Длительность | **~2 недели** |
+| 🎯 Фокус | Сбор и базовая проверка работоспособности продуктов |
+| 🏷️ Релизы | `l-rc1` |
+| 🔧 Исправления | Незначительные проблемы разрешаются в merge-коммитах. Значительные - через повторный запрос изменения от ментейнера |
+
+### 5.2 🧪 Этап RC LANDAU Linux
-### 5.2 🧪 RC-тестирование
+| Шаг | Действие |
+|-----|----------|
+| 1 | Получить корректирующие изменений LANDAU Linux от нижестоящих ментейнеров |
+| 2 | Применить корректирующие изменения LANDAU Linux в `landau-next` |
+| 3 | Провести базовое сборочное тестирование результирующей ветки `landau-next` |
+| 4 | Cоздать коммит "LANDAU Linux V.P.l-rcX" для инкрементированной в `EXTRAVERSION` RC-версии |
+| 5 | Отметить коммит аннотированным тегом `vV.P.l-rcX` |
+| 6 | Перейти к 1. в случае выявления ошибок |
| Параметр | Значение |
|----------|----------|
-| ⏱️ Длительность | **1 неделя** на каждый RC |
-| 🏷️ Кандидаты | `rc1`, `rc2`, `rc3` ... |
+| ⏱️ Длительность | **~1 неделя** на каждый RC, но **не более 7-8 недель** |
| 🎯 Фокус | Регрессионное тестирование, стабильность, валидация фич |
-| 🔧 Исправления | Применяются непосредственно в ветку релиза |
+| 🏷️ Релизы | `l-rc1`, `l-rc2`, `l-rc3` ... |
+| 🔧 Исправления | Применяются непосредственно в ветку релиза по запросу нижестоящих ментейнеров |
-### 5.3 ✅ Финальный релиз
+> ℹ️ Стабилизация GIT-ветки `landau-next` (отсуствие выявленных ошибок в очреденом RC-цикле) символизирует окончание этапа RC и выход на релиз.
-1. Убедиться, что все критические проблемы решены
-2. Создать финальный аннотированный тег `v7.0.l`
-3. Опубликовать релиз
+### 5.3 ✅ Релиз LANDAU Linux
+
+| Шаг | Действие |
+|-----|----------|
+| 1 | Убедиться в отсуствии существенных проблем на последнем этапе RC |
+| 2 | Обновить `EXTRAVERSION` на `l` и создать коммит "LANDAU Linux V.P.l" |
+| 3 | Отметить коммит аннотированным тегом `vV.P.l` |
+| 4 | Создать GIT-ветку `landau-V.P.y` на основе последнего RC-релиза LANDAU Linux |
+
+| Параметр | Значение |
+|----------|----------|
+| ⏱️ Длительность | **более 1 недели** в последней фазе RC |
+| 🎯 Фокус | Стабилизация собранных измений и опубликование списка изменений |
+| 🏷️ Релизы | `l` |
+| 🔧 Исправления | Отсуствуют в рамках последней фазы RC |
-### 5.4 🔄 Интеграция обновлений SUBLEVEL
+### 5.4 🔄 Поддержка стабильной и LTS-версий LANDAU Linux
| Шаг | Действие | Пример |
|-----|----------|--------|
-| 1 | Определить новый `SUBLEVEL` из тега в оригинальном репозитории | `v7.0.1` |
-| 2 | Забрать изменения из GIT-ветки репозитория LTS | `git merge v7.0.1` |
-| 3 | Повысить LANDAU-версию | `l` → `l1` |
-| 4 | Обновить версию | `v7.0.1.l1` |
-| 5 | Выпустить релиз | Публикация тега |
-
----
+| 1 | Определить последний `SUBLEVEL` в исходной GIT-ветки стабильного ядра Linux | `v7.0.1` |
+| 2 | Применить изменения из стабильной GIT-ветки ядра Linux в `landau-V.P.y` | `git merge v7.0.1` |
+| 3 | Получить корректирующие изменений LANDAU Linux от нижестоящих ментейнеров | - |
+| 4 | Применить корректирующие изменения LANDAU Linux в `landau-V.P.y` при наличии | - |
+| 5 | Инкрементировать `EXTRAVERSION` на единицу и создать коммит "LANDAU Linux V.P.Y.lX" | `l` → `l1` |
+| 6 | Отметить коммит аннотированным тегом `vV.P.Y.lX` | `v7.0.1.l1` |
-## 🐢 6. Политика в отношении LTS
+| Параметр | Значение |
+|----------|----------|
+| ⏱️ Длительность | До получения статуса EOL исходной версии ядра Linux |
+| 🎯 Фокус | Исправление серьезных ошибок, выявленных в стабильном релизе LANDAU Linux |
+| 🏷️ Релизы | `l1`, `l2`, `l2`, ... |
+| 🔧 Исправления | Применяются по запросу нижестоящих ментейнеров в рамках корректирующих релизов |
-Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать LTS-версии** ядра Linux.
+Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать стабильные и LTS-версии** ядра Linux до получения статуса EOL. Однако гарантировано корректирующие изменения LANDAU Linux портируются в LANDAU Linux на основе последней LTS-версии ядра Linux. Портирование изменений в более ранние версии возможно при наличии ресурсов.
-### ⚠️ Ограничения LTS-поддержки
+⚠️ Особенности интеграции изменений в стабильную и LTS версии LANDAU Linux:
| ✅ Разрешено | ❌ Запрещено |
|--------------|--------------|
@@ -271,18 +366,25 @@ flowchart TD
> 📌 **Принцип**: Поддерживается тот Changelog, который был на момент отвода LTS основного ядра.
-### 🛑 Окончание поддержки
+### 5.5 🔄 Завершение поддержки релиза LANDAU Linux (EOL)
-| Тип ядра | Условие окончания поддержки |
-|----------|------------------------------|
-| Обычное | Исходный релиз достигает EOL |
-| LTS | Поддержка продолжается до EOL базовой версии (без добавления новых фич) |
+| Шаг | Действие |
+|-----|----------|
+| 1 | Получение статуса EOL исходной версии стабильного ядра Linux |
+| 2 | Объявление о завершении поддержки LANDAU Linux в GIT-ветке `landau-V.P.y` |
+
+| Параметр | Значение |
+|----------|----------|
+| ⏱️ Длительность | Минимум несколько корректирующих релизов стабильной версии LANDAU Linux до регистрации EOL |
+| 🎯 Фокус | Завершение поддержки релиза |
+| 🏷️ Релизы | `lZ` |
+| 🔧 Исправления | Не применяются |
-Гарантировано LANDAU Linux Owners поддерживают одно последнее LTS ядро. Про остальные LTS ядра думаем при наличии ресурсов.
+Поддержка **стабильной и LTS версий** LANDAU Linux завершается либо вместе с получением статуса EOL исходной версии ядра Linux, либо после выпуска релиза LANDAU Linux, основанного на последней LTS-версии ядра Linux.
---
-## 👤 7. Обязанности мейнтейнера
+## 👤 6. Обязанности мейнтейнера
| Область | Ответственность |
|---------|------------------|
@@ -295,7 +397,7 @@ flowchart TD
---
-## 📖 8. Пример полного цикла релиза
+## 📖 7. Пример полного цикла релиза
### Исходные данные
@@ -395,7 +497,7 @@ TODO
---
-## 📚 9. Ссылки и ресурсы
+## 📚 8. Ссылки и ресурсы
| Ресурс | URL |
|--------|-----|