diff options
Diffstat (limited to 'landau-linux/maintenance.md')
| -rw-r--r-- | landau-linux/maintenance.md | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index aaef426..1008319 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -26,15 +26,14 @@ RMW - Rebase & Merge Window - временной отрезок, в рамках Bundle - в общем случае это полный набор изменений репозитория LANDAU-Linux, который отличает его от оригинального репозитория ядра Linux (фактически это набор патч-серий). Есть общий LANDAU-Linux Bundle, а есть Bundle-ы мейнтейнеров в их форках. EOL - End-of-Life - завершение этапа поддержки выпущенной версии продукта (релиза). -### 📁 Структура репозитория +### 📁 Структура GIT-репозитория форка | Сущность | Назначение | |----------|-------------| -| `landau-next` | Ветка для следующего релиза LANDAU-Linux, куда мейтейнеры отсылают свои MR | -| `landau-V.P.y` | Текущая ветка для релиза LANDAU-Linux на базе ядра Linux с версией V.P | +| `landau-next` | GIT-ветка для следующего релиза LANDAU-Linux, куда мейтейнеры отсылают свои MR | +| `landau-V.P.y` | GIT-ветка релиза LANDAU-Linux на базе ядра Linux с версией V.P | -`landau-next` - это ветка для работы всех мейтейнеров вместе. В ней разрешаются конфликты и собираются все MR вместе для создания ветки `landau-V.P.y`. -`landau-next` - это force-push ветка, которая меняется при каждом старте нового RMW +> `landau-next` - GIT-ветка для работы всех мейтейнеров вместе. В ней разрешаются конфликты и собираются все MR вместе для создания ветки `landau-V.P.y`. При старте нового RMW её HEAD насильно переносится (_force-push_) на новый релиз ядра Linux. ### 🪞 Зеркала оригинальных репозиториев Linux @@ -76,29 +75,29 @@ v7.0.lXYZ --- -## 🌿 3. Веточная стратегия +## 🌿 3. Cтратегия организации GIT-веток -### 📌 Основные ветки +### 📌 Основные GIT-ветки | Ветка | Назначение | |-------|-------------| -| `landau-next` | Ветка для следующего релиза LANDAU-Linux, куда мейтейнеры отсылают свои MR | -| `landau-V.P.y` | Текущая ветка для релиза LANDAU-Linux на базе <u>стабильного</u> ядра Linux с версией V.P | +| `landau-next` | GIT-ветка следующего релиза LANDAU-Linux, куда мейтейнеры отсылают свои MR | +| `landau-V.P.y` | Текущая GIT-ветка для релиза LANDAU-Linux на базе <u>стабильного</u> ядра Linux с версией V.P | -### ⏳ Жизненный цикл ветки +### ⏳ Жизненный цикл GIT-ветки ```mermaid graph LR - A[Создание ветки<br>landau-7.0.y] --> B[Активная разработка<br>и выпуск релизов] + A[Создание GIT-ветки<br>landau-7.0.y] --> B[Активная разработка<br>и выпуск релизов] B --> C{Тип поддержки?} - C -->|Обычное ядро| D[EOL исходной версии →<br>ветка архивируется] + C -->|Обычное ядро| D[EOL исходной версии →<br>GIT-ветка архивируется] C -->|LTS ядро| E[Поддержка до EOL исходной версии<br>только исправления] ``` | Стадия | Действие | |--------|----------| | 🆕 Создание | В момент релиза базовой версии ядра Linux | -| 🔧 Разработка | Ветка `landau-7.0.y` | +| 🔧 Разработка | GIT-ветка `landau-7.0.y` | | 🛑 Окончание поддержки | Исходная версия достигает EOL | | 🐢 LTS | Только исправления (без новых фич) | @@ -142,7 +141,7 @@ flowchart TD | Шаг | Действие | |-----|----------| -| 1 | Создать ветку `landau-7.0.y` от первого релиза стабильного ядра Linux | +| 1 | Создать GIT-ветку `landau-7.0.y` от первого релиза стабильного ядра Linux | | 2 | Применить LANDAU-специфичные патчи | | 3 | Оставить оригинальные значения `VERSION`, `PATCHLEVEL`, `SUBLEVEL` | | 4 | Оставить `EXTRAVERSION` пустым (используется `.lX` формат) | @@ -226,15 +225,15 @@ flowchart TD | Этап | Действие | Результат | Версия сборки | |------|----------|-----------|---------------| -| 1 | Force push ветки `landau-next` на `v7.0` | `landau-next` | — | +| 1 | Force-push GIT-ветки `landau-next` на `v7.0` | `landau-next` | — | | 2 | Старт RMW | `landau-next` | `N/A` | | 3 | Создание RC1 | `v7.0.l-rc1` | `7.0.l-rc1` | | 4 | Создание RC2 | `v7.0.l-rc2` | `7.0.l-rc2` | | 5 | Создание RC3 | `v7.0.l-rc3` | `7.0.l-rc3` | -| 6 | **Финальный релиз** и **отвод ветки** | `v7.0.l`<br>`landau-7.0.y` | `7.0.l` | +| 6 | **Финальный релиз** и **создание нумерованной GIT-ветки** | `v7.0.l`<br>`landau-7.0.y` | `7.0.l` | | 7 | Выходит оригинальный релиз `7.0.1` | Слияние изменений в `landau-7.0.y` | — | | 8 | Обновление версии | `v7.0.1.l1` | `7.0.1.l1` | -| 9 | Исходная версия `7.0.x` получает статус EOL | Ветка `landau-7.0.y` архивируется | — | +| 9 | Исходная версия `7.0.x` получает статус EOL | GIT-ветка `landau-7.0.y` архивируется | — | #### 🔄 Детальное описание процесса @@ -243,12 +242,12 @@ flowchart TD - Затаскиваем патч-серии (MR) в ветку `landau-next`, на основе `v7.0` - Там же происходит решение всех конфликтов - Формируются первые общие сборки ядра -3. **Выпуск RC-версий** (например, `v7.0.l-rc1`) — RC-релизы делаются в ветке `landau-next` +3. **Выпуск RC-версий** (например, `v7.0.l-rc1`) — RC-релизы делаются в GIT-ветке `landau-next` 4. **Тестирование** — длится до 7 недель (может быть меньше): - Выпускаются RC-версии: `rc1`, `rc2`, `rc3` и т.д. 5. **Финальный релиз и отвод стабильной ветки**: - Выпускаем релиз `v7.0.l` - - Отводим стабильную ветку **`landau-7.0.y`** от финального релиза + - Создаём стабильную GIT-ветку **`landau-7.0.y`** на базе последнего релиза - Вся дальнейшая поддержка этой версии ведётся в `landau-7.0.y` 6. **Завершение цикла `landau-next`**: - Ветка `landau-next` останавливает свой рост на первом релизе `v7.0.l` @@ -277,13 +276,13 @@ flowchart TD C --> D[Выпуск RC1, RC2, RC3...<br>до 7 недель] D --> E{Тестирование пройдено?} E -->|Нет| D - E -->|Да| F[Релиз v7.0.l<br><br>⚡ Отвод ветки<br><b>landau-7.0.y</b>] + E -->|Да| F[Релиз v7.0.l<br><br>⚡ Отвод GIT-ветки<br><b>landau-7.0.y</b>] F --> G[Ожидание нового<br>стабильного релиза ядра Linux] G --> H[Выходит стабильный релиз<br>с новым SUBLEVEL,<br>например, 7.0.1] H --> I[Интеграция в landau-7.0.y:<br>v7.0.1.l1] I --> J{Исходная версия EOL?} J -->|Нет| H - J -->|Да| K[Архивация ветки<br>landau-7.0.y] + J -->|Да| K[Архивация GIT-ветки<br>landau-7.0.y] ``` #### 🏷️ Пример полной цепочки тегов |
