From dfc7b59db873812529e9699061220161da1a9b8d Mon Sep 17 00:00:00 2001 From: Nikita Shubin Date: Sun, 17 May 2026 12:24:14 +0300 Subject: scripts: Add hunspell checker See original commit by Viacheslav Bocharov https://github.com/adeepn/landau/commit/c694f9d9f41d0b5298fc822edcdfba61bceadb6c. [Splitted checker into content repo site] Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- .spellcheck-allow.txt | 89 +++++++++++++++++++++++++++++++++++++++ scripts/spellcheck.sh | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 201 insertions(+) create mode 100644 .spellcheck-allow.txt create mode 100755 scripts/spellcheck.sh diff --git a/.spellcheck-allow.txt b/.spellcheck-allow.txt new file mode 100644 index 0000000..a14a49d --- /dev/null +++ b/.spellcheck-allow.txt @@ -0,0 +1,89 @@ +AOSP +BSP +CalVer +Dependabot +LTS +Lightbox +ODM +OSDevConf +OpenHands +PEM +PRs +RGB +RSS +RULKC +SCSS +SHA +UI +YAML +backlink +canonicalise +changelog +codespell +cron +dirs +docroot +env +favicon +flavoured +frontmatter +github +hostname +hunspell +inlined +labelled +linux +mailto +md +nginx +og +params +px +repo +roadmap +rsync +rsyncing +rsyncs +rulkc +submodule +toolchain +url +апстрим +Митапы +Форк +агенда +архитектур +бэк +валидируемый +валидны +вендоров +деплой +десктопов +драфты +коммит +коммитит +коммиты +конфиге +мейнтейнеров +мерж +мержа +митапы +патчей +перебилдит +перевыпустили +перегенерировать +прогонятся +продакшн +продакшне +пуше +пушем +разрулит +ревью +репозитории +репозитория +санкционные +удвоений +форк +форка +форке +форки diff --git a/scripts/spellcheck.sh b/scripts/spellcheck.sh new file mode 100755 index 0000000..caf08f4 --- /dev/null +++ b/scripts/spellcheck.sh @@ -0,0 +1,112 @@ +#!/usr/bin/env bash +# Spell-check Markdown sources using hunspell with ru_RU + en_US dictionaries. +# Words listed in .spellcheck-allow.txt are accepted as correct. +# +# Usage: scripts/spellcheck.sh [paths...] +# Default scope when no args given: content/, docs/, README.md, AGENTS.md. + +set -euo pipefail + +ROOT=$(cd "$(dirname "$0")/.." && pwd) +ALLOW="${ROOT}/.spellcheck-allow.txt" +[ -f "${ALLOW}" ] || { echo "missing allow list: ${ALLOW}" >&2; exit 1; } + +cd "${ROOT}" + +PATHS=("$@") +if [ "${#PATHS[@]}" -eq 0 ]; then + PATHS=(content docs README.md AGENTS.md) +fi + +# Build the file list. Avoid `mapfile`/`readarray` so the script runs on +# Bash 3.2 (macOS default) as well as Linux's modern bash. +files=() +while IFS= read -r line; do + [ -n "${line}" ] && files+=("${line}") +done < <( + for p in "${PATHS[@]}"; do + [ -e "${p}" ] || continue + if [ -d "${p}" ]; then + find "${p}" -type f -name '*.md' + else + printf '%s\n' "${p}" + fi + done | sort -u +) + +if [ "${#files[@]}" -eq 0 ]; then + echo "no markdown files found" + exit 0 +fi + +# Sanity check: confirm hunspell can actually load both dictionaries. +# (On some environments — e.g. GitHub Actions ubuntu-24.04 runner image — +# Ubuntu's hunspell-ru / hunspell-en-us packages can install successfully +# but leave /usr/share/hunspell/ stripped of the .aff/.dic files. Set +# DICPATH to a directory containing ru_RU.{aff,dic} and en_US.{aff,dic} as +# a workaround.) +if echo 'архитектура' | hunspell -d ru_RU,en_US -l | grep -qx 'архитектура'; then + echo "::error::hunspell ru_RU dictionary not loaded properly" + echo "DICPATH=${DICPATH:-(unset)}" + hunspell -D 2>&1 | head -30 + exit 1 +fi +if echo 'architecture' | hunspell -d ru_RU,en_US -l | grep -qx 'architecture'; then + echo "::error::hunspell en_US dictionary not loaded properly" + echo "DICPATH=${DICPATH:-(unset)}" + hunspell -D 2>&1 | head -30 + exit 1 +fi + +# Explicit template — bare `mktemp` errors on macOS/BSD (`too few X's in template`). +unknown=$(mktemp "${TMPDIR:-/tmp}/landau-spellcheck.XXXXXX") +trap 'rm -f "${unknown}"' EXIT + +for f in "${files[@]}"; do + awk ' + BEGIN { fm = 0; code = 0 } + NR == 1 && /^---[[:space:]]*$/ { fm = 1; next } + fm && /^---[[:space:]]*$/ { fm = 0; next } + fm { next } + /^[[:space:]]*```/ { code = !code; next } + code { next } + { + gsub(/<[^>]*>/, " ") # HTML tags + gsub(/`[^`]*`/, " ") # inline code spans + gsub(/https?:\/\/[^[:space:])]+/, " ") # URLs + gsub(/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+/, " ") # emails + gsub(/[][(){}|*_~#]/, " ") # markdown punctuation + # Strip invisible Unicode chars that confuse hunspell tokenizer. + # Byte sequences below are the UTF-8 encodings of: + gsub(/\xef\xb8\x8f/, " ") # U+FE0F variation selector-16 + gsub(/\xef\xb8\x8e/, " ") # U+FE0E variation selector-15 + gsub(/\xe2\x80\x8d/, " ") # U+200D zero-width joiner + gsub(/\xe2\x80\x8c/, " ") # U+200C zero-width non-joiner + gsub(/\xe2\x80\x8b/, " ") # U+200B zero-width space + print + } + ' "$f" \ + | hunspell -d ru_RU,en_US -l \ + >> "${unknown}" +done + +# Empty unknown list = nothing to filter; happy exit. +if [ ! -s "${unknown}" ]; then + echo "Spell check OK across ${#files[@]} files." + exit 0 +fi + +# Filter accumulated unknowns against the allow list (exact, fixed strings). +sort -u "${unknown}" -o "${unknown}" +filtered=$(grep -vxFf "${ALLOW}" "${unknown}" || true) + +if [ -n "${filtered}" ]; then + echo "::error::Unknown words found in markdown sources:" + printf '%s\n' "${filtered}" | sed 's/^/ /' + echo + echo "If these are intentional (proper nouns, technical terms)," + echo "add them to .spellcheck-allow.txt. Otherwise, fix the spelling." + exit 1 +fi + +echo "Spell check OK across ${#files[@]} files." -- cgit v1.2.3 From c44b6537d06e0484e39eecacaa1593514b22f6e8 Mon Sep 17 00:00:00 2001 From: Nikita Shubin Date: Sun, 17 May 2026 12:33:10 +0300 Subject: hugo: renamed index.md to _index.md hugo requires this for some reason, otherwise refuses to render pages on same level. Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- _index.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ index.md | 67 --------------------------------------------------------------- 2 files changed, 67 insertions(+), 67 deletions(-) create mode 100644 _index.md delete mode 100644 index.md diff --git a/_index.md b/_index.md new file mode 100644 index 0000000..62df8fd --- /dev/null +++ b/_index.md @@ -0,0 +1,67 @@ +# ⚛️ LANDAU Kernel + +**⚡ Linux kernel Advanced for Next-gen Devices & Architectures ⚡** +*(Продвинутое ядро Linux для устройств и архитектур нового поколения)* + +--- + +🧪 **О проекте** + +Проект назван в честь выдающегося физика-теоретика, нобелевского лауреата **Льва Давидовича Ландау** — создателя научной школы, воспитавшей поколения ученых. Как Ландау объединял физиков вокруг новых идей, так и наш форк призван объединить российских разработчиков для создания единой кодовой базы ядра. + +--- + +## 🎯 О проекте + +**LANDAU** — это инициатива [**Russian Linux Kernel Community (RULKC)**](https://rulkc.org) по созданию единого форка, ориентированного на развитие, а не изоляцию. + +Мы видим LANDAU как **upstream-first форк**, улучшающий mainline/stable ветки и работающий по модели **AOSP Common Kernel**: + +* 🔄 **Регулярное обновление:** Следование за актуальными версиями mainline / stable (раз в 1–2 месяца). +* 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в upstream (драйверы, архитектурные доработки). +* 🖥️ **Поддержка российского железа:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ и consumer электроники, разрабатываемой в России. +* 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное тестирование. + +Проект призван решать как текущие задачи индустрии (сохранение и развитие кода, снижение фрагментации), так и готовить основу для будущего — появления собственных IP- и Core-вендоров, ODM-производителей устройств на отечественных чипах. + +--- + +## 📅 Мероприятия и обсуждения + +Мы проводим митапы и конференции (RULKC Meetup #1, OSDevConf 24/25/26), чтобы собрать мнения инженеров и компаний, определить потребности рынка, вместе спроектировать архитектуру будущего форка. + +### 🎙️ Список событий + +* **[Открытый микрофон #001: «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU»](./open_mic_27_03_2026.md)** + * **📅 Дата:** 27 марта 2026 года + * **⏰ Время:** 20:00 + * **📍 Формат:** Очно / Online + * Первая открытая дискуссия о практической инженерной мотивации создания форка, его целях и проблемах, которые он может решить. + +### 🗂️ Архив встреч + +* 📌 **(Скоро)** Материалы и резюме прошедших круглых столов будут появляться здесь. + +--- + +## 🤝 Контакты и сообщество + +### 🌐 Russian Linux Kernel Community + +Проект ⚛️ LANDAU развивается под эгидой сообщества RULKC. Присоединяйтесь к нам! + +| Канал | Ссылка | +|-------|--------| +| 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | +| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | +| 💬 **Telegram-канал** | [https://t.me/linux_kernel_O](https://t.me/linux_kernel_O) | +| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | +| 📧 **Mailing List** | [rulkc@linuxtesting.org](mailto:rulkc@linuxtesting.org) | + +| | | +|---|---| +| RULKC | **💬 Присоединяйтесь к обсуждению:**
Будьте в курсе всех новостей проекта ⚛️ LANDAU и мероприятий RULKC в нашем Telegram-канале:
[t.me/linux_kernel_O](https://t.me/linux_kernel_O) | + +
+ +📌 *Этот сайт — отправная точка для навигации по инициативе LANDAU. Все ключевые документы, анонсы и ссылки на репозитории будут добавляться по мере развития проекта.* diff --git a/index.md b/index.md deleted file mode 100644 index 62df8fd..0000000 --- a/index.md +++ /dev/null @@ -1,67 +0,0 @@ -# ⚛️ LANDAU Kernel - -**⚡ Linux kernel Advanced for Next-gen Devices & Architectures ⚡** -*(Продвинутое ядро Linux для устройств и архитектур нового поколения)* - ---- - -🧪 **О проекте** - -Проект назван в честь выдающегося физика-теоретика, нобелевского лауреата **Льва Давидовича Ландау** — создателя научной школы, воспитавшей поколения ученых. Как Ландау объединял физиков вокруг новых идей, так и наш форк призван объединить российских разработчиков для создания единой кодовой базы ядра. - ---- - -## 🎯 О проекте - -**LANDAU** — это инициатива [**Russian Linux Kernel Community (RULKC)**](https://rulkc.org) по созданию единого форка, ориентированного на развитие, а не изоляцию. - -Мы видим LANDAU как **upstream-first форк**, улучшающий mainline/stable ветки и работающий по модели **AOSP Common Kernel**: - -* 🔄 **Регулярное обновление:** Следование за актуальными версиями mainline / stable (раз в 1–2 месяца). -* 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в upstream (драйверы, архитектурные доработки). -* 🖥️ **Поддержка российского железа:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ и consumer электроники, разрабатываемой в России. -* 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное тестирование. - -Проект призван решать как текущие задачи индустрии (сохранение и развитие кода, снижение фрагментации), так и готовить основу для будущего — появления собственных IP- и Core-вендоров, ODM-производителей устройств на отечественных чипах. - ---- - -## 📅 Мероприятия и обсуждения - -Мы проводим митапы и конференции (RULKC Meetup #1, OSDevConf 24/25/26), чтобы собрать мнения инженеров и компаний, определить потребности рынка, вместе спроектировать архитектуру будущего форка. - -### 🎙️ Список событий - -* **[Открытый микрофон #001: «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU»](./open_mic_27_03_2026.md)** - * **📅 Дата:** 27 марта 2026 года - * **⏰ Время:** 20:00 - * **📍 Формат:** Очно / Online - * Первая открытая дискуссия о практической инженерной мотивации создания форка, его целях и проблемах, которые он может решить. - -### 🗂️ Архив встреч - -* 📌 **(Скоро)** Материалы и резюме прошедших круглых столов будут появляться здесь. - ---- - -## 🤝 Контакты и сообщество - -### 🌐 Russian Linux Kernel Community - -Проект ⚛️ LANDAU развивается под эгидой сообщества RULKC. Присоединяйтесь к нам! - -| Канал | Ссылка | -|-------|--------| -| 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | -| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | -| 💬 **Telegram-канал** | [https://t.me/linux_kernel_O](https://t.me/linux_kernel_O) | -| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | -| 📧 **Mailing List** | [rulkc@linuxtesting.org](mailto:rulkc@linuxtesting.org) | - -| | | -|---|---| -| RULKC | **💬 Присоединяйтесь к обсуждению:**
Будьте в курсе всех новостей проекта ⚛️ LANDAU и мероприятий RULKC в нашем Telegram-канале:
[t.me/linux_kernel_O](https://t.me/linux_kernel_O) | - -
- -📌 *Этот сайт — отправная точка для навигации по инициативе LANDAU. Все ключевые документы, анонсы и ссылки на репозитории будут добавляться по мере развития проекта.* -- cgit v1.2.3 From 3814970232e3f28361f7d94adf86bc9e802846ea Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Wed, 10 Jun 2026 15:33:18 +0300 Subject: Re-design main page from LANDAU Kernel to LANDAU umbrella project Replace the LANDAU Kernel-specific landing page with a broader LANDAU umbrella project introduction. The new page presents LANDAU as a collection of system components (Linux kernel, U-Boot, EFI, QEMU, and more) under the Russian Linux Kernel Community (RULKC). Signed-off-by: Dmitry Rokosov --- _index.md | 51 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/_index.md b/_index.md index 62df8fd..5d97028 100644 --- a/_index.md +++ b/_index.md @@ -1,28 +1,28 @@ -# ⚛️ LANDAU Kernel +# ⚛️ LANDAU -**⚡ Linux kernel Advanced for Next-gen Devices & Architectures ⚡** -*(Продвинутое ядро Linux для устройств и архитектур нового поколения)* +**Linux And Neo-Depositorium Associated Unity** --- -🧪 **О проекте** +## 🧪 Что такое LANDAU? -Проект назван в честь выдающегося физика-теоретика, нобелевского лауреата **Льва Давидовича Ландау** — создателя научной школы, воспитавшей поколения ученых. Как Ландау объединял физиков вокруг новых идей, так и наш форк призван объединить российских разработчиков для создания единой кодовой базы ядра. +**LANDAU** — это зонтичный проект, объединяющий усилия российского open-source сообщества по развитию ключевых системных компонентов. ---- - -## 🎯 О проекте +Название проекта отсылает к выдающемуся физику-теоретику, нобелевскому лауреату **Льву Давидовичу Ландау** — создателю научной школы, воспитавшей поколения ученых. Как Ландау объединял физиков вокруг новых идей, так и LANDAU призван объединить разработчиков для создания единой технологической базы. -**LANDAU** — это инициатива [**Russian Linux Kernel Community (RULKC)**](https://rulkc.org) по созданию единого форка, ориентированного на развитие, а не изоляцию. +--- -Мы видим LANDAU как **upstream-first форк**, улучшающий mainline/stable ветки и работающий по модели **AOSP Common Kernel**: +## 🎯 Что мы развиваем? -* 🔄 **Регулярное обновление:** Следование за актуальными версиями mainline / stable (раз в 1–2 месяца). -* 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в upstream (драйверы, архитектурные доработки). -* 🖥️ **Поддержка российского железа:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ и consumer электроники, разрабатываемой в России. -* 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное тестирование. +LANDAU охватывает широкий спектр open-source проектов, критически важных для системной экосистемы: -Проект призван решать как текущие задачи индустрии (сохранение и развитие кода, снижение фрагментации), так и готовить основу для будущего — появления собственных IP- и Core-вендоров, ODM-производителей устройств на отечественных чипах. +| Проект | Назначение | Статус | +|--------|------------|--------| +| 🐧 **[LANDAU Linux](./landau-linux/)** | Форк ядра LANDAU Linux | ✅ Активен | +| 🖥️ **LANDAU U-Boot** | Форк загрузчика для встраиваемых систем LANDAU u-boot | 🚧 В планах | +| 🔧 **LANDAU EFI** | Поддержка LANDAU UEFI | 🚧 В планах | +| 📦 **LANDAU QEMU** | Эмуляция и виртуализация LANDAU | 🚧 В планах | +| 🏗️ **Другие проекты** | TBD | 🚧 В планах | --- @@ -65,3 +65,24 @@
📌 *Этот сайт — отправная точка для навигации по инициативе LANDAU. Все ключевые документы, анонсы и ссылки на репозитории будут добавляться по мере развития проекта.* + +## 🤝 Сообщество + +LANDAU развивается под эгидой [**Russian Linux Kernel Community (RULKC)**](https://rulkc.org). + +| Канал | Ссылка | +|-------|--------| +| 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | +| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | +| 💬 **Telegram-канал** | [t.me/linux_kernel_O](https://t.me/linux_kernel_O) | +| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | + +
+ +| | | +|---|---| +| RULKC | **💬 Присоединяйтесь к обсуждению**
Все новости и анонсы в нашем Telegram-канале | + +--- + +📌 *Этот сайт — центральная точка входа во все проекты LANDAU.* -- cgit v1.2.3 From b4ebf89eaed3ffb294e5c1236e6ac17427097c5f Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Wed, 10 Jun 2026 15:34:44 +0300 Subject: Add LANDAU Linux project overview and maintenance documentation Introduce the LANDAU Linux subproject under the LANDAU umbrella: - Add landau-linux/index.md with project description, goals, and key documents navigation - Add landau-linux/maintenance.md with the comprehensive maintenance manifest covering: * Versioning scheme (VERSION.PATCHLEVEL.SUBLEVEL.lXYZ) * Branching strategy (landau-next, landau-V.P.y) * Release cycle and schedule * RC testing process * LTS support policy * Maintainer responsibilities * GPG signing requirements * Squash policy with Co-developed-by attribution These documents formalize the LANDAU Linux maintenance process and establish the project as an upstream-first fork tracking mainline and stable kernels. Signed-off-by: Dmitry Rokosov --- landau-linux/index.md | 27 ++++ landau-linux/maintenance.md | 325 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 352 insertions(+) create mode 100644 landau-linux/index.md create mode 100644 landau-linux/maintenance.md diff --git a/landau-linux/index.md b/landau-linux/index.md new file mode 100644 index 0000000..2891de8 --- /dev/null +++ b/landau-linux/index.md @@ -0,0 +1,27 @@ +# ⚛️ LANDAU Linux + +--- + +## 🎯 О проекте + +Мы видим LANDAU Linux как **upstream-first форк**, улучшающий mainline/stable ветки*: + +* 🔄 **Регулярное обновление:** Следование за актуальными версиями mainline/stable (раз в 1–2 месяца). +* 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в upstream (драйверы, архитектурные доработки). +* 🖥️ **Поддержка российского железа:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ и consumer электроники, разрабатываемой в России. +* 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное тестирование. + +Проект призван решать как текущие задачи индустрии (сохранение и развитие кода, снижение фрагментации), так и готовить основу для будущего — появления собственных IP- и Core-вендоров, ODM-производителей устройств на отечественных чипах. + +--- + +## 📄 Ключевые документы + +| Документ | Описание | +|----------|----------| +| 📋 **[LANDAU Linux Maintenance](./maintenance.md)** | Официальный процесс maintenance LANDAU Linux | + +--- + +[⬅️ Вернуться на главную LANDAU](../index.md) + diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md new file mode 100644 index 0000000..906c625 --- /dev/null +++ b/landau-linux/maintenance.md @@ -0,0 +1,325 @@ +title: "📋 Манифест сопровождения LANDAU" +description: "Официальный процесс maintenance LANDAU Linux — версионирование, ветки, релизы и LTS" +published: true +--- + +# 📋 Манифест процесса сопровождения LANDAU + +> **LANDAU** — форк ядра Linux с собственной схемой версионирования и предсказуемым циклом релизов. +> Этот документ описывает формальный процесс сопровождения (maintenance) проекта. + +--- + +## 🧭 1. Обзор + +### 🎯 Цель + +Обеспечить стабильный, предсказуемый и документированный процесс выпуска LANDAU-релизов с отслеживанием апстрим-ядра Linux. + +### Глоссарий +V - VERSION - major версия ядра Linux +P - PATCHLEVEL - middle версия ядра Linux +S - SUBLEVEL - minor версия ядра Linux +E - EXTRAVERSION - поле в версии ядра Linux, в которое мы встраиваем версию LANDAU (ядром Linux обычно используется для -rc релизов (testing фазы)) +RMW - Rebase & Merge Window - временной отрезок, в рамках которого мейнтейнеры LANDAU ребейзят свой changelog на новую базовую версию ядра. +Bundle - в общем случае это changelog LANDAU Linux, который отличается от upstream (группа патч серий). Есть общий LANDAU Bundle, а есть Bundle-ы мейнтейнеров в их форках. + +### 📁 Структура репозитория + +| Сущность | Назначение | +|----------|-------------| +| `landau-next` | Ветка для следующего релиза LANDAU, куда мейтейнеры отсылают свои MR | +| `landau-V.P.y` | Текущая ветка для релиза LANDAU на базе ядра с версией V.P | + +`landau-next` - это ветка для работы всех мейтейнеров вместе. В ней разрешаются конфликты и собираются все MR вместе для создания ветки `landau-V.P.y`. +`landau-next` - это force-push ветка, которая меняется при каждом старте нового RMW + +### 🪞 Апстрим-зеркала + +На сервере `https://git.rulkc.org` поддерживаются постоянно обновляемые зеркала: + +- 🔷 `torvalds/linux` — основная ветка ядра +- 🔷 `stable/linux` — стабильные релизы +- 🔷 `linux-next` — интеграционное дерево linux-next + +--- + +## 🏷️ 2. Схема версионирования + +### 📐 Формат версии LANDAU + +``` +VERSION.PATCHLEVEL.SUBLEVEL.lXYZ +``` + +| Компонент | Пример | Описание | +|-----------|--------|----------| +| `VERSION` | `7` | Мажорная версия ядра | +| `PATCHLEVEL` | `0` | Минорная версия | +| `SUBLEVEL` | `12` | Номер стабильного обновления апстрима | +| `lXYZ` | `l0`, `l1` | Сборочный номер LANDAU | + + +### 🏷️ Git-теги + +Используются **аннотированные теги** в формате: + +``` +v7.0.lXYZ +``` + +Пример: `v7.0.l0`, `v7.0.l5` + +--- + +## 🌿 3. Веточная стратегия + +### 📌 Основные ветки + +| Ветка | Назначение | +|-------|-------------| +| `landau-next` | Ветка для следующего релиза LANDAU, куда мейтейнеры отсылают свои MR | +| `landau-V.P.y` | Текущая ветка для релиза LANDAU на базе ядра с версией V.P | + +### ⏳ Жизненный цикл ветки + +```mermaid +graph LR + A[Создание ветки
landau-7.0.y] --> B[Активная разработка
и выпуск релизов] + B --> C{Тип поддержки?} + C -->|Обычное ядро| D[EOL апстрима →
ветка архивируется] + C -->|LTS ядро| E[Поддержка до EOL апстрима
только исправления] +``` + +| Стадия | Действие | +|--------|----------| +| 🆕 Создание | От тега апстрим-релиза | +| 🔧 Разработка | Ветка `landau-7.0.y` | +| 🛑 Окончание поддержки | Апстрим достигает EOL | +| 🐢 LTS | Только исправления (без новых фич) | + +--- + +## 📅 4. График релизов + +### ⏱️ Апстрим-график + +| Фаза | ⏰ Длительность | 📝 Описание | +|------|----------------|-------------| +| Разработка | 9-10 недель | Подготовка к новому релизу | +| Rebase & Merge Window | 2 недели | Приём новых Merge Requests от мейнтейнеров | +| RC-тестирование | 7-8 недель | Тестирование кандидатов на релиз | +| Финальный релиз | — | Публикация стабильного ядра | + +> ℹ️ **Важно**: Релизы LANDAU отстают от апстрима на **1 patchlevel (SUBLEVEL)**. + +--- + +## 🔄 5. Процесс выпуска LANDAU + +### 📊 Полный цикл релиза + +```mermaid +flowchart TD + A[📦 Выход нового апстрим-релиза mainline] --> B[🔓 Открытие RMW LANDAU
2 недели] + B --> C[🏷️ Создание тега v7.0.l-rc1] + C --> D[🧪 Фаза RC-тестирования
1 неделя на RC] + D --> E{Все тесты пройдены?} + E -->|Нет| F[🔧 Исправление ошибок] + F --> D + E -->|Да| G[✅ Релиз v7.0.l] + G --> H[🔄 Интеграция SUBLEVEL
апстрима] + H --> I[📈 Повышение версии
v7.0.1.l1] +``` + +### 5.1 🆕 Новый релиз mainline + +| Шаг | Действие | +|-----|----------| +| 1 | Создать ветку `landau-7.0.y` от тега апстрим-релиза | +| 2 | Применить LANDAU-специфичные патчи | +| 3 | Установить `VERSION`, `PATCHLEVEL`, `SUBLEVEL` по апстриму | +| 4 | Оставить `EXTRAVERSION` пустым (используется `.lX` формат) | +| 5 | Создать тег `v7.0.l-rc1` | + +### 5.2 🧪 RC-тестирование + +| Параметр | Значение | +|----------|----------| +| ⏱️ Длительность | **1 неделя** на каждый RC | +| 🏷️ Кандидаты | `rc1`, `rc2`, `rc3` ... | +| 🎯 Фокус | Регрессионное тестирование, стабильность, валидация фич | +| 🔧 Исправления | Применяются непосредственно в ветку релиза | + +### 5.3 ✅ Финальный релиз + +1. Убедиться, что все критические проблемы решены +2. Создать финальный аннотированный тег `v7.0.l` +3. Опубликовать релиз + +### 5.4 🔄 Интеграция апстрим-обновлений SUBLEVEL + +| Шаг | Действие | Пример | +|-----|----------|--------| +| 1 | Определить новый `SUBLEVEL` из апстрим-тега | `v7.0.1` | +| 2 | Смержить апстрим-изменения | `git merge v7.0.1` | +| 3 | Повысить LANDAU-версию | `l` → `l1` | +| 4 | Обновить версию | `v7.0.1.l1` | +| 5 | Выпустить релиз | Публикация тега | + +--- + +## 🐢 6. Политика в отношении LTS + +Мейнтейнеры LANDAU приняли решение **нативно поддерживать LTS-версии** апстрим-ядра. + +### ⚠️ Ограничения LTS-поддержки + +| ✅ Разрешено | ❌ Запрещено | +|--------------|--------------| +| Исправления безопасности | Бэкпорт новых фич | +| Критические багфиксы | Новые драйверы | +| Стабилизирующие патчи | Изменения подсистем | +| Документация | Любые не-багфиксы | + +> 📌 **Принцип**: Поддерживается тот Changelog, который был на момент отвода LTS основного ядра. + +### 🛑 Окончание поддержки + +| Тип ядра | Условие окончания поддержки | +|----------|------------------------------| +| Обычное | Апстрим достигает EOL | +| LTS | Поддержка продолжается до EOL апстрима (без добавления новых фич) | + +Гарантировано LANDAU Owners поддерживают одно последнее LTS ядро. Про остальные LTS ядра думаем при наличии ресурсов. + +--- + +## 👤 7. Обязанности мейнтейнера + +| Область | Ответственность | +|---------|------------------| +| 👁️ Мониторинг апстрима | Отслеживание новых релизов и RC-циклов | +| 📦 Применение патчей | Интеграция LANDAU-специфичных изменений | +| 🏷️ Управление тегами | Создание аннотированных тегов в формате `vX.Y.lZ` | +| 🧪 Координация RC | Организация тестирования кандидатов на релиз | +| 🔒 Безопасность | Мониторинг и применение апстрим-исправлений безопасности | +| 📝 Документирование | Ведение changelog для каждого LANDAU-релиза | + +--- + +## 📖 8. Пример полного цикла релиза + +### Исходные данные + +Апстрим выпускает ядро **`6.12.0`** + +### 📍 Пошаговый пример + +#### 👁️ Схема + +| Этап | Действие | Результат | Версия сборки | +|------|----------|-----------|---------------| +| 1 | Force push ветки `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`
`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 | Апстрим объявляет EOL для `7.0` | Ветка `landau-7.0.y` архивируется | — | + +#### 🔄 Детальное описание процесса + +1. **Выход нового стабильного релиза upstream kernel** (например, `v7.0` по результатам 7 недель стабилизации) +2. **Открытие RMW LANDAU** — берём 2 недели на свой релиз LANDAU: + - Затаскиваем патч-серии (MR) в ветку `landau-next`, на основе `v7.0` + - Там же происходит решение всех конфликтов + - Формируются первые общие сборки ядра +3. **Выпуск RC-версий** (например, `v7.0.l-rc1`) — RC-релизы делаются в ветке `landau-next` +4. **Тестирование** — длится до 7 недель (может быть меньше): + - Выпускаются RC-версии: `rc1`, `rc2`, `rc3` и т.д. +5. **Финальный релиз и отвод стабильной ветки**: + - Выпускаем релиз `v7.0.l` + - Отводим стабильную ветку **`landau-7.0.y`** от финального релиза + - Вся дальнейшая поддержка этой версии ведётся в `landau-7.0.y` +6. **Завершение цикла `landau-next`**: + - Ветка `landau-next` останавливает свой рост на первом релизе `v7.0.l` + - Переключается на шаг 1, когда в upstream выходит новый стабильный релиз (например, `v7.1`) +7. **Интеграция SUBLEVEL из upstream**: + - Если в upstream меняется SUBLEVEL (например, `7.0.1`), мы интегрируем данный релиз в **`landau-7.0.y`** + - Повышаем свою версию: `v7.0.1.l1` + - То есть повышается версия LANDAU, а SUBLEVEL становится равным upstream SUBLEVEL +8. **Развитие стабильной версии**: + - Стабильная версия LANDAU `v7.0` ведётся в ветке `landau-7.0.y` +9. **Окончание поддержки релиза**: + - Поддержка релиза LANDAU-ветки заканчивается, когда версия основного ядра больше не тегируется как stable на kernel.org (например, `7.0` достигла EOL) +10. **LTS-поддержка**: + - Если основное ядро уходит в LTS, LANDAU поддерживает LTS до конца + - Приносятся только фиксы LANDAU (без новых фич) и новые SUBLEVEL +11. **Гарантии поддержки**: + - LANDAU Owners гарантированно поддерживают **одно последнее LTS ядро** + - Про поддержку более старых LTS ядер думаем при наличии ресурсов + +#### 📊 Визуализация цикла + +```mermaid +flowchart TD + A[Выход нового
stable релиза upstream
например, v7.0] --> B[Открытие RMW LANDAU
2 недели] + B --> C[Приём MR в landau-next
на основе v7.0] + C --> D[Выпуск RC1, RC2, RC3...
до 7 недель] + D --> E{Тестирование пройдено?} + E -->|Нет| D + E -->|Да| F[Релиз v7.0.l

⚡ Отвод ветки
landau-7.0.y] + F --> G[Ожидание нового
stable upstream] + G --> H[Апстрим выпускает
новый SUBLEVEL,
например, 7.0.1] + H --> I[Интеграция в landau-7.0.y:
v7.0.1.l1] + I --> J{Апстрим EOL?} + J -->|Нет| H + J -->|Да| K[Архивация ветки
landau-7.0.y] +``` + +#### 🏷️ Пример полной цепочки тегов + +Для ядра `7.0.x` в LANDAU: + +``` +v7.0.l-rc1 → v7.0.l-rc2 → v7.0.l-rc3 → v7.0.l + ↓ + отвод landau-7.0.y + ↓ + v7.0.1.l1 → v7.0.2.l2 → ... +``` + +--- + +### Требования к патчам + +TODO + +### Pull requests + +TODO + +### Maintainers B4 usage + +TODO + +--- + +## 📚 9. Ссылки и ресурсы + +| Ресурс | URL | +|--------|-----| +| 📦 Репозиторий LANDAU | `https://git.rulkc.org/pub/scm/landau` | +| 🪞 Зеркала апстрима | `https://git.rulkc.org` | +| 🔗 Апстрим-ядро | `https://kernel.org` | + +--- + +> 📌 **Актуальная версия документа**: 1.0 +> ✍️ **Поддерживается**: LANDAU Maintainers +> 📅 **Последнее обновление**: 2026 + +[⬅️ Вернуться на страницу LANDAU Linux](./index.md) -- cgit v1.2.3 From 8cce6f68025b8c3331b3947e2a3a443f5d4cdc07 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Sun, 5 Jul 2026 23:35:52 +0300 Subject: landau-linux: maintenance: Use LANDAU Linux project name The document describes the LANDAU Linux fork maintenance strategy. Using just LANDAU sounds vague where the actual fork is referenced since it might be interpreted as for any LANDAU fork. So let's explicitly use the full fork-name in the document to avoid such ambiguity. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 54 ++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 906c625..4a43481 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -1,11 +1,11 @@ -title: "📋 Манифест сопровождения LANDAU" -description: "Официальный процесс maintenance LANDAU Linux — версионирование, ветки, релизы и LTS" +title: "📋 Манифест сопровождения ядра LANDAU Linux" +description: "Официальный процесс maintenance ядра LANDAU Linux — версионирование, ветки, релизы и LTS" published: true --- -# 📋 Манифест процесса сопровождения LANDAU +# 📋 Манифест процесса сопровождения ядра LANDAU Linux -> **LANDAU** — форк ядра Linux с собственной схемой версионирования и предсказуемым циклом релизов. +> **LANDAU Linux** — форк ядра Linux с собственной схемой версионирования и предсказуемым циклом релизов. > Этот документ описывает формальный процесс сопровождения (maintenance) проекта. --- @@ -14,22 +14,22 @@ published: true ### 🎯 Цель -Обеспечить стабильный, предсказуемый и документированный процесс выпуска LANDAU-релизов с отслеживанием апстрим-ядра Linux. +Обеспечить стабильный, предсказуемый и документированный процесс выпуска релизов LANDAU Linux с отслеживанием апстрим-ядра Linux. ### Глоссарий V - VERSION - major версия ядра Linux P - PATCHLEVEL - middle версия ядра Linux S - SUBLEVEL - minor версия ядра Linux -E - EXTRAVERSION - поле в версии ядра Linux, в которое мы встраиваем версию LANDAU (ядром Linux обычно используется для -rc релизов (testing фазы)) +E - EXTRAVERSION - поле в версии ядра Linux, в которое встраивается версия ядра LANDAU Linux (ядром Linux обычно используется для -rc релизов (testing фазы)) RMW - Rebase & Merge Window - временной отрезок, в рамках которого мейнтейнеры LANDAU ребейзят свой changelog на новую базовую версию ядра. -Bundle - в общем случае это changelog LANDAU Linux, который отличается от upstream (группа патч серий). Есть общий LANDAU Bundle, а есть Bundle-ы мейнтейнеров в их форках. +Bundle - в общем случае это changelog LANDAU Linux, который отличается от upstream (группа патч серий). Есть общий LANDAU Linux Bundle, а есть Bundle-ы мейнтейнеров в их форках. ### 📁 Структура репозитория | Сущность | Назначение | |----------|-------------| -| `landau-next` | Ветка для следующего релиза LANDAU, куда мейтейнеры отсылают свои MR | -| `landau-V.P.y` | Текущая ветка для релиза LANDAU на базе ядра с версией V.P | +| `landau-next` | Ветка для следующего релиза LANDAU Linux, куда мейтейнеры отсылают свои MR | +| `landau-V.P.y` | Текущая ветка для релиза LANDAU Linux на базе ядра Linux с версией V.P | `landau-next` - это ветка для работы всех мейтейнеров вместе. В ней разрешаются конфликты и собираются все MR вместе для создания ветки `landau-V.P.y`. `landau-next` - это force-push ветка, которая меняется при каждом старте нового RMW @@ -38,15 +38,15 @@ Bundle - в общем случае это changelog LANDAU Linux, которы На сервере `https://git.rulkc.org` поддерживаются постоянно обновляемые зеркала: -- 🔷 `torvalds/linux` — основная ветка ядра -- 🔷 `stable/linux` — стабильные релизы +- 🔷 `torvalds/linux` — основная ветка ядра Linux +- 🔷 `stable/linux` — стабильные релизы ядра Linux - 🔷 `linux-next` — интеграционное дерево linux-next --- ## 🏷️ 2. Схема версионирования -### 📐 Формат версии LANDAU +### 📐 Формат версии LANDAU Linux ``` VERSION.PATCHLEVEL.SUBLEVEL.lXYZ @@ -57,7 +57,7 @@ VERSION.PATCHLEVEL.SUBLEVEL.lXYZ | `VERSION` | `7` | Мажорная версия ядра | | `PATCHLEVEL` | `0` | Минорная версия | | `SUBLEVEL` | `12` | Номер стабильного обновления апстрима | -| `lXYZ` | `l0`, `l1` | Сборочный номер LANDAU | +| `lXYZ` | `l0`, `l1` | Сборочный номер LANDAU Linux | ### 🏷️ Git-теги @@ -78,8 +78,8 @@ v7.0.lXYZ | Ветка | Назначение | |-------|-------------| -| `landau-next` | Ветка для следующего релиза LANDAU, куда мейтейнеры отсылают свои MR | -| `landau-V.P.y` | Текущая ветка для релиза LANDAU на базе ядра с версией V.P | +| `landau-next` | Ветка для следующего релиза LANDAU Linux, куда мейтейнеры отсылают свои MR | +| `landau-V.P.y` | Текущая ветка для релиза LANDAU Linux на базе стабильного ядра Linux с версией V.P | ### ⏳ Жизненный цикл ветки @@ -111,17 +111,17 @@ graph LR | RC-тестирование | 7-8 недель | Тестирование кандидатов на релиз | | Финальный релиз | — | Публикация стабильного ядра | -> ℹ️ **Важно**: Релизы LANDAU отстают от апстрима на **1 patchlevel (SUBLEVEL)**. +> ℹ️ **Важно**: Релизы LANDAU Linux отстают от апстрима на **1 patchlevel (SUBLEVEL)**. --- -## 🔄 5. Процесс выпуска LANDAU +## 🔄 5. Процесс выпуска LANDAU Linux ### 📊 Полный цикл релиза ```mermaid flowchart TD - A[📦 Выход нового апстрим-релиза mainline] --> B[🔓 Открытие RMW LANDAU
2 недели] + A[📦 Выход нового апстрим-релиза mainline] --> B[🔓 Открытие RMW LANDAU Linux
2 недели] B --> C[🏷️ Создание тега v7.0.l-rc1] C --> D[🧪 Фаза RC-тестирования
1 неделя на RC] D --> E{Все тесты пройдены?} @@ -171,7 +171,7 @@ flowchart TD ## 🐢 6. Политика в отношении LTS -Мейнтейнеры LANDAU приняли решение **нативно поддерживать LTS-версии** апстрим-ядра. +Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать LTS-версии** апстрим-ядра. ### ⚠️ Ограничения LTS-поддержки @@ -191,7 +191,7 @@ flowchart TD | Обычное | Апстрим достигает EOL | | LTS | Поддержка продолжается до EOL апстрима (без добавления новых фич) | -Гарантировано LANDAU Owners поддерживают одно последнее LTS ядро. Про остальные LTS ядра думаем при наличии ресурсов. +Гарантировано LANDAU Linux Owners поддерживают одно последнее LTS ядро. Про остальные LTS ядра думаем при наличии ресурсов. --- @@ -200,7 +200,7 @@ flowchart TD | Область | Ответственность | |---------|------------------| | 👁️ Мониторинг апстрима | Отслеживание новых релизов и RC-циклов | -| 📦 Применение патчей | Интеграция LANDAU-специфичных изменений | +| 📦 Применение патчей | Интеграция LANDAU-специфичных изменений ядра | | 🏷️ Управление тегами | Создание аннотированных тегов в формате `vX.Y.lZ` | | 🧪 Координация RC | Организация тестирования кандидатов на релиз | | 🔒 Безопасность | Мониторинг и применение апстрим-исправлений безопасности | @@ -233,7 +233,7 @@ flowchart TD #### 🔄 Детальное описание процесса 1. **Выход нового стабильного релиза upstream kernel** (например, `v7.0` по результатам 7 недель стабилизации) -2. **Открытие RMW LANDAU** — берём 2 недели на свой релиз LANDAU: +2. **Открытие RMW LANDAU Linux** — берём 2 недели на свой релиз LANDAU Linux: - Затаскиваем патч-серии (MR) в ветку `landau-next`, на основе `v7.0` - Там же происходит решение всех конфликтов - Формируются первые общие сборки ядра @@ -250,16 +250,16 @@ flowchart TD 7. **Интеграция SUBLEVEL из upstream**: - Если в upstream меняется SUBLEVEL (например, `7.0.1`), мы интегрируем данный релиз в **`landau-7.0.y`** - Повышаем свою версию: `v7.0.1.l1` - - То есть повышается версия LANDAU, а SUBLEVEL становится равным upstream SUBLEVEL + - То есть повышается версия LANDAU Linux, а SUBLEVEL становится равным upstream SUBLEVEL 8. **Развитие стабильной версии**: - - Стабильная версия LANDAU `v7.0` ведётся в ветке `landau-7.0.y` + - Стабильная версия LANDAU Linux `v7.0` ведётся в ветке `landau-7.0.y` 9. **Окончание поддержки релиза**: - - Поддержка релиза LANDAU-ветки заканчивается, когда версия основного ядра больше не тегируется как stable на kernel.org (например, `7.0` достигла EOL) + - Поддержка релиза ветки LANDAU Linux заканчивается, когда версия основного ядра больше не тегируется как stable на kernel.org (например, `7.0` достигла EOL) 10. **LTS-поддержка**: - Если основное ядро уходит в LTS, LANDAU поддерживает LTS до конца - - Приносятся только фиксы LANDAU (без новых фич) и новые SUBLEVEL + - Приносятся только фиксы LANDAU Linux (без новых фич) и новые SUBLEVEL 11. **Гарантии поддержки**: - - LANDAU Owners гарантированно поддерживают **одно последнее LTS ядро** + - LANDAU Linux Owners гарантированно поддерживают **одно последнее LTS ядро** - Про поддержку более старых LTS ядер думаем при наличии ресурсов #### 📊 Визуализация цикла -- cgit v1.2.3 From 7ea2515837f57bb2fd30fac823f5e2d9cb9a28cb Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Sun, 5 Jul 2026 23:50:35 +0300 Subject: landau-linux: maintenance: Cleanup the description text First of all the English work "maintenance" in the middle of the Russian text looks inappropriate. Secondly the process described in the document is already "official" by itself since it's presented in the repo description. Finally let's collect the definitive nouns at the tail of the sentence to summarize the description. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 4a43481..ef034e8 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -1,5 +1,5 @@ title: "📋 Манифест сопровождения ядра LANDAU Linux" -description: "Официальный процесс maintenance ядра LANDAU Linux — версионирование, ветки, релизы и LTS" +description: "Описание процесса разработки ядра LANDAU Linux — ветки, релизы, версионирование и сопровождение" published: true --- -- cgit v1.2.3 From 1f0f96e5bcf77c800eea0939abaf9446ab540dba Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 6 Jul 2026 11:06:09 +0300 Subject: landau-linux: maintenance: Cleanup the glossary text First of all the English work "changelog" in the middle of the Russian text looks inappropriate. It's just a literal "set of changes". Secondly "upstream" is a literal "original repository" or just origin. Yes, in general the "Bundle" name could be converted to something more appropriate but there is no such need at this stage seeing it isn't utilized in the text below. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index ef034e8..beefcac 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -21,8 +21,8 @@ V - VERSION - major версия ядра Linux P - PATCHLEVEL - middle версия ядра Linux S - SUBLEVEL - minor версия ядра Linux E - EXTRAVERSION - поле в версии ядра Linux, в которое встраивается версия ядра LANDAU Linux (ядром Linux обычно используется для -rc релизов (testing фазы)) -RMW - Rebase & Merge Window - временной отрезок, в рамках которого мейнтейнеры LANDAU ребейзят свой changelog на новую базовую версию ядра. -Bundle - в общем случае это changelog LANDAU Linux, который отличается от upstream (группа патч серий). Есть общий LANDAU Linux Bundle, а есть Bundle-ы мейнтейнеров в их форках. +RMW - Rebase & Merge Window - временной отрезок, в рамках которого мейнтейнеры LANDAU переносят подопечный им набор изменений на новую базовую версию ядра. +Bundle - в общем случае это полный набор изменений репозитория LANDAU Linux, который отличает его от оригинального репозитория ядра Linux (фактически это набор патч-серий). Есть общий LANDAU Linux Bundle, а есть Bundle-ы мейнтейнеров в их форках. ### 📁 Структура репозитория -- cgit v1.2.3 From 4f3b0cc07d5a9ca216b84875c278cd263f0b1afe Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 6 Jul 2026 11:43:27 +0300 Subject: landau-linux: maintenance: Drop 'upstream/mainline' English-ism from text It's just "original repo", "source repo", "origin", etc. Use these more correct alternatives instead or just drop if it's appropriate. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 80 +++++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index beefcac..d407793 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -14,7 +14,7 @@ published: true ### 🎯 Цель -Обеспечить стабильный, предсказуемый и документированный процесс выпуска релизов LANDAU Linux с отслеживанием апстрим-ядра Linux. +Обеспечить стабильный, предсказуемый и документированный процесс выпуска релизов LANDAU Linux с отслеживанием оригинального репозитория ядра Linux. ### Глоссарий V - VERSION - major версия ядра Linux @@ -34,7 +34,7 @@ Bundle - в общем случае это полный набор измене `landau-next` - это ветка для работы всех мейтейнеров вместе. В ней разрешаются конфликты и собираются все MR вместе для создания ветки `landau-V.P.y`. `landau-next` - это force-push ветка, которая меняется при каждом старте нового RMW -### 🪞 Апстрим-зеркала +### 🪞 Зеркала оригинальных репозиториев Linux На сервере `https://git.rulkc.org` поддерживаются постоянно обновляемые зеркала: @@ -55,8 +55,8 @@ VERSION.PATCHLEVEL.SUBLEVEL.lXYZ | Компонент | Пример | Описание | |-----------|--------|----------| | `VERSION` | `7` | Мажорная версия ядра | -| `PATCHLEVEL` | `0` | Минорная версия | -| `SUBLEVEL` | `12` | Номер стабильного обновления апстрима | +| `PATCHLEVEL` | `0` | Минорная версия ядра | +| `SUBLEVEL` | `12` | Номер стабильного обновления ядра | | `lXYZ` | `l0`, `l1` | Сборочный номер LANDAU Linux | @@ -87,22 +87,24 @@ v7.0.lXYZ graph LR A[Создание ветки
landau-7.0.y] --> B[Активная разработка
и выпуск релизов] B --> C{Тип поддержки?} - C -->|Обычное ядро| D[EOL апстрима →
ветка архивируется] - C -->|LTS ядро| E[Поддержка до EOL апстрима
только исправления] + C -->|Обычное ядро| D[EOL исходной версии →
ветка архивируется] + C -->|LTS ядро| E[Поддержка до EOL исходной версии
только исправления] ``` | Стадия | Действие | |--------|----------| -| 🆕 Создание | От тега апстрим-релиза | +| 🆕 Создание | В момент релиза базовой версии ядра Linux | | 🔧 Разработка | Ветка `landau-7.0.y` | -| 🛑 Окончание поддержки | Апстрим достигает EOL | +| 🛑 Окончание поддержки | Исходная версия достигает EOL | | 🐢 LTS | Только исправления (без новых фич) | --- ## 📅 4. График релизов -### ⏱️ Апстрим-график +### ⏱️ Цикл релизов ядра Linux + +В оригинальном репозитории ядра Linux поддерживается следующий цикл разработки: | Фаза | ⏰ Длительность | 📝 Описание | |------|----------------|-------------| @@ -111,7 +113,7 @@ graph LR | RC-тестирование | 7-8 недель | Тестирование кандидатов на релиз | | Финальный релиз | — | Публикация стабильного ядра | -> ℹ️ **Важно**: Релизы LANDAU Linux отстают от апстрима на **1 patchlevel (SUBLEVEL)**. +> ℹ️ **Важно**: Релизы LANDAU Linux отстают от последней версии ядра Linux на **1 patchlevel (SUBLEVEL)**. --- @@ -121,24 +123,24 @@ graph LR ```mermaid flowchart TD - A[📦 Выход нового апстрим-релиза mainline] --> B[🔓 Открытие RMW LANDAU Linux
2 недели] + A[📦 Выход нового релиза ядра Linux] --> B[🔓 Открытие RMW LANDAU Linux
2 недели] B --> C[🏷️ Создание тега v7.0.l-rc1] C --> D[🧪 Фаза RC-тестирования
1 неделя на RC] D --> E{Все тесты пройдены?} E -->|Нет| F[🔧 Исправление ошибок] F --> D E -->|Да| G[✅ Релиз v7.0.l] - G --> H[🔄 Интеграция SUBLEVEL
апстрима] + G --> H[🔄 Интеграция SUBLEVEL
стабильной версии ядра Linux] H --> I[📈 Повышение версии
v7.0.1.l1] ``` -### 5.1 🆕 Новый релиз mainline +### 5.1 🆕 Новый релиз стабильного ядра Linux | Шаг | Действие | |-----|----------| -| 1 | Создать ветку `landau-7.0.y` от тега апстрим-релиза | +| 1 | Создать ветку `landau-7.0.y` от первого релиза стабильного ядра Linux | | 2 | Применить LANDAU-специфичные патчи | -| 3 | Установить `VERSION`, `PATCHLEVEL`, `SUBLEVEL` по апстриму | +| 3 | Оставить оригинальные значения `VERSION`, `PATCHLEVEL`, `SUBLEVEL` | | 4 | Оставить `EXTRAVERSION` пустым (используется `.lX` формат) | | 5 | Создать тег `v7.0.l-rc1` | @@ -157,12 +159,12 @@ flowchart TD 2. Создать финальный аннотированный тег `v7.0.l` 3. Опубликовать релиз -### 5.4 🔄 Интеграция апстрим-обновлений SUBLEVEL +### 5.4 🔄 Интеграция обновлений SUBLEVEL | Шаг | Действие | Пример | |-----|----------|--------| -| 1 | Определить новый `SUBLEVEL` из апстрим-тега | `v7.0.1` | -| 2 | Смержить апстрим-изменения | `git merge v7.0.1` | +| 1 | Определить новый `SUBLEVEL` из тега в оригинальном репозитории | `v7.0.1` | +| 2 | Забрать изменения из GIT-ветки репозитория LTS | `git merge v7.0.1` | | 3 | Повысить LANDAU-версию | `l` → `l1` | | 4 | Обновить версию | `v7.0.1.l1` | | 5 | Выпустить релиз | Публикация тега | @@ -171,7 +173,7 @@ flowchart TD ## 🐢 6. Политика в отношении LTS -Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать LTS-версии** апстрим-ядра. +Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать LTS-версии** ядра Linux. ### ⚠️ Ограничения LTS-поддержки @@ -188,8 +190,8 @@ flowchart TD | Тип ядра | Условие окончания поддержки | |----------|------------------------------| -| Обычное | Апстрим достигает EOL | -| LTS | Поддержка продолжается до EOL апстрима (без добавления новых фич) | +| Обычное | Исходный релиз достигает EOL | +| LTS | Поддержка продолжается до EOL базовой версии (без добавления новых фич) | Гарантировано LANDAU Linux Owners поддерживают одно последнее LTS ядро. Про остальные LTS ядра думаем при наличии ресурсов. @@ -199,11 +201,11 @@ flowchart TD | Область | Ответственность | |---------|------------------| -| 👁️ Мониторинг апстрима | Отслеживание новых релизов и RC-циклов | +| 👁️ Мониторинг исходного репозитория | Отслеживание новых релизов и RC-циклов | | 📦 Применение патчей | Интеграция LANDAU-специфичных изменений ядра | | 🏷️ Управление тегами | Создание аннотированных тегов в формате `vX.Y.lZ` | | 🧪 Координация RC | Организация тестирования кандидатов на релиз | -| 🔒 Безопасность | Мониторинг и применение апстрим-исправлений безопасности | +| 🔒 Безопасность | Мониторинг и применение исправлений безопасности | | 📝 Документирование | Ведение changelog для каждого LANDAU-релиза | --- @@ -212,7 +214,7 @@ flowchart TD ### Исходные данные -Апстрим выпускает ядро **`6.12.0`** +Выпущено ядро Linux версии **`6.12.0`** ### 📍 Пошаговый пример @@ -226,13 +228,13 @@ flowchart TD | 4 | Создание RC2 | `v7.0.l-rc2` | `7.0.l-rc2` | | 5 | Создание RC3 | `v7.0.l-rc3` | `7.0.l-rc3` | | 6 | **Финальный релиз** и **отвод ветки** | `v7.0.l`
`landau-7.0.y` | `7.0.l` | -| 7 | Апстрим выпускает `7.0.1` | Слияние изменений в `landau-7.0.y` | — | +| 7 | Выходит оригинальный релиз `7.0.1` | Слияние изменений в `landau-7.0.y` | — | | 8 | Обновление версии | `v7.0.1.l1` | `7.0.1.l1` | -| 9 | Апстрим объявляет EOL для `7.0` | Ветка `landau-7.0.y` архивируется | — | +| 9 | Исходная версия `7.0.x` получает статус EOL | Ветка `landau-7.0.y` архивируется | — | #### 🔄 Детальное описание процесса -1. **Выход нового стабильного релиза upstream kernel** (например, `v7.0` по результатам 7 недель стабилизации) +1. **Выход нового стабильного релиза ядра Linux** (например, `v7.0` по результатам 7 недель стабилизации) 2. **Открытие RMW LANDAU Linux** — берём 2 недели на свой релиз LANDAU Linux: - Затаскиваем патч-серии (MR) в ветку `landau-next`, на основе `v7.0` - Там же происходит решение всех конфликтов @@ -246,15 +248,15 @@ flowchart TD - Вся дальнейшая поддержка этой версии ведётся в `landau-7.0.y` 6. **Завершение цикла `landau-next`**: - Ветка `landau-next` останавливает свой рост на первом релизе `v7.0.l` - - Переключается на шаг 1, когда в upstream выходит новый стабильный релиз (например, `v7.1`) -7. **Интеграция SUBLEVEL из upstream**: - - Если в upstream меняется SUBLEVEL (например, `7.0.1`), мы интегрируем данный релиз в **`landau-7.0.y`** + - Переключается на шаг 1, когда в исходном репозитории Linux выходит новый стабильный релиз (например, `v7.1`) +7. **Интеграция новых изменений SUBLEVEL из исходной стабильной версии ядра Linux**: + - Если в исходном репозитории меняется SUBLEVEL (например, `7.0.1`), мы интегрируем данный релиз в **`landau-7.0.y`** - Повышаем свою версию: `v7.0.1.l1` - - То есть повышается версия LANDAU Linux, а SUBLEVEL становится равным upstream SUBLEVEL + - То есть повышается версия LANDAU Linux, а SUBLEVEL получает новое значение согласно интегрированным изменениям 8. **Развитие стабильной версии**: - Стабильная версия LANDAU Linux `v7.0` ведётся в ветке `landau-7.0.y` 9. **Окончание поддержки релиза**: - - Поддержка релиза ветки LANDAU Linux заканчивается, когда версия основного ядра больше не тегируется как stable на kernel.org (например, `7.0` достигла EOL) + - Поддержка релиза ветки LANDAU Linux заканчивается, когда версия основного ядра больше не имеет статус стабильной на kernel.org (например, `7.0` достигла статуса EOL) 10. **LTS-поддержка**: - Если основное ядро уходит в LTS, LANDAU поддерживает LTS до конца - Приносятся только фиксы LANDAU Linux (без новых фич) и новые SUBLEVEL @@ -266,16 +268,16 @@ flowchart TD ```mermaid flowchart TD - A[Выход нового
stable релиза upstream
например, v7.0] --> B[Открытие RMW LANDAU
2 недели] + A[Выход нового
стабильного релиза ядра Linux
например, v7.0] --> B[Открытие RMW LANDAU
2 недели] B --> C[Приём MR в landau-next
на основе v7.0] C --> D[Выпуск RC1, RC2, RC3...
до 7 недель] D --> E{Тестирование пройдено?} E -->|Нет| D E -->|Да| F[Релиз v7.0.l

⚡ Отвод ветки
landau-7.0.y] - F --> G[Ожидание нового
stable upstream] - G --> H[Апстрим выпускает
новый SUBLEVEL,
например, 7.0.1] + F --> G[Ожидание нового
стабильного релиза ядра Linux] + G --> H[Выходит стабильный релиз
с новым SUBLEVEL,
например, 7.0.1] H --> I[Интеграция в landau-7.0.y:
v7.0.1.l1] - I --> J{Апстрим EOL?} + I --> J{Исходная версия EOL?} J -->|Нет| H J -->|Да| K[Архивация ветки
landau-7.0.y] ``` @@ -312,9 +314,9 @@ TODO | Ресурс | URL | |--------|-----| -| 📦 Репозиторий LANDAU | `https://git.rulkc.org/pub/scm/landau` | -| 🪞 Зеркала апстрима | `https://git.rulkc.org` | -| 🔗 Апстрим-ядро | `https://kernel.org` | +| 📦 Репозитории LANDAU | `https://git.rulkc.org/pub/scm/landau` | +| 🪞 Зеркала репозиториев Linux| `https://git.rulkc.org` | +| 🔗 Оригинальные репозитории Linux | `https://kernel.org` | --- -- cgit v1.2.3 From c09560ac0f93c6ed32c2ea33c43a828f5df974dd Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 6 Jul 2026 11:21:19 +0300 Subject: landau-linux: maintenance: Add missing MR to glossary Since the text below uses the MR abbreviation let's add it to the glossary chapter. Basically it just means a standard git-like merge request. But in case of the LANDAU-Linux notation (and the upstream Linux repo too) it can be normally sent by an authorized person to be accepted. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index d407793..97d17bc 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -21,6 +21,7 @@ V - VERSION - major версия ядра Linux P - PATCHLEVEL - middle версия ядра Linux S - SUBLEVEL - minor версия ядра Linux E - EXTRAVERSION - поле в версии ядра Linux, в которое встраивается версия ядра LANDAU Linux (ядром Linux обычно используется для -rc релизов (testing фазы)) +MR - Merge Request - запрос на слияние одной GIT-ветки с другой. Обычно оформляется в виде ссылки на GIT-репозиторий и ветку авторизованного ментейнера (верифицированного источника) в сопровождение с формальным описанием содержимого. Информация из последнего может быть использована для формирования текста merge-коммита в GIT. RMW - Rebase & Merge Window - временной отрезок, в рамках которого мейнтейнеры LANDAU переносят подопечный им набор изменений на новую базовую версию ядра. Bundle - в общем случае это полный набор изменений репозитория LANDAU Linux, который отличает его от оригинального репозитория ядра Linux (фактически это набор патч-серий). Есть общий LANDAU Linux Bundle, а есть Bundle-ы мейнтейнеров в их форках. -- cgit v1.2.3 From 5e357007d538b55d974200d264ddce0fa230bfff Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 6 Jul 2026 12:21:29 +0300 Subject: landau-linux: maintenance: Add missing EOL to glossary Since the text below uses the EOL abbreviation let's add it to the glossary chapter. EOL means End-Of-Life - a final stage of the product life-cycle indicating the end of the product support by means of the produce owner. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 97d17bc..c7938e9 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -24,6 +24,7 @@ E - EXTRAVERSION - поле в версии ядра Linux, в которое в MR - Merge Request - запрос на слияние одной GIT-ветки с другой. Обычно оформляется в виде ссылки на GIT-репозиторий и ветку авторизованного ментейнера (верифицированного источника) в сопровождение с формальным описанием содержимого. Информация из последнего может быть использована для формирования текста merge-коммита в GIT. RMW - Rebase & Merge Window - временной отрезок, в рамках которого мейнтейнеры LANDAU переносят подопечный им набор изменений на новую базовую версию ядра. Bundle - в общем случае это полный набор изменений репозитория LANDAU Linux, который отличает его от оригинального репозитория ядра Linux (фактически это набор патч-серий). Есть общий LANDAU Linux Bundle, а есть Bundle-ы мейнтейнеров в их форках. +EOL - End-of-Life - завершение этапа поддержки выпущенной версии продукта (релиза). ### 📁 Структура репозитория -- cgit v1.2.3 From e020678237aeab0a30c8db83b18d8709de4035c8 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Sun, 5 Jul 2026 23:57:49 +0300 Subject: landau-linux: maintenance: Add missing RC-stage version/tags description The RC-stage version and tags format description is missing in the chapter 2. Meanwhile they are utilized afterwords in the chapters with the detailed process description and in the examples. Let's add the "l-rcX" version and "v7.0.l-rcX" tags format to have a more comprehensive Chapter 2. "Releases versioning format". Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index c7938e9..92b8d2f 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -59,7 +59,8 @@ VERSION.PATCHLEVEL.SUBLEVEL.lXYZ | `VERSION` | `7` | Мажорная версия ядра | | `PATCHLEVEL` | `0` | Минорная версия ядра | | `SUBLEVEL` | `12` | Номер стабильного обновления ядра | -| `lXYZ` | `l0`, `l1` | Сборочный номер LANDAU Linux | +| `l-rcX` | `l-rc1`, `l-rc2` | Сборочный номер отладочного релиза LANDAU Linux | +| `lXYZ` | `l0`, `l1` | Сборочный номер стабильного релиза LANDAU Linux | ### 🏷️ Git-теги @@ -67,10 +68,11 @@ VERSION.PATCHLEVEL.SUBLEVEL.lXYZ Используются **аннотированные теги** в формате: ``` +v7.0.l-rcX v7.0.lXYZ ``` -Пример: `v7.0.l0`, `v7.0.l5` +Пример: `v7.0.l-rc1`, `v7.0.l0`, `v7.0.l5` --- -- cgit v1.2.3 From b0a1de02d217426784d598284bfc395f3f548f07 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 6 Jul 2026 13:24:22 +0300 Subject: landau-linux: maintenance: Clarify the branch/repo words usage The text mostly uses the branch and repo words in reference to the GIT versioning system. In order to reduce some level of uncertainty it's better to add the "GIT-" prefix to these words to signify that the messages particularly mean the GIT-branches and repositories. Also there is no direct translation of the "Branching strategy" term. Let's use a more correct wording in that case: "GIT-branch organization strategy." Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 92b8d2f..d9729cb 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 на базе стабильного ядра Linux с версией V.P | +| `landau-next` | GIT-ветка следующего релиза LANDAU Linux, куда мейтейнеры отсылают свои MR | +| `landau-V.P.y` | Текущая GIT-ветка для релиза LANDAU Linux на базе стабильного ядра Linux с версией V.P | -### ⏳ Жизненный цикл ветки +### ⏳ Жизненный цикл GIT-ветки ```mermaid graph LR - A[Создание ветки
landau-7.0.y] --> B[Активная разработка
и выпуск релизов] + A[Создание GIT-ветки
landau-7.0.y] --> B[Активная разработка
и выпуск релизов] B --> C{Тип поддержки?} - C -->|Обычное ядро| D[EOL исходной версии →
ветка архивируется] + C -->|Обычное ядро| D[EOL исходной версии →
GIT-ветка архивируется] C -->|LTS ядро| E[Поддержка до EOL исходной версии
только исправления] ``` | Стадия | Действие | |--------|----------| | 🆕 Создание | В момент релиза базовой версии ядра 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`
`landau-7.0.y` | `7.0.l` | +| 6 | **Финальный релиз** и **создание нумерованной GIT-ветки** | `v7.0.l`
`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...
до 7 недель] D --> E{Тестирование пройдено?} E -->|Нет| D - E -->|Да| F[Релиз v7.0.l

⚡ Отвод ветки
landau-7.0.y] + E -->|Да| F[Релиз v7.0.l

⚡ Отвод GIT-ветки
landau-7.0.y] F --> G[Ожидание нового
стабильного релиза ядра Linux] G --> H[Выходит стабильный релиз
с новым SUBLEVEL,
например, 7.0.1] H --> I[Интеграция в landau-7.0.y:
v7.0.1.l1] I --> J{Исходная версия EOL?} J -->|Нет| H - J -->|Да| K[Архивация ветки
landau-7.0.y] + J -->|Да| K[Архивация GIT-ветки
landau-7.0.y] ``` #### 🏷️ Пример полной цепочки тегов -- cgit v1.2.3 From 16e2cfb6e83336b74c04b7520a3eb37cf1d0f39e Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 6 Jul 2026 16:03:38 +0300 Subject: landau-linux: maintenance: Extend GIT-branches description First of all the GIT-branches life-cycle block-scheme doesn't provide any info regarding the "landau-next" branch even though it's presented in the list of the main GIT-branches. Secondly the RC-stages is also missing in the stages sheet. Thirdly there is no need in splitting up the Normal(stable) and LTS branches diagram since their basic support is the same. Let's fix all of that by extending the GIT-branches description with the details regarding the 'landau-next' GIT-branch and it' relation to 'landau-V.P.y'. Also provide some more insight about what 'support' basically means in the framework of the LANDAU release cycle. Co-developed-by: Dmitry Rokosov Signed-off-by: Dmitry Rokosov Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 102 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 92 insertions(+), 10 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index d9729cb..8ef1d96 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -84,22 +84,104 @@ v7.0.lXYZ | `landau-next` | GIT-ветка следующего релиза LANDAU Linux, куда мейтейнеры отсылают свои MR | | `landau-V.P.y` | Текущая GIT-ветка для релиза LANDAU Linux на базе стабильного ядра Linux с версией V.P | -### ⏳ Жизненный цикл GIT-ветки +### ⏳ Жизненный цикл GIT-веток ```mermaid -graph LR - A[Создание GIT-ветки
landau-7.0.y] --> B[Активная разработка
и выпуск релизов] - B --> C{Тип поддержки?} - C -->|Обычное ядро| D[EOL исходной версии →
GIT-ветка архивируется] - C -->|LTS ядро| E[Поддержка до EOL исходной версии
только исправления] +%%{init: { + 'theme': 'base', + 'themeVariables': { + 'background': '#002b36', + 'primaryColor': '#073642', + 'primaryTextColor': '#839496', + 'primaryBorderColor': '#586e75', + 'lineColor': '#b58900', + 'secondaryColor': '#002b36', + 'tertiaryColor': '#073642', + 'edgeLabelBackground': '#002b36', + 'nodeBorder': '#586e75', + 'nodeTextColor': '#93a1a1', + 'clusterBkg': '#002b36', + 'clusterBorder': '#586e75', + 'fontSize': '20px', + 'fontFamily': 'monospace' + }, + 'flowchart': { + 'nodeSpacing': 80, + 'rankSpacing': 30, + 'curve': 'basis', + 'padding': 10 + } +}}%% +flowchart TB + subgraph Block1["Подготовка релиза (этап RC)"] + direction LR + A["landau-nextlinux-V.P.y"] + B["Стабилизация landau-next"] + C{"Код
landau-next стабилен?"} + D(("•••")) + E["P = P + 1"] + + A --> B + B --> C + C -->|Нет| B + C -->|Да| D + C -->|Да| E + E -.->|Ожидание релиза P| A + 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', + 'clusterBkg': '#002b36', + 'clusterBorder': '#586e75', + 'fontSize': '20px', + 'fontFamily': 'monospace' + }, + 'flowchart': { + 'nodeSpacing': 80, + 'rankSpacing': 30, + 'curve': 'basis', + 'padding': 10 + } +}}%% +flowchart TB + subgraph Block2["Релиз LANDAU Linux"] + direction LR + A(("•••")) + B["landau-V.P.ylandau-next"] + C["Поддержка landau-V.P.y"] + D{"Статус
linux-V.P.y EOL?"} + E["Архивация landau-V.P.y"] + + A --> B + B --> C + C --> D + D -->|Нет| C + D -->|Да| E + end ``` | Стадия | Действие | |--------|----------| -| 🆕 Создание | В момент релиза базовой версии ядра Linux | -| 🔧 Разработка | GIT-ветка `landau-7.0.y` | -| 🛑 Окончание поддержки | Исходная версия достигает EOL | -| 🐢 LTS | Только исправления (без новых фич) | +| 🛑 Старт | Принудительное переназначение `landau-next` на базовую версию ядра Linux | +| 🔧 Разработка | Сбор и стабилизация изменений LANDAU в GIT-ветке `landau-next` | +| 🆕 Релиз | Создание `landau-V.P.y` на основе стабильной `landau-next` | +| 🔧 Поддержка | Сбор исправлений ошибок в GIT-ветке `landau-V.P.y` | +| 🐢 Окончание поддержки | Исходная версия достигает EOL | + +> В базовом представлении _поддержка_ подразумевает периодическую синхронизацию `landau-V.P.y` с исходной GIT-веткой `linux-V.P.y`. --- -- cgit v1.2.3 From 6c02b38b841c249d374e288aca191989aed11244 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 6 Jul 2026 16:20:30 +0300 Subject: landau-linux: maintenance: Fix incorrect LANDAU Linux release lag The text mentions that the LANDAU Linux releases are always behind the Linux kernel release. It's true but the lag is in one _PATCHLEVEL_ cycle since LANDAU Linux is based on the last released Linux kernel version past RC-cycle. Meanwhile _SUBLEVEL_ is the stable kernel update which might be released even not once per week. Let's fix that. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 8ef1d96..0a0ac94 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -198,7 +198,7 @@ flowchart TB | RC-тестирование | 7-8 недель | Тестирование кандидатов на релиз | | Финальный релиз | — | Публикация стабильного ядра | -> ℹ️ **Важно**: Релизы LANDAU Linux отстают от последней версии ядра Linux на **1 patchlevel (SUBLEVEL)**. +> ℹ️ **Важно**: Поскольку релизы LANDAU Linux базируются на стабильных релизах ядра Linux, то текущий цикл разработки всегда отстаёт от последней версии ядра Linux на **1 PATCHLEVEL**. --- -- cgit v1.2.3 From 5e8c38b4459147a3117a7e10c1fb4e06fe484e5c Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Tue, 7 Jul 2026 11:16:50 +0300 Subject: landau-linux: maintenance: Fix incomplete RC-version in the example LANDAU-Linux RC stage is indicated by the version of the format 'l-rcX'. Meanwhile the example lists them as just 'rcX', which is a bit misleading. Fix that by adding the 'l-' prefix to the versions in the chapter 7. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 0a0ac94..a8dd900 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -326,7 +326,7 @@ flowchart TD - Формируются первые общие сборки ядра 3. **Выпуск RC-версий** (например, `v7.0.l-rc1`) — RC-релизы делаются в GIT-ветке `landau-next` 4. **Тестирование** — длится до 7 недель (может быть меньше): - - Выпускаются RC-версии: `rc1`, `rc2`, `rc3` и т.д. + - Выпускаются RC-версии: `l-rc1`, `l-rc2`, `l-rc3` и т.д. 5. **Финальный релиз и отвод стабильной ветки**: - Выпускаем релиз `v7.0.l` - Создаём стабильную GIT-ветку **`landau-7.0.y`** на базе последнего релиза -- cgit v1.2.3 From 20f7c2d781b5a1c85916107a6a395faec44ee0ef Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Tue, 7 Jul 2026 11:12:08 +0300 Subject: landau-linux: maintenance: Fix incorrect Linux version in the example The text states that the initial condition is the Linux kernel 6.12 release. But the further example refers to the 7.0 version which is way newer release. Fix the statement to indicate the correct version - 7.0. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index a8dd900..1baa3c8 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -299,7 +299,7 @@ flowchart TD ### Исходные данные -Выпущено ядро Linux версии **`6.12.0`** +Выпущено ядро Linux версии **`7.0`**. ### 📍 Пошаговый пример -- cgit v1.2.3 From f1a63a3bfc905b0a16ccd13a57cf38d519f8bbc6 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Tue, 7 Jul 2026 11:19:56 +0300 Subject: landau-linux: maintenance: Add more detailed IC in the example At this moment it just states 'The Linux kernel 7.0 is released'. For the better LANDAU-Linux release cycle understanding it would be good to provide more details what it means from the LANDAU project point of view. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 1baa3c8..e6099eb 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -299,7 +299,7 @@ flowchart TD ### Исходные данные -Выпущено ядро Linux версии **`7.0`**. +Выпущено ядро Linux версии **`7.0`**. Это означает, что в оригинальном репозитории ядра Linux изменения, добавленные в период окна слияния, достаточно стабилизировались, этап RC завершён, EXTRAVERSION принимает пустое значение, последний коммит символизирует релиз ядра Linux 7.0, а в GIT-репозитории стабильных и LTS веток появляется новая ветка `linux-7.0.y`. ### 📍 Пошаговый пример -- cgit v1.2.3 From 230f498abcdf7faec49cddc85d999a84fbcdb153 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 6 Jul 2026 22:35:06 +0300 Subject: landau-linux: maintenance: Refactor and enhance release process chapter The chapter "5. LANDAU-Linux release process" is a bit lame. First of all it constantly refers to a fixed release version v7.0.y meanwhile the document implies an approach irrelevant to the version number. Secondly the stages are differently described in the sub-paragraphs. Meanwhile it can be done in the more structured way, like list of the steps, key stage parameters and key notes. Thirdly the stages lack the details regarding the commit creation and it' format. Finally the LTS version support is no different from the stable release. So the current chapter 6. can be easily merged into the paragraph 5.4. Well ideally this should have been done in a set of the incremental commits. But this would have taken too much effort seeing the changes are interdependent. So let's introduce it in a refactor-like commit. This doesn't change the gist of the release process, but extends the description with the missing details and makes the text looking more structured by the paragraphs style unification. Co-developed-by: Dmitry Rokosov Signed-off-by: Dmitry Rokosov Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 190 ++++++++++++++++++++++++++++++++++---------- 1 file 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
2 недели] - B --> C[🏷️ Создание тега v7.0.l-rc1] - C --> D[🧪 Фаза RC-тестирования
1 неделя на RC] - D --> E{Все тесты пройдены?} - E -->|Нет| F[🔧 Исправление ошибок] - F --> D - E -->|Да| G[✅ Релиз v7.0.l] - G --> H[🔄 Интеграция SUBLEVEL
стабильной версии ядра Linux] - H --> I[📈 Повышение версии
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
(~2 нед.)"]) --> C + C["🔧 Перенос и слияние Bundle-ов"] --> D + D(["🔓 2. RC LANDAU Linux
(~1 нед. на RCx)"]) --> E + E["🔧 Исправление ошибок
(выпуск 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["🔧 Публикация изменений
LANDAU Linux"] --> D + D(["🔓 4. Поддержка LANDAU Linux"]) --> E + E["🔧 Исправление ошибок и
синхронизация 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 | |--------|-----| -- cgit v1.2.3 From 4b5c54c40992c85fabb7b37657e0ed7952b1a898 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Tue, 7 Jul 2026 00:46:20 +0300 Subject: landau-linux: maintenance: Add maintainers repos and 2MR description The LANDAU-linux maintenance document doesn't provide an important information regarding the way the sub-LANDAU-Linux repositories are supposed to be maintained. Moreover it is uncertain of how these changes are supposed to be collected into a single LANDAU-Linux release. Let's fix that by adding the detailed description of both of these processes into the chapter 6 concerning the maintainers responsibilities. The text is equipped with a mermaid gitGraph diagram visualising the GIT-flow in that regard. Signed-off-by: Serge Semin --- landau-linux/maintenance.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 8fbd406..09a77d9 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -395,6 +395,45 @@ flowchart TB | 🔒 Безопасность | Мониторинг и применение исправлений безопасности | | 📝 Документирование | Ведение changelog для каждого LANDAU-релиза | +### Личные репозитории ментейнеров + +В личных репозиториях ментейнеры хранят и развивают собственные форки ядра Linux с подведомственным им набором изменений. В целом, способ организации персональных репозиториев ментейнеры могут выбирать самостоятельное. Например, можно разделить независимые изменения на GIT-ветки по подсистемам и отправлять MR с каждым из них, либо предварительно объединить их в единую GIT-ветку и отправить один целостный MR. При этом необходимо придерживаться правила **преемственности предыдущих изменений и минимизации merge-конфликтов**. То есть GIT-ветка, отправляемая в MR главному ментейнеру, должна сохранять историю предыдущих изменений LANDAU Linux и их исправлений, а также содержать последнюю версию оригинальной версии ядра Linux, для которого готовится релиз LANDAU Linux. Для реализации такого требования удобно использовать подход **двойного слияния**, суть которого в том, чтобы сначала ментейнеры своих репозиториев LANDAU Linux (sub-LANDAU Linux) выполнили слияние своих GIT-веток с `landau-next`, разрешили все конфликты и лишь потом отправляли MR в рамках этапа RMW: + +```mermaid +--- +config: + gitGraph: + parallelCommits: false + mainBranchName: 'linux-V.P.y' +--- +gitGraph + branch baikal-next order: 2 + branch amlogic-next order: 3 + commit + commit + checkout baikal-next + commit + commit + checkout linux-V.P.y + commit + commit + commit id: "Linux V.P" tag: "vV.P" + branch landau-next order: 1 + commit id: " " type: HIGHLIGHT + checkout amlogic-next + merge landau-next + checkout baikal-next + merge landau-next + checkout landau-next + merge amlogic-next + merge baikal-next + commit id: "LANDAU Linux V.P.l-rc1" tag: "vV.P.l-rc1" +``` + +Таким образом, основная нагрузка по исправлению конфликтов ложится на нижестоящих ментейнеров. Главному ментейнeру остаётся лишь собрать все MR в `linux-next`. Если и в этом случае возникают сложные конфликты, то главный ментейнер вправе попросить выполнить повторный цикл **двойного слияния**, чтобы кросс sub-LANDAU Linux конфликты были разешены на стороне нижестоящих ментейнеров. + +К тому же опционально ментейнеры могут выполнять поддержку GIT-веток с патч-сетами для последующей отправки изменений в оригинальный репозиторий ядра Linux. До момента интеграции патч-сеты могут "поглощать" исправления и стилистические изменения в процессе перебазирования на новую версию ядра Linux. Это упрощает сопровождение таких GIT-веток, минимизируя лог изменений, который к тому же является лишним при интеграции в ядро Linux. + --- ## 📖 7. Пример полного цикла релиза -- cgit v1.2.3 From 925c5317fbfdd0cc1614d3d1fa8c1688172ee347 Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Thu, 23 Jul 2026 16:19:27 +0300 Subject: landau-linux: maintenance: Fix LANDAU Linux release version format It was decided to mark the just released LANDAU Linux with EXTRAVERSION set to 'l' which would also imply '0'. This shall make the version looking different from the RC-stage just by absent '-rcX' suffix, but also looking alike Linus' 'vV.P' release versioning with '.l' suffix added. While at it fix somehow slipped in vX.Y.lZ format. It is supposed to be unified vV.P.lZ. Signed-off-by: Dmitry Rokosov --- landau-linux/maintenance.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 09a77d9..f912d14 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -59,8 +59,7 @@ VERSION.PATCHLEVEL.SUBLEVEL.lXYZ | `PATCHLEVEL` | `0` | Минорная версия ядра | | `SUBLEVEL` | `12` | Номер стабильного обновления ядра | | `l-rcX` | `l-rc1`, `l-rc2` | Сборочный номер отладочного релиза LANDAU Linux | -| `lXYZ` | `l0`, `l1` | Сборочный номер стабильного релиза LANDAU Linux | - +| `lXYZ` | `l`, `l1` | Сборочный номер стабильного релиза LANDAU Linux | ### 🏷️ Git-теги @@ -71,7 +70,7 @@ v7.0.l-rcX v7.0.lXYZ ``` -Пример: `v7.0.l-rc1`, `v7.0.l0`, `v7.0.l5` +Пример: `v7.0.l-rc1`, `v7.0.l`, `v7.0.l5` --- @@ -390,7 +389,7 @@ flowchart TB |---------|------------------| | 👁️ Мониторинг исходного репозитория | Отслеживание новых релизов и RC-циклов | | 📦 Применение патчей | Интеграция LANDAU-специфичных изменений ядра | -| 🏷️ Управление тегами | Создание аннотированных тегов в формате `vX.Y.lZ` | +| 🏷️ Управление тегами | Создание аннотированных тегов в формате `vV.P.lZ` | | 🧪 Координация RC | Организация тестирования кандидатов на релиз | | 🔒 Безопасность | Мониторинг и применение исправлений безопасности | | 📝 Документирование | Ведение changelog для каждого LANDAU-релиза | -- cgit v1.2.3 From f126bccfc7f2630e3e9273e3de2b01e60239b47d Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Thu, 23 Jul 2026 16:39:56 +0300 Subject: landau-linux: maintenance: Drop redundant GIT-repo structure chapter Indeed it's content is basically the same as in the GIT-branches description. Let's drop the chapter then and move the note to the later paragraph. Signed-off-by: Dmitry Rokosov --- landau-linux/maintenance.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index f912d14..c15ca7a 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -26,15 +26,6 @@ RMW - Rebase & Merge Window - временной отрезок, в рамках Bundle - в общем случае это полный набор изменений репозитория LANDAU Linux, который отличает его от оригинального репозитория ядра Linux (фактически это набор патч-серий). Есть общий LANDAU Linux Bundle, а есть Bundle-ы мейнтейнеров в их форках. EOL - End-of-Life - завершение этапа поддержки выпущенной версии продукта (релиза). -### 📁 Структура GIT-репозитория форка - -| Сущность | Назначение | -|----------|-------------| -| `landau-next` | GIT-ветка для следующего релиза LANDAU Linux, куда мейтейнеры отсылают свои MR | -| `landau-V.P.y` | GIT-ветка релиза LANDAU Linux на базе ядра Linux с версией V.P | - -> `landau-next` - GIT-ветка для работы всех мейтейнеров вместе. В ней разрешаются конфликты и собираются все MR вместе для создания ветки `landau-V.P.y`. При старте нового RMW её HEAD насильно переносится (_force-push_) на новый релиз ядра Linux. - ### 🪞 Зеркала оригинальных репозиториев Linux На сервере `https://git.rulkc.org` поддерживаются постоянно обновляемые зеркала: @@ -83,6 +74,11 @@ v7.0.lXYZ | `landau-next` | GIT-ветка следующего релиза LANDAU Linux, куда мейтейнеры отсылают свои MR | | `landau-V.P.y` | Текущая GIT-ветка для релиза LANDAU Linux на базе стабильного ядра Linux с версией V.P | +> `landau-next` - GIT-ветка для работы всех мейтейнеров вместе. В ней +> разрешаются конфликты и собираются все MR вместе для создания ветки +> `landau-V.P.y`. При старте нового RMW её HEAD насильно переносится +> (_force-push_) на новый релиз ядра Linux. + ### ⏳ Жизненный цикл GIT-веток ```mermaid -- cgit v1.2.3 From e520294f1fc8579ef2faaac9c14a745a556f875a Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Thu, 23 Jul 2026 16:50:05 +0300 Subject: landau-linux: maintenance: Drop redundant example visualization paragraph Drop it since the text above describes the process more than accessible. Signed-off-by: Dmitry Rokosov --- landau-linux/maintenance.md | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index c15ca7a..2985965 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -485,24 +485,6 @@ gitGraph - LANDAU Linux Owners гарантированно поддерживают **одно последнее LTS ядро** - Про поддержку более старых LTS ядер думаем при наличии ресурсов -#### 📊 Визуализация цикла - -```mermaid -flowchart TD - A[Выход нового
стабильного релиза ядра Linux
например, v7.0] --> B[Открытие RMW LANDAU
2 недели] - B --> C[Приём MR в landau-next
на основе v7.0] - C --> D[Выпуск RC1, RC2, RC3...
до 7 недель] - D --> E{Тестирование пройдено?} - E -->|Нет| D - E -->|Да| F[Релиз v7.0.l

⚡ Отвод GIT-ветки
landau-7.0.y] - F --> G[Ожидание нового
стабильного релиза ядра Linux] - G --> H[Выходит стабильный релиз
с новым SUBLEVEL,
например, 7.0.1] - H --> I[Интеграция в landau-7.0.y:
v7.0.1.l1] - I --> J{Исходная версия EOL?} - J -->|Нет| H - J -->|Да| K[Архивация GIT-ветки
landau-7.0.y] -``` - #### 🏷️ Пример полной цепочки тегов Для ядра `7.0.x` в LANDAU: -- cgit v1.2.3 From 628fe96d0016dbfe66ae96d7b989e25039f8c1a9 Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Thu, 23 Jul 2026 17:00:32 +0300 Subject: landau-linux: maintenance: Extend glossary descriptions Extend the description of the frequently used in the text specific words and acronyms with the details in relation to the LANDAU project. Also move the words list into a dedicated text table. Signed-off-by: Dmitry Rokosov --- landau-linux/maintenance.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 2985965..388412b 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -16,15 +16,18 @@ published: true Обеспечить стабильный, предсказуемый и документированный процесс выпуска релизов LANDAU Linux с отслеживанием оригинального репозитория ядра Linux. -### Глоссарий -V - VERSION - major версия ядра Linux -P - PATCHLEVEL - middle версия ядра Linux -S - SUBLEVEL - minor версия ядра Linux -E - EXTRAVERSION - поле в версии ядра Linux, в которое встраивается версия ядра LANDAU Linux (ядром Linux обычно используется для -rc релизов (testing фазы)) -MR - Merge Request - запрос на слияние одной GIT-ветки с другой. Обычно оформляется в виде ссылки на GIT-репозиторий и ветку авторизованного ментейнера (верифицированного источника) в сопровождение с формальным описанием содержимого. Информация из последнего может быть использована для формирования текста merge-коммита в GIT. -RMW - Rebase & Merge Window - временной отрезок, в рамках которого мейнтейнеры LANDAU переносят подопечный им набор изменений на новую базовую версию ядра. -Bundle - в общем случае это полный набор изменений репозитория LANDAU Linux, который отличает его от оригинального репозитория ядра Linux (фактически это набор патч-серий). Есть общий LANDAU Linux Bundle, а есть Bundle-ы мейнтейнеров в их форках. -EOL - End-of-Life - завершение этапа поддержки выпущенной версии продукта (релиза). +### 📖 Глоссарий + +| Термин | Полное название | Описание | +|--------|-----------------|----------| +| **V** | VERSION | Major версия ядра Linux. Определяет основной номер версии (например, `6` в `6.12.7`). | +| **P** | PATCHLEVEL | Middle версия ядра Linux. Определяет минорный номер версии (например, `12` в `6.12.7`). | +| **S** | SUBLEVEL | Minor версия ядра Linux. Определяет номер стабильного обновления (например, `7` в `6.12.7`). | +| **E** | EXTRAVERSION | Поле в версии ядра Linux, в которое встраивается версия ядра LANDAU Linux. Ядром Linux обычно используется для `-rc` релизов. | +| **MR** | Merge Request | Запрос на слияние одной Git-ветки с другой. Оформляется в виде ссылки на Git-репозиторий и ветку авторизованного мейнтейнера с формальным описанием. | +| **RMW** | Rebase & Merge Window | Временной отрезок (2 недели), в рамках которого мейнтейнеры LANDAU переносят свои изменения на новую базовую версию ядра. | +| **Bundle** | — | Полный набор изменений репозитория LANDAU Linux, отличающий его от оригинального ядра Linux. Есть общий Bundle и Bundle-ы мейнтейнеров. | +| **EOL** | End-of-Life | Завершение этапа поддержки выпущенной версии продукта. Ветка больше не получает обновлений и архивируется. | ### 🪞 Зеркала оригинальных репозиториев Linux -- cgit v1.2.3 From 4d00657187cfe7f625c1d974a5022e6d2dc96a08 Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Thu, 23 Jul 2026 17:26:21 +0300 Subject: landau-linux: maintenance: Wrap up the text to be up to 80-char per line It's a tough task to track changes in the long lines even with diff usage. Let's apply the 80-char line constraints to the document at least for the chapters body so to make diff's more readable. Co-developed-by: Serge Semin Signed-off-by: Serge Semin Signed-off-by: Dmitry Rokosov --- landau-linux/maintenance.md | 74 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 60 insertions(+), 14 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 388412b..387d450 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -5,8 +5,9 @@ published: true # 📋 Манифест процесса сопровождения ядра LANDAU Linux -> **LANDAU Linux** — форк ядра Linux с собственной схемой версионирования и предсказуемым циклом релизов. -> Этот документ описывает формальный процесс сопровождения (maintenance) проекта. +> **LANDAU Linux** — форк ядра Linux с собственной схемой версионирования +> и предсказуемым циклом релизов. Этот документ описывает формальный процесс +> сопровождения (maintenance) проекта. --- @@ -14,7 +15,8 @@ published: true ### 🎯 Цель -Обеспечить стабильный, предсказуемый и документированный процесс выпуска релизов LANDAU Linux с отслеживанием оригинального репозитория ядра Linux. +Обеспечить стабильный, предсказуемый и документированный процесс выпуска релизов +LANDAU Linux с отслеживанием оригинального репозитория ядра Linux. ### 📖 Глоссарий @@ -179,7 +181,8 @@ flowchart TB | 🔧 Поддержка | Сбор исправлений ошибок в GIT-ветке `landau-V.P.y` | | 🐢 Окончание поддержки | Исходная версия достигает EOL | -> В базовом представлении _поддержка_ подразумевает периодическую синхронизацию `landau-V.P.y` с исходной GIT-веткой `linux-V.P.y`. +> В базовом представлении _поддержка_ подразумевает периодическую синхронизацию +> `landau-V.P.y` с исходной GIT-веткой `linux-V.P.y`. --- @@ -196,7 +199,9 @@ flowchart TB | RC-тестирование | 7-8 недель | Тестирование кандидатов на релиз | | Финальный релиз | — | Публикация стабильного ядра | -> ℹ️ **Важно**: Поскольку релизы LANDAU Linux базируются на стабильных релизах ядра Linux, то текущий цикл разработки всегда отстаёт от последней версии ядра Linux на **1 PATCHLEVEL**. +> ℹ️ **Важно**: Поскольку релизы LANDAU Linux базируются на стабильных релизах +> ядра Linux, то текущий цикл разработки всегда отстаёт от последней версии ядра +> Linux на **1 PATCHLEVEL**. --- @@ -288,7 +293,10 @@ flowchart TB | 6 | Обновить `EXTRAVERSION` на `l-rc1` и создать коммит "LANDAU Linux V.P.l-rc1" | | 7 | Отметить коммит аннотированным тегом `vV.P.l-rc1` | -> ℹ️ Переменная `EXTRAVERSION` в стабильных релизах ядра Linux остаётся пустым, потому может быть использована для сохранения версий LANDAU Linux. При этом оригинальные значения `VERSION`, `PATCHLEVEL`, `SUBLEVEL` в дальнейшем сохраняются для индикации версии исходного ядра Linux. +> ℹ️ Переменная `EXTRAVERSION` в стабильных релизах ядра Linux остаётся пустым, +> потому может быть использована для сохранения версий LANDAU Linux. При этом +> оригинальные значения `VERSION`, `PATCHLEVEL`, `SUBLEVEL` в дальнейшем +> сохраняются для индикации версии исходного ядра Linux. | Параметр | Значение | |----------|----------| @@ -315,7 +323,8 @@ flowchart TB | 🏷️ Релизы | `l-rc1`, `l-rc2`, `l-rc3` ... | | 🔧 Исправления | Применяются непосредственно в ветку релиза по запросу нижестоящих ментейнеров | -> ℹ️ Стабилизация GIT-ветки `landau-next` (отсуствие выявленных ошибок в очреденом RC-цикле) символизирует окончание этапа RC и выход на релиз. +> ℹ️ Стабилизация GIT-ветки `landau-next` (отсуствие выявленных ошибок в +> очреденом RC-цикле) символизирует окончание этапа RC и выход на релиз. ### 5.3 ✅ Релиз LANDAU Linux @@ -351,7 +360,11 @@ flowchart TB | 🏷️ Релизы | `l1`, `l2`, `l2`, ... | | 🔧 Исправления | Применяются по запросу нижестоящих ментейнеров в рамках корректирующих релизов | -Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать стабильные и LTS-версии** ядра Linux до получения статуса EOL. Однако гарантировано корректирующие изменения LANDAU Linux портируются в LANDAU Linux на основе последней LTS-версии ядра Linux. Портирование изменений в более ранние версии возможно при наличии ресурсов. +Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать стабильные и +LTS-версии** ядра Linux до получения статуса EOL. Однако гарантировано +корректирующие изменения LANDAU Linux портируются в LANDAU Linux на основе +последней LTS-версии ядра Linux. Портирование изменений в более ранние версии +возможно при наличии ресурсов. ⚠️ Особенности интеграции изменений в стабильную и LTS версии LANDAU Linux: @@ -378,7 +391,9 @@ flowchart TB | 🏷️ Релизы | `lZ` | | 🔧 Исправления | Не применяются | -Поддержка **стабильной и LTS версий** LANDAU Linux завершается либо вместе с получением статуса EOL исходной версии ядра Linux, либо после выпуска релиза LANDAU Linux, основанного на последней LTS-версии ядра Linux. +Поддержка **стабильной и LTS версий** LANDAU Linux завершается либо вместе с +получением статуса EOL исходной версии ядра Linux, либо после выпуска релиза +LANDAU Linux, основанного на последней LTS-версии ядра Linux. --- @@ -393,9 +408,26 @@ flowchart TB | 🔒 Безопасность | Мониторинг и применение исправлений безопасности | | 📝 Документирование | Ведение changelog для каждого LANDAU-релиза | -### Личные репозитории ментейнеров +### 🏗️ Личные репозитории ментейнеров -В личных репозиториях ментейнеры хранят и развивают собственные форки ядра Linux с подведомственным им набором изменений. В целом, способ организации персональных репозиториев ментейнеры могут выбирать самостоятельное. Например, можно разделить независимые изменения на GIT-ветки по подсистемам и отправлять MR с каждым из них, либо предварительно объединить их в единую GIT-ветку и отправить один целостный MR. При этом необходимо придерживаться правила **преемственности предыдущих изменений и минимизации merge-конфликтов**. То есть GIT-ветка, отправляемая в MR главному ментейнеру, должна сохранять историю предыдущих изменений LANDAU Linux и их исправлений, а также содержать последнюю версию оригинальной версии ядра Linux, для которого готовится релиз LANDAU Linux. Для реализации такого требования удобно использовать подход **двойного слияния**, суть которого в том, чтобы сначала ментейнеры своих репозиториев LANDAU Linux (sub-LANDAU Linux) выполнили слияние своих GIT-веток с `landau-next`, разрешили все конфликты и лишь потом отправляли MR в рамках этапа RMW: +В личных репозиториях мейнтейнеры хранят и развивают собственные форки ядра +Linux с подведомственным им набором изменений. + +В целом, способ организации персональных репозиториев мейнтейнеры могут выбирать +самостоятельно. Например, можно разделить независимые изменения на GIT-ветки по +подсистемам и отправлять MR с каждым из них, либо предварительно объединить их в +единую GIT-ветку и отправить один целостный MR. При этом необходимо +придерживаться правила **преемственности предыдущих изменений и минимизации +merge-конфликтов**. То есть GIT-ветка, отправляемая в MR главному мейнтейнеру, +должна сохранять историю предыдущих изменений LANDAU Linux и их исправлений, а +также содержать последнюю версию оригинальной версии ядра Linux, для которого +готовится релиз LANDAU Linux. + +Для реализации такого требования удобно использовать подход **двойного +слияния**, суть которого в том, чтобы сначала мейнтейнеры своих репозиториев +LANDAU Linux (sub-LANDAU Linux) выполнили слияние своих GIT-веток с +`landau-next`, разрешили все конфликты и лишь потом отправляли MR в рамках этапа +RMW. ```mermaid --- @@ -428,9 +460,19 @@ gitGraph commit id: "LANDAU Linux V.P.l-rc1" tag: "vV.P.l-rc1" ``` -Таким образом, основная нагрузка по исправлению конфликтов ложится на нижестоящих ментейнеров. Главному ментейнeру остаётся лишь собрать все MR в `linux-next`. Если и в этом случае возникают сложные конфликты, то главный ментейнер вправе попросить выполнить повторный цикл **двойного слияния**, чтобы кросс sub-LANDAU Linux конфликты были разешены на стороне нижестоящих ментейнеров. +Таким образом, основная нагрузка по исправлению конфликтов ложится на +нижестоящих ментейнеров. Главному ментейнеру остаётся лишь собрать все MR в +`linux-next`. Если и в этом случае возникают сложные конфликты, то главный +ментейнер вправе попросить выполнить повторный цикл **двойного слияния**, чтобы +кросс sub-LANDAU Linux конфликты были разешены на стороне нижестоящих +ментейнеров. -К тому же опционально ментейнеры могут выполнять поддержку GIT-веток с патч-сетами для последующей отправки изменений в оригинальный репозиторий ядра Linux. До момента интеграции патч-сеты могут "поглощать" исправления и стилистические изменения в процессе перебазирования на новую версию ядра Linux. Это упрощает сопровождение таких GIT-веток, минимизируя лог изменений, который к тому же является лишним при интеграции в ядро Linux. +Опционально ментейнеры могут выполнять поддержку GIT-веток с патч-сетами для +последующей отправки изменений в оригинальный репозиторий ядра Linux. До момента +интеграции патч-сеты могут "поглощать" исправления и стилистические изменения в +процессе перебазирования на новую версию ядра Linux. Это упрощает сопровождение +таких GIT-веток, минимизируя лог изменений, который к тому же является лишним +при интеграции в ядро Linux. --- @@ -438,7 +480,11 @@ gitGraph ### Исходные данные -Выпущено ядро Linux версии **`7.0`**. Это означает, что в оригинальном репозитории ядра Linux изменения, добавленные в период окна слияния, достаточно стабилизировались, этап RC завершён, EXTRAVERSION принимает пустое значение, последний коммит символизирует релиз ядра Linux 7.0, а в GIT-репозитории стабильных и LTS веток появляется новая ветка `linux-7.0.y`. +Выпущено ядро Linux версии **`7.0`**. Это означает, что в оригинальном +репозитории ядра Linux изменения, добавленные в период окна слияния, достаточно +стабилизировались, этап RC завершён, EXTRAVERSION принимает пустое значение, +последний коммит символизирует релиз ядра Linux 7.0, а в GIT-репозитории +стабильных и LTS веток появляется новая ветка `linux-7.0.y`. ### 📍 Пошаговый пример -- cgit v1.2.3 From f46e91af3216c167484ba6ec2d8cb009b80f33ed Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Thu, 23 Jul 2026 17:55:32 +0300 Subject: landau-linux: maintenance: Convert links to being clickable Currently the links are rendered as just text. Let's convert them to being clickable with descriptive names and proper highlight. Signed-off-by: Dmitry Rokosov --- landau-linux/maintenance.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 387d450..748097e 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -33,7 +33,8 @@ LANDAU Linux с отслеживанием оригинального репоз ### 🪞 Зеркала оригинальных репозиториев Linux -На сервере `https://git.rulkc.org` поддерживаются постоянно обновляемые зеркала: +На сервере **[git.rulkc.org](https://git.rulkc.org)** поддерживаются постоянно +обновляемые зеркала: - 🔷 `torvalds/linux` — основная ветка ядра Linux - 🔷 `stable/linux` — стабильные релизы ядра Linux @@ -566,9 +567,9 @@ TODO | Ресурс | URL | |--------|-----| -| 📦 Репозитории LANDAU | `https://git.rulkc.org/pub/scm/landau` | -| 🪞 Зеркала репозиториев Linux| `https://git.rulkc.org` | -| 🔗 Оригинальные репозитории Linux | `https://kernel.org` | +| 📦 Репозитории LANDAU Linux | [https://git.rulkc.org/pub/scm/landau](https://git.rulkc.org/pub/scm/landau) | +| 🪞 Зеркала репозиториев Linux | [https://git.rulkc.org](https://git.rulkc.org) | +| 🔗 Оригинальные репозитории Linux | [https://kernel.org](https://kernel.org) | --- -- cgit v1.2.3 From 2d1e06a75e9a11265240539fd9c65ee960553dfa Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Thu, 23 Jul 2026 18:07:58 +0300 Subject: landau-linux: maintenance: Create nice-looking doc version footer Let's have a nice-looking footer with the document version, update date and maintenance info instead of the boring Note-like list with the same data. Signed-off-by: Dmitry Rokosov --- landau-linux/maintenance.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md index 748097e..0bf8391 100644 --- a/landau-linux/maintenance.md +++ b/landau-linux/maintenance.md @@ -573,8 +573,10 @@ TODO --- -> 📌 **Актуальная версия документа**: 1.0 -> ✍️ **Поддерживается**: LANDAU Maintainers -> 📅 **Последнее обновление**: 2026 +
+ 📌 Актуальная версия: 1.0 + ✍️ Поддерживается: LANDAU Maintainers + 📅 Обновлено: 2026-07 +
[⬅️ Вернуться на страницу LANDAU Linux](./index.md) -- cgit v1.2.3 From e63a9e17ba8c84381bc974880abcea83d59107d5 Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Wed, 15 Jul 2026 17:18:05 +0300 Subject: landau-linux: Drop excessive '*' symbol from the text Indeed it must have been some typo or rudiment and has no any meaning with respect to the text. Drop it for good. Signed-off-by: Dmitry Rokosov --- landau-linux/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/landau-linux/index.md b/landau-linux/index.md index 2891de8..3eb833e 100644 --- a/landau-linux/index.md +++ b/landau-linux/index.md @@ -4,7 +4,7 @@ ## 🎯 О проекте -Мы видим LANDAU Linux как **upstream-first форк**, улучшающий mainline/stable ветки*: +Мы видим LANDAU Linux как **upstream-first форк**, улучшающий mainline/stable ветки: * 🔄 **Регулярное обновление:** Следование за актуальными версиями mainline/stable (раз в 1–2 месяца). * 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в upstream (драйверы, архитектурные доработки). -- cgit v1.2.3 From 05810d833ccc21bcbf036775775be4898d8cbbe4 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Thu, 23 Jul 2026 23:04:13 +0300 Subject: landau-linux: Clarify LANDAU Linux project definition First of all it's redundant to use the personal pronouns in the project definition, since it's we who decide the project goal in anyway. Secondly stating that the project improves the Linux kernel would sound a bit too presumptuous. Let's define the project as fixing and extending the Linux kernel instead. It won't change the gist but will seem softer. Signed-off-by: Serge Semin --- landau-linux/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/landau-linux/index.md b/landau-linux/index.md index 3eb833e..1257bb1 100644 --- a/landau-linux/index.md +++ b/landau-linux/index.md @@ -4,7 +4,7 @@ ## 🎯 О проекте -Мы видим LANDAU Linux как **upstream-first форк**, улучшающий mainline/stable ветки: +LANDAU Linux - это **upstream-first форк** ядра Linux, исправляющий и расширяющий его функционал: * 🔄 **Регулярное обновление:** Следование за актуальными версиями mainline/stable (раз в 1–2 месяца). * 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в upstream (драйверы, архитектурные доработки). -- cgit v1.2.3 From b407585b8967c0b24ec1a495787ea9f9c8ba041d Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Thu, 23 Jul 2026 23:27:53 +0300 Subject: landau-linux: Drop 'upstream/mainline/stable/consumer' English-ism These words are inappropriate in the Russian text and can be easily converted just "Linux kernel", "Linux kernel repo", etc. Let's do that on the main LANDAU Linux project page. Signed-off-by: Serge Semin --- landau-linux/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/landau-linux/index.md b/landau-linux/index.md index 1257bb1..a6826bd 100644 --- a/landau-linux/index.md +++ b/landau-linux/index.md @@ -6,9 +6,9 @@ LANDAU Linux - это **upstream-first форк** ядра Linux, исправляющий и расширяющий его функционал: -* 🔄 **Регулярное обновление:** Следование за актуальными версиями mainline/stable (раз в 1–2 месяца). -* 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в upstream (драйверы, архитектурные доработки). -* 🖥️ **Поддержка российского железа:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ и consumer электроники, разрабатываемой в России. +* 🔄 **Регулярное обновление:** Следование за актуальными версиями ядра Linux (раз в 2+ месяца). +* 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в оригинальный репозиторий ядра Linux (драйверы, архитектурные доработки). +* 🖥️ **Поддержка российского железа:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ и потребительской электроники, разрабатываемой в России. * 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное тестирование. Проект призван решать как текущие задачи индустрии (сохранение и развитие кода, снижение фрагментации), так и готовить основу для будущего — появления собственных IP- и Core-вендоров, ODM-производителей устройств на отечественных чипах. -- cgit v1.2.3 From dab0451b9109cd9803b46fe891bc2b64af9c59eb Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Thu, 23 Jul 2026 23:51:08 +0300 Subject: landau-linux: Extend the LANDAU Linux project description First of all the using the slang word "hardware" in Russian is inappropriate. Secondly the project is dedicated not only for the Russian hardware but for any specialized device, which support couldn't be sent upstream for some reason. Finally the project might be useful not only for the IP-core or electronic device manufacturer, but also for the OS distribution vendors. Let's add all of that to the LANDAU Linux main page. Signed-off-by: Serge Semin Signed-off-by: Dmitry Rokosov --- landau-linux/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/landau-linux/index.md b/landau-linux/index.md index a6826bd..a88f8aa 100644 --- a/landau-linux/index.md +++ b/landau-linux/index.md @@ -8,10 +8,10 @@ LANDAU Linux - это **upstream-first форк** ядра Linux, исправл * 🔄 **Регулярное обновление:** Следование за актуальными версиями ядра Linux (раз в 2+ месяца). * 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в оригинальный репозиторий ядра Linux (драйверы, архитектурные доработки). -* 🖥️ **Поддержка российского железа:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ и потребительской электроники, разрабатываемой в России. +* 🖥️ **Поддержка специализированной аппаратуры:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ, потребительской электроники, в том числе разрабатываемой в России. * 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное тестирование. -Проект призван решать как текущие задачи индустрии (сохранение и развитие кода, снижение фрагментации), так и готовить основу для будущего — появления собственных IP- и Core-вендоров, ODM-производителей устройств на отечественных чипах. +Проект решает текущие задачи индустрии: сохраняет и развивает код ядра, борется с его фрагментацией, а за счет консолидации открытых решений создает синергию для всех, кто использует Linux в качестве системного ПО. В долгосрочной перспективе LANDAU Linux станет надежной основой для разработчиков IP-ядер, ODM-производителей, создателей дистрибутивов и других участников экосистемы. --- -- cgit v1.2.3 From 8bf54fc2a67b8e7f34987209907af956aff1a502 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Fri, 24 Jul 2026 00:04:14 +0300 Subject: landau-linux: Wrap up the text to be up to 80-char per line Let's wrap the text up on the 80-char column since it's visually very hard to track changes in the long lines. 80-char must be enough and has got to be a de-facto standard in the Linux-related projects. Signed-off-by: Serge Semin --- landau-linux/index.md | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/landau-linux/index.md b/landau-linux/index.md index a88f8aa..fa13712 100644 --- a/landau-linux/index.md +++ b/landau-linux/index.md @@ -4,14 +4,26 @@ ## 🎯 О проекте -LANDAU Linux - это **upstream-first форк** ядра Linux, исправляющий и расширяющий его функционал: - -* 🔄 **Регулярное обновление:** Следование за актуальными версиями ядра Linux (раз в 2+ месяца). -* 📦 **Приём патчей:** Включение полезных наработок, которые по разным причинам не попали в оригинальный репозиторий ядра Linux (драйверы, архитектурные доработки). -* 🖥️ **Поддержка специализированной аппаратуры:** Создание единой ветки ядра как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, Эльбрус), аппаратных платформ, потребительской электроники, в том числе разрабатываемой в России. -* 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное тестирование. - -Проект решает текущие задачи индустрии: сохраняет и развивает код ядра, борется с его фрагментацией, а за счет консолидации открытых решений создает синергию для всех, кто использует Linux в качестве системного ПО. В долгосрочной перспективе LANDAU Linux станет надежной основой для разработчиков IP-ядер, ODM-производителей, создателей дистрибутивов и других участников экосистемы. +LANDAU Linux - это **upstream-first форк** ядра Linux, исправляющий и +расширяющий его функционал: + +* 🔄 **Регулярное обновление:** Следование за актуальными версиями ядра Linux +(раз в 2+ месяца). +* 📦 **Приём патчей:** Включение полезных наработок, которые по разным +причинам не попали в оригинальный репозиторий ядра Linux (драйверы, +архитектурные доработки). +* 🖥️ **Поддержка специализированной аппаратуры:** Создание единой ветки ядра +как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, +Эльбрус), аппаратных платформ, потребительской электроники, в том числе +разрабатываемой в России. +* 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное +тестирование. + +Проект решает текущие задачи индустрии: сохраняет и развивает код ядра, борется +с его фрагментацией, а за счет консолидации открытых решений создает синергию +для всех, кто использует Linux в качестве системного ПО. В долгосрочной +перспективе LANDAU Linux станет надежной основой для разработчиков IP-ядер, +ODM-производителей, создателей дистрибутивов и других участников экосистемы. --- -- cgit v1.2.3 From 0ededf2f4d02ee0efc5f44a7602b1ece7c4a8190 Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Wed, 8 Jul 2026 13:52:20 +0300 Subject: content: Move content to subdirectory Upstream hugo can't work with content separated from templates, config and other stuff. So move all content files to subdirectory. Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- _index.md | 88 ----- content/_index.md | 88 +++++ content/landau-linux/_index.md | 39 ++ content/landau-linux/maintenance/_index.md | 582 +++++++++++++++++++++++++++++ content/open_mic_27_03_2026/_index.md | 86 +++++ content/rulkc.png | Bin 0 -> 8749 bytes landau-linux/index.md | 39 -- landau-linux/maintenance.md | 582 ----------------------------- open_mic_27_03_2026.md | 86 ----- rulkc.png | Bin 8749 -> 0 bytes 10 files changed, 795 insertions(+), 795 deletions(-) delete mode 100644 _index.md create mode 100644 content/_index.md create mode 100644 content/landau-linux/_index.md create mode 100644 content/landau-linux/maintenance/_index.md create mode 100644 content/open_mic_27_03_2026/_index.md create mode 100644 content/rulkc.png delete mode 100644 landau-linux/index.md delete mode 100644 landau-linux/maintenance.md delete mode 100644 open_mic_27_03_2026.md delete mode 100644 rulkc.png diff --git a/_index.md b/_index.md deleted file mode 100644 index 5d97028..0000000 --- a/_index.md +++ /dev/null @@ -1,88 +0,0 @@ -# ⚛️ LANDAU - -**Linux And Neo-Depositorium Associated Unity** - ---- - -## 🧪 Что такое LANDAU? - -**LANDAU** — это зонтичный проект, объединяющий усилия российского open-source сообщества по развитию ключевых системных компонентов. - -Название проекта отсылает к выдающемуся физику-теоретику, нобелевскому лауреату **Льву Давидовичу Ландау** — создателю научной школы, воспитавшей поколения ученых. Как Ландау объединял физиков вокруг новых идей, так и LANDAU призван объединить разработчиков для создания единой технологической базы. - ---- - -## 🎯 Что мы развиваем? - -LANDAU охватывает широкий спектр open-source проектов, критически важных для системной экосистемы: - -| Проект | Назначение | Статус | -|--------|------------|--------| -| 🐧 **[LANDAU Linux](./landau-linux/)** | Форк ядра LANDAU Linux | ✅ Активен | -| 🖥️ **LANDAU U-Boot** | Форк загрузчика для встраиваемых систем LANDAU u-boot | 🚧 В планах | -| 🔧 **LANDAU EFI** | Поддержка LANDAU UEFI | 🚧 В планах | -| 📦 **LANDAU QEMU** | Эмуляция и виртуализация LANDAU | 🚧 В планах | -| 🏗️ **Другие проекты** | TBD | 🚧 В планах | - ---- - -## 📅 Мероприятия и обсуждения - -Мы проводим митапы и конференции (RULKC Meetup #1, OSDevConf 24/25/26), чтобы собрать мнения инженеров и компаний, определить потребности рынка, вместе спроектировать архитектуру будущего форка. - -### 🎙️ Список событий - -* **[Открытый микрофон #001: «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU»](./open_mic_27_03_2026.md)** - * **📅 Дата:** 27 марта 2026 года - * **⏰ Время:** 20:00 - * **📍 Формат:** Очно / Online - * Первая открытая дискуссия о практической инженерной мотивации создания форка, его целях и проблемах, которые он может решить. - -### 🗂️ Архив встреч - -* 📌 **(Скоро)** Материалы и резюме прошедших круглых столов будут появляться здесь. - ---- - -## 🤝 Контакты и сообщество - -### 🌐 Russian Linux Kernel Community - -Проект ⚛️ LANDAU развивается под эгидой сообщества RULKC. Присоединяйтесь к нам! - -| Канал | Ссылка | -|-------|--------| -| 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | -| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | -| 💬 **Telegram-канал** | [https://t.me/linux_kernel_O](https://t.me/linux_kernel_O) | -| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | -| 📧 **Mailing List** | [rulkc@linuxtesting.org](mailto:rulkc@linuxtesting.org) | - -| | | -|---|---| -| RULKC | **💬 Присоединяйтесь к обсуждению:**
Будьте в курсе всех новостей проекта ⚛️ LANDAU и мероприятий RULKC в нашем Telegram-канале:
[t.me/linux_kernel_O](https://t.me/linux_kernel_O) | - -
- -📌 *Этот сайт — отправная точка для навигации по инициативе LANDAU. Все ключевые документы, анонсы и ссылки на репозитории будут добавляться по мере развития проекта.* - -## 🤝 Сообщество - -LANDAU развивается под эгидой [**Russian Linux Kernel Community (RULKC)**](https://rulkc.org). - -| Канал | Ссылка | -|-------|--------| -| 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | -| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | -| 💬 **Telegram-канал** | [t.me/linux_kernel_O](https://t.me/linux_kernel_O) | -| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | - -
- -| | | -|---|---| -| RULKC | **💬 Присоединяйтесь к обсуждению**
Все новости и анонсы в нашем Telegram-канале | - ---- - -📌 *Этот сайт — центральная точка входа во все проекты LANDAU.* diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..5d97028 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,88 @@ +# ⚛️ LANDAU + +**Linux And Neo-Depositorium Associated Unity** + +--- + +## 🧪 Что такое LANDAU? + +**LANDAU** — это зонтичный проект, объединяющий усилия российского open-source сообщества по развитию ключевых системных компонентов. + +Название проекта отсылает к выдающемуся физику-теоретику, нобелевскому лауреату **Льву Давидовичу Ландау** — создателю научной школы, воспитавшей поколения ученых. Как Ландау объединял физиков вокруг новых идей, так и LANDAU призван объединить разработчиков для создания единой технологической базы. + +--- + +## 🎯 Что мы развиваем? + +LANDAU охватывает широкий спектр open-source проектов, критически важных для системной экосистемы: + +| Проект | Назначение | Статус | +|--------|------------|--------| +| 🐧 **[LANDAU Linux](./landau-linux/)** | Форк ядра LANDAU Linux | ✅ Активен | +| 🖥️ **LANDAU U-Boot** | Форк загрузчика для встраиваемых систем LANDAU u-boot | 🚧 В планах | +| 🔧 **LANDAU EFI** | Поддержка LANDAU UEFI | 🚧 В планах | +| 📦 **LANDAU QEMU** | Эмуляция и виртуализация LANDAU | 🚧 В планах | +| 🏗️ **Другие проекты** | TBD | 🚧 В планах | + +--- + +## 📅 Мероприятия и обсуждения + +Мы проводим митапы и конференции (RULKC Meetup #1, OSDevConf 24/25/26), чтобы собрать мнения инженеров и компаний, определить потребности рынка, вместе спроектировать архитектуру будущего форка. + +### 🎙️ Список событий + +* **[Открытый микрофон #001: «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU»](./open_mic_27_03_2026.md)** + * **📅 Дата:** 27 марта 2026 года + * **⏰ Время:** 20:00 + * **📍 Формат:** Очно / Online + * Первая открытая дискуссия о практической инженерной мотивации создания форка, его целях и проблемах, которые он может решить. + +### 🗂️ Архив встреч + +* 📌 **(Скоро)** Материалы и резюме прошедших круглых столов будут появляться здесь. + +--- + +## 🤝 Контакты и сообщество + +### 🌐 Russian Linux Kernel Community + +Проект ⚛️ LANDAU развивается под эгидой сообщества RULKC. Присоединяйтесь к нам! + +| Канал | Ссылка | +|-------|--------| +| 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | +| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | +| 💬 **Telegram-канал** | [https://t.me/linux_kernel_O](https://t.me/linux_kernel_O) | +| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | +| 📧 **Mailing List** | [rulkc@linuxtesting.org](mailto:rulkc@linuxtesting.org) | + +| | | +|---|---| +| RULKC | **💬 Присоединяйтесь к обсуждению:**
Будьте в курсе всех новостей проекта ⚛️ LANDAU и мероприятий RULKC в нашем Telegram-канале:
[t.me/linux_kernel_O](https://t.me/linux_kernel_O) | + +
+ +📌 *Этот сайт — отправная точка для навигации по инициативе LANDAU. Все ключевые документы, анонсы и ссылки на репозитории будут добавляться по мере развития проекта.* + +## 🤝 Сообщество + +LANDAU развивается под эгидой [**Russian Linux Kernel Community (RULKC)**](https://rulkc.org). + +| Канал | Ссылка | +|-------|--------| +| 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | +| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | +| 💬 **Telegram-канал** | [t.me/linux_kernel_O](https://t.me/linux_kernel_O) | +| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | + +
+ +| | | +|---|---| +| RULKC | **💬 Присоединяйтесь к обсуждению**
Все новости и анонсы в нашем Telegram-канале | + +--- + +📌 *Этот сайт — центральная точка входа во все проекты LANDAU.* diff --git a/content/landau-linux/_index.md b/content/landau-linux/_index.md new file mode 100644 index 0000000..fa13712 --- /dev/null +++ b/content/landau-linux/_index.md @@ -0,0 +1,39 @@ +# ⚛️ LANDAU Linux + +--- + +## 🎯 О проекте + +LANDAU Linux - это **upstream-first форк** ядра Linux, исправляющий и +расширяющий его функционал: + +* 🔄 **Регулярное обновление:** Следование за актуальными версиями ядра Linux +(раз в 2+ месяца). +* 📦 **Приём патчей:** Включение полезных наработок, которые по разным +причинам не попали в оригинальный репозиторий ядра Linux (драйверы, +архитектурные доработки). +* 🖥️ **Поддержка специализированной аппаратуры:** Создание единой ветки ядра +как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, +Эльбрус), аппаратных платформ, потребительской электроники, в том числе +разрабатываемой в России. +* 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное +тестирование. + +Проект решает текущие задачи индустрии: сохраняет и развивает код ядра, борется +с его фрагментацией, а за счет консолидации открытых решений создает синергию +для всех, кто использует Linux в качестве системного ПО. В долгосрочной +перспективе LANDAU Linux станет надежной основой для разработчиков IP-ядер, +ODM-производителей, создателей дистрибутивов и других участников экосистемы. + +--- + +## 📄 Ключевые документы + +| Документ | Описание | +|----------|----------| +| 📋 **[LANDAU Linux Maintenance](./maintenance.md)** | Официальный процесс maintenance LANDAU Linux | + +--- + +[⬅️ Вернуться на главную LANDAU](../index.md) + diff --git a/content/landau-linux/maintenance/_index.md b/content/landau-linux/maintenance/_index.md new file mode 100644 index 0000000..0bf8391 --- /dev/null +++ b/content/landau-linux/maintenance/_index.md @@ -0,0 +1,582 @@ +title: "📋 Манифест сопровождения ядра LANDAU Linux" +description: "Описание процесса разработки ядра LANDAU Linux — ветки, релизы, версионирование и сопровождение" +published: true +--- + +# 📋 Манифест процесса сопровождения ядра LANDAU Linux + +> **LANDAU Linux** — форк ядра Linux с собственной схемой версионирования +> и предсказуемым циклом релизов. Этот документ описывает формальный процесс +> сопровождения (maintenance) проекта. + +--- + +## 🧭 1. Обзор + +### 🎯 Цель + +Обеспечить стабильный, предсказуемый и документированный процесс выпуска релизов +LANDAU Linux с отслеживанием оригинального репозитория ядра Linux. + +### 📖 Глоссарий + +| Термин | Полное название | Описание | +|--------|-----------------|----------| +| **V** | VERSION | Major версия ядра Linux. Определяет основной номер версии (например, `6` в `6.12.7`). | +| **P** | PATCHLEVEL | Middle версия ядра Linux. Определяет минорный номер версии (например, `12` в `6.12.7`). | +| **S** | SUBLEVEL | Minor версия ядра Linux. Определяет номер стабильного обновления (например, `7` в `6.12.7`). | +| **E** | EXTRAVERSION | Поле в версии ядра Linux, в которое встраивается версия ядра LANDAU Linux. Ядром Linux обычно используется для `-rc` релизов. | +| **MR** | Merge Request | Запрос на слияние одной Git-ветки с другой. Оформляется в виде ссылки на Git-репозиторий и ветку авторизованного мейнтейнера с формальным описанием. | +| **RMW** | Rebase & Merge Window | Временной отрезок (2 недели), в рамках которого мейнтейнеры LANDAU переносят свои изменения на новую базовую версию ядра. | +| **Bundle** | — | Полный набор изменений репозитория LANDAU Linux, отличающий его от оригинального ядра Linux. Есть общий Bundle и Bundle-ы мейнтейнеров. | +| **EOL** | End-of-Life | Завершение этапа поддержки выпущенной версии продукта. Ветка больше не получает обновлений и архивируется. | + +### 🪞 Зеркала оригинальных репозиториев Linux + +На сервере **[git.rulkc.org](https://git.rulkc.org)** поддерживаются постоянно +обновляемые зеркала: + +- 🔷 `torvalds/linux` — основная ветка ядра Linux +- 🔷 `stable/linux` — стабильные релизы ядра Linux +- 🔷 `linux-next` — интеграционное дерево linux-next + +--- + +## 🏷️ 2. Схема версионирования + +### 📐 Формат версии LANDAU Linux + +``` +VERSION.PATCHLEVEL.SUBLEVEL.lXYZ +``` + +| Компонент | Пример | Описание | +|-----------|--------|----------| +| `VERSION` | `7` | Мажорная версия ядра | +| `PATCHLEVEL` | `0` | Минорная версия ядра | +| `SUBLEVEL` | `12` | Номер стабильного обновления ядра | +| `l-rcX` | `l-rc1`, `l-rc2` | Сборочный номер отладочного релиза LANDAU Linux | +| `lXYZ` | `l`, `l1` | Сборочный номер стабильного релиза LANDAU Linux | + +### 🏷️ Git-теги + +Используются **аннотированные теги** в формате: + +``` +v7.0.l-rcX +v7.0.lXYZ +``` + +Пример: `v7.0.l-rc1`, `v7.0.l`, `v7.0.l5` + +--- + +## 🌿 3. Cтратегия организации GIT-веток + +### 📌 Основные GIT-ветки + +| Ветка | Назначение | +|-------|-------------| +| `landau-next` | GIT-ветка следующего релиза LANDAU Linux, куда мейтейнеры отсылают свои MR | +| `landau-V.P.y` | Текущая GIT-ветка для релиза LANDAU Linux на базе стабильного ядра Linux с версией V.P | + +> `landau-next` - GIT-ветка для работы всех мейтейнеров вместе. В ней +> разрешаются конфликты и собираются все MR вместе для создания ветки +> `landau-V.P.y`. При старте нового RMW её HEAD насильно переносится +> (_force-push_) на новый релиз ядра Linux. + +### ⏳ Жизненный цикл GIT-веток + +```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', + 'clusterBkg': '#002b36', + 'clusterBorder': '#586e75', + 'fontSize': '20px', + 'fontFamily': 'monospace' + }, + 'flowchart': { + 'nodeSpacing': 80, + 'rankSpacing': 30, + 'curve': 'basis', + 'padding': 10 + } +}}%% +flowchart TB + subgraph Block1["Подготовка релиза (этап RC)"] + direction LR + A["landau-nextlinux-V.P.y"] + B["Стабилизация landau-next"] + C{"Код
landau-next стабилен?"} + D(("•••")) + E["P = P + 1"] + + A --> B + B --> C + C -->|Нет| B + C -->|Да| D + C -->|Да| E + E -.->|Ожидание релиза P| A + 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', + 'clusterBkg': '#002b36', + 'clusterBorder': '#586e75', + 'fontSize': '20px', + 'fontFamily': 'monospace' + }, + 'flowchart': { + 'nodeSpacing': 80, + 'rankSpacing': 30, + 'curve': 'basis', + 'padding': 10 + } +}}%% +flowchart TB + subgraph Block2["Релиз LANDAU Linux"] + direction LR + A(("•••")) + B["landau-V.P.ylandau-next"] + C["Поддержка landau-V.P.y"] + D{"Статус
linux-V.P.y EOL?"} + E["Архивация landau-V.P.y"] + + A --> B + B --> C + C --> D + D -->|Нет| C + D -->|Да| E + end +``` + +| Стадия | Действие | +|--------|----------| +| 🛑 Старт | Принудительное переназначение `landau-next` на базовую версию ядра Linux | +| 🔧 Разработка | Сбор и стабилизация изменений LANDAU в GIT-ветке `landau-next` | +| 🆕 Релиз | Создание `landau-V.P.y` на основе стабильной `landau-next` | +| 🔧 Поддержка | Сбор исправлений ошибок в GIT-ветке `landau-V.P.y` | +| 🐢 Окончание поддержки | Исходная версия достигает EOL | + +> В базовом представлении _поддержка_ подразумевает периодическую синхронизацию +> `landau-V.P.y` с исходной GIT-веткой `linux-V.P.y`. + +--- + +## 📅 4. График релизов + +### ⏱️ Цикл релизов ядра Linux + +В оригинальном репозитории ядра Linux поддерживается следующий цикл разработки: + +| Фаза | ⏰ Длительность | 📝 Описание | +|------|----------------|-------------| +| Разработка | 9-10 недель | Подготовка к новому релизу | +| Rebase & Merge Window | 2 недели | Приём новых Merge Requests от мейнтейнеров | +| RC-тестирование | 7-8 недель | Тестирование кандидатов на релиз | +| Финальный релиз | — | Публикация стабильного ядра | + +> ℹ️ **Важно**: Поскольку релизы LANDAU Linux базируются на стабильных релизах +> ядра Linux, то текущий цикл разработки всегда отстаёт от последней версии ядра +> Linux на **1 PATCHLEVEL**. + +--- + +## 🔄 5. Процесс выпуска LANDAU Linux + +### 📊 Полный цикл релиза + +```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 Block1["Подготовка релиза (этап RC)"] + direction LR + A["📦 Новый релиз ядра Linux"] --> B + B(["🔓 1. RMW LANDAU Linux
(~2 нед.)"]) --> C + C["🔧 Перенос и слияние Bundle-ов"] --> D + D(["🔓 2. RC LANDAU Linux
(~1 нед. на RCx)"]) --> E + E["🔧 Исправление ошибок
(выпуск 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["🔧 Публикация изменений
LANDAU Linux"] --> D + D(["🔓 4. Поддержка LANDAU Linux"]) --> E + E["🔧 Исправление ошибок и
синхронизация SUBLEVEL"] --> F + F(["🐢 5. EOL LANDAU Linux"]) + end +``` + +### 5.1 🆕 Этап RMW LANDAU Linux + +| Шаг | Действие | +|-----|----------| +| 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 + +| Шаг | Действие | +|-----|----------| +| 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, но **не более 7-8 недель** | +| 🎯 Фокус | Регрессионное тестирование, стабильность, валидация фич | +| 🏷️ Релизы | `l-rc1`, `l-rc2`, `l-rc3` ... | +| 🔧 Исправления | Применяются непосредственно в ветку релиза по запросу нижестоящих ментейнеров | + +> ℹ️ Стабилизация GIT-ветки `landau-next` (отсуствие выявленных ошибок в +> очреденом RC-цикле) символизирует окончание этапа RC и выход на релиз. + +### 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 🔄 Поддержка стабильной и LTS-версий LANDAU Linux + +| Шаг | Действие | Пример | +|-----|----------|--------| +| 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` | + +| Параметр | Значение | +|----------|----------| +| ⏱️ Длительность | До получения статуса EOL исходной версии ядра Linux | +| 🎯 Фокус | Исправление серьезных ошибок, выявленных в стабильном релизе LANDAU Linux | +| 🏷️ Релизы | `l1`, `l2`, `l2`, ... | +| 🔧 Исправления | Применяются по запросу нижестоящих ментейнеров в рамках корректирующих релизов | + +Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать стабильные и +LTS-версии** ядра Linux до получения статуса EOL. Однако гарантировано +корректирующие изменения LANDAU Linux портируются в LANDAU Linux на основе +последней LTS-версии ядра Linux. Портирование изменений в более ранние версии +возможно при наличии ресурсов. + +⚠️ Особенности интеграции изменений в стабильную и LTS версии LANDAU Linux: + +| ✅ Разрешено | ❌ Запрещено | +|--------------|--------------| +| Исправления безопасности | Бэкпорт новых фич | +| Критические багфиксы | Новые драйверы | +| Стабилизирующие патчи | Изменения подсистем | +| Документация | Любые не-багфиксы | + +> 📌 **Принцип**: Поддерживается тот Changelog, который был на момент отвода LTS основного ядра. + +### 5.5 🔄 Завершение поддержки релиза LANDAU Linux (EOL) + +| Шаг | Действие | +|-----|----------| +| 1 | Получение статуса EOL исходной версии стабильного ядра Linux | +| 2 | Объявление о завершении поддержки LANDAU Linux в GIT-ветке `landau-V.P.y` | + +| Параметр | Значение | +|----------|----------| +| ⏱️ Длительность | Минимум несколько корректирующих релизов стабильной версии LANDAU Linux до регистрации EOL | +| 🎯 Фокус | Завершение поддержки релиза | +| 🏷️ Релизы | `lZ` | +| 🔧 Исправления | Не применяются | + +Поддержка **стабильной и LTS версий** LANDAU Linux завершается либо вместе с +получением статуса EOL исходной версии ядра Linux, либо после выпуска релиза +LANDAU Linux, основанного на последней LTS-версии ядра Linux. + +--- + +## 👤 6. Обязанности мейнтейнера + +| Область | Ответственность | +|---------|------------------| +| 👁️ Мониторинг исходного репозитория | Отслеживание новых релизов и RC-циклов | +| 📦 Применение патчей | Интеграция LANDAU-специфичных изменений ядра | +| 🏷️ Управление тегами | Создание аннотированных тегов в формате `vV.P.lZ` | +| 🧪 Координация RC | Организация тестирования кандидатов на релиз | +| 🔒 Безопасность | Мониторинг и применение исправлений безопасности | +| 📝 Документирование | Ведение changelog для каждого LANDAU-релиза | + +### 🏗️ Личные репозитории ментейнеров + +В личных репозиториях мейнтейнеры хранят и развивают собственные форки ядра +Linux с подведомственным им набором изменений. + +В целом, способ организации персональных репозиториев мейнтейнеры могут выбирать +самостоятельно. Например, можно разделить независимые изменения на GIT-ветки по +подсистемам и отправлять MR с каждым из них, либо предварительно объединить их в +единую GIT-ветку и отправить один целостный MR. При этом необходимо +придерживаться правила **преемственности предыдущих изменений и минимизации +merge-конфликтов**. То есть GIT-ветка, отправляемая в MR главному мейнтейнеру, +должна сохранять историю предыдущих изменений LANDAU Linux и их исправлений, а +также содержать последнюю версию оригинальной версии ядра Linux, для которого +готовится релиз LANDAU Linux. + +Для реализации такого требования удобно использовать подход **двойного +слияния**, суть которого в том, чтобы сначала мейнтейнеры своих репозиториев +LANDAU Linux (sub-LANDAU Linux) выполнили слияние своих GIT-веток с +`landau-next`, разрешили все конфликты и лишь потом отправляли MR в рамках этапа +RMW. + +```mermaid +--- +config: + gitGraph: + parallelCommits: false + mainBranchName: 'linux-V.P.y' +--- +gitGraph + branch baikal-next order: 2 + branch amlogic-next order: 3 + commit + commit + checkout baikal-next + commit + commit + checkout linux-V.P.y + commit + commit + commit id: "Linux V.P" tag: "vV.P" + branch landau-next order: 1 + commit id: " " type: HIGHLIGHT + checkout amlogic-next + merge landau-next + checkout baikal-next + merge landau-next + checkout landau-next + merge amlogic-next + merge baikal-next + commit id: "LANDAU Linux V.P.l-rc1" tag: "vV.P.l-rc1" +``` + +Таким образом, основная нагрузка по исправлению конфликтов ложится на +нижестоящих ментейнеров. Главному ментейнеру остаётся лишь собрать все MR в +`linux-next`. Если и в этом случае возникают сложные конфликты, то главный +ментейнер вправе попросить выполнить повторный цикл **двойного слияния**, чтобы +кросс sub-LANDAU Linux конфликты были разешены на стороне нижестоящих +ментейнеров. + +Опционально ментейнеры могут выполнять поддержку GIT-веток с патч-сетами для +последующей отправки изменений в оригинальный репозиторий ядра Linux. До момента +интеграции патч-сеты могут "поглощать" исправления и стилистические изменения в +процессе перебазирования на новую версию ядра Linux. Это упрощает сопровождение +таких GIT-веток, минимизируя лог изменений, который к тому же является лишним +при интеграции в ядро Linux. + +--- + +## 📖 7. Пример полного цикла релиза + +### Исходные данные + +Выпущено ядро Linux версии **`7.0`**. Это означает, что в оригинальном +репозитории ядра Linux изменения, добавленные в период окна слияния, достаточно +стабилизировались, этап RC завершён, EXTRAVERSION принимает пустое значение, +последний коммит символизирует релиз ядра Linux 7.0, а в GIT-репозитории +стабильных и LTS веток появляется новая ветка `linux-7.0.y`. + +### 📍 Пошаговый пример + +#### 👁️ Схема + +| Этап | Действие | Результат | Версия сборки | +|------|----------|-----------|---------------| +| 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 | **Финальный релиз** и **создание нумерованной GIT-ветки** | `v7.0.l`
`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 | GIT-ветка `landau-7.0.y` архивируется | — | + +#### 🔄 Детальное описание процесса + +1. **Выход нового стабильного релиза ядра Linux** (например, `v7.0` по результатам 7 недель стабилизации) +2. **Открытие RMW LANDAU Linux** — берём 2 недели на свой релиз LANDAU Linux: + - Затаскиваем патч-серии (MR) в ветку `landau-next`, на основе `v7.0` + - Там же происходит решение всех конфликтов + - Формируются первые общие сборки ядра +3. **Выпуск RC-версий** (например, `v7.0.l-rc1`) — RC-релизы делаются в GIT-ветке `landau-next` +4. **Тестирование** — длится до 7 недель (может быть меньше): + - Выпускаются RC-версии: `l-rc1`, `l-rc2`, `l-rc3` и т.д. +5. **Финальный релиз и отвод стабильной ветки**: + - Выпускаем релиз `v7.0.l` + - Создаём стабильную GIT-ветку **`landau-7.0.y`** на базе последнего релиза + - Вся дальнейшая поддержка этой версии ведётся в `landau-7.0.y` +6. **Завершение цикла `landau-next`**: + - Ветка `landau-next` останавливает свой рост на первом релизе `v7.0.l` + - Переключается на шаг 1, когда в исходном репозитории Linux выходит новый стабильный релиз (например, `v7.1`) +7. **Интеграция новых изменений SUBLEVEL из исходной стабильной версии ядра Linux**: + - Если в исходном репозитории меняется SUBLEVEL (например, `7.0.1`), мы интегрируем данный релиз в **`landau-7.0.y`** + - Повышаем свою версию: `v7.0.1.l1` + - То есть повышается версия LANDAU Linux, а SUBLEVEL получает новое значение согласно интегрированным изменениям +8. **Развитие стабильной версии**: + - Стабильная версия LANDAU Linux `v7.0` ведётся в ветке `landau-7.0.y` +9. **Окончание поддержки релиза**: + - Поддержка релиза ветки LANDAU Linux заканчивается, когда версия основного ядра больше не имеет статус стабильной на kernel.org (например, `7.0` достигла статуса EOL) +10. **LTS-поддержка**: + - Если основное ядро уходит в LTS, LANDAU поддерживает LTS до конца + - Приносятся только фиксы LANDAU Linux (без новых фич) и новые SUBLEVEL +11. **Гарантии поддержки**: + - LANDAU Linux Owners гарантированно поддерживают **одно последнее LTS ядро** + - Про поддержку более старых LTS ядер думаем при наличии ресурсов + +#### 🏷️ Пример полной цепочки тегов + +Для ядра `7.0.x` в LANDAU: + +``` +v7.0.l-rc1 → v7.0.l-rc2 → v7.0.l-rc3 → v7.0.l + ↓ + отвод landau-7.0.y + ↓ + v7.0.1.l1 → v7.0.2.l2 → ... +``` + +--- + +### Требования к патчам + +TODO + +### Pull requests + +TODO + +### Maintainers B4 usage + +TODO + +--- + +## 📚 8. Ссылки и ресурсы + +| Ресурс | URL | +|--------|-----| +| 📦 Репозитории LANDAU Linux | [https://git.rulkc.org/pub/scm/landau](https://git.rulkc.org/pub/scm/landau) | +| 🪞 Зеркала репозиториев Linux | [https://git.rulkc.org](https://git.rulkc.org) | +| 🔗 Оригинальные репозитории Linux | [https://kernel.org](https://kernel.org) | + +--- + +
+ 📌 Актуальная версия: 1.0 + ✍️ Поддерживается: LANDAU Maintainers + 📅 Обновлено: 2026-07 +
+ +[⬅️ Вернуться на страницу LANDAU Linux](./index.md) diff --git a/content/open_mic_27_03_2026/_index.md b/content/open_mic_27_03_2026/_index.md new file mode 100644 index 0000000..74cd4d7 --- /dev/null +++ b/content/open_mic_27_03_2026/_index.md @@ -0,0 +1,86 @@ +# 🎙️ Открытый микрофон #001 + +## «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU» + +--- + +📅 **Дата:** 27 марта 2026 года +⏰ **Время:** 20:00 +📍 **Формат:** Очно / Online (гибрид) +👥 **Организатор:** [RULKC](https://rulkc.org) (Russian Linux Kernel Community) + +--- + +## 🧭 О встрече + +Открываем серию практических обсуждений, посвящённых проблемам поддержки технических наработок в ядре Linux в текущих условиях. Тема первой встречи сформулирована намеренно широко, чтобы собрать максимум инженерных мнений. + +**👋 Мы приглашаем к разговору:** +* 🐧 Разработчиков и мейнтейнеров ядра Linux из российских компаний +* 🔌 Инженеров встраиваемых систем и разработчиков «железа» +* 💡 Всех, кому интересно будущее платформы Linux в России + +--- + +## ❓ Ключевые вопросы для обсуждения + +В ходе обсуждения будут затронуты вопросы создания единого форка ядра Linux силами российских инженеров, мейнтейнеров и компаний-разработчиков. +Обсудим потребности и цели, риски, архитектуру и модель поддержки такого проекта. + +Встреча пройдет в формате свободной дискуссии (открытого микрофона) с модераторами: + +1. **🤔 Потребность в едином форке** + * Нужен ли он инженерному сообществу? + * Как каждая компания поддерживает свои форки? + * Какие практические проблемы (дублирование кода, сложности поддержки, санкционные риски при взаимодействии) он может помочь решить? + +2. **🖧 Поддержка железа** + * Как эффективно организовать совместную работу над драйверами для Baikal, Эльбрус, RISC-V и других процессоров, а также периферии устройств? + * Набрана ли критическая масса для унификации кода от различных вендоров? + * Существует ли потребность у потребителей иметь доступный, обсуждаемый и кросс-валидируемый код? + * Нужна ли общая «песочница» для экспериментов? + * В каких продуктах и релизах может применяться LANDAU? Для встраиваемых систем, десктопов, серверов? + +3. **🏗️ Модель разработки** + * Должен ли форк быть только «ядром» (kernel-only) или включать минимальное окружение для тестирования? + * Как часто обновляться до новых версий upstream? + * Должен ли форк иметь LTS-ветки? Если да, то как часто их выпускать? + +4. **⚙️ Инфраструктура** + * Как создать распределённую CI-лабораторию для тестирования (на примере Kernel-CI и LAVA) на реальном железе? + * Кто готов делиться ресурсами? + +--- + +## 🎯 Ожидаемые результаты + +По итогам встречи мы планируем: + +* 📊 **Выявить потребности рынка** в едином форке ядра +* 🗣️ **Услышать мнение участников** о готовности вкладывать ресурсы в поддержку форка +* 🎯 **Выделить приоритетные направления** для дальнейшей работы +* 👣 **Обсудить следующие шаги** — проведение дополнительных встреч с привлечением другого состава участников, создание рабочей группы, возможная юридическая формализация активности + +--- + +## 💡 Почему это важно? + +Задача этой встречи — **услышать друг друга**. +Понять, какие боли есть у разных команд, где мы можем объединить усилия уже сейчас, а какие вопросы требуют более глубокой проработки с юристами и руководителями. + +📊 Результатом встречи станет **список потребностей инженерного сообщества**, который ляжет в основу следующих шагов проекта ⚛️ LANDAU. + +--- + +## 📝 Регистрация и контакты + +Для участия (особенно в очном формате) пожалуйста, пройдите по ссылке: +🔗 [https://tabs.mts.ru/share/shrjzSDNCwDjT3kp6VNWE](https://tabs.mts.ru/share/shrjzSDNCwDjT3kp6VNWE) + +--- + +**Контактное лицо:** RULKC +📧 [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) +💬 [t.me/linux_kernel_O](https://t.me/linux_kernel_O) + +[⬅️ Вернуться на главную страницу LANDAU](./index.md) diff --git a/content/rulkc.png b/content/rulkc.png new file mode 100644 index 0000000..8ae262d Binary files /dev/null and b/content/rulkc.png differ diff --git a/landau-linux/index.md b/landau-linux/index.md deleted file mode 100644 index fa13712..0000000 --- a/landau-linux/index.md +++ /dev/null @@ -1,39 +0,0 @@ -# ⚛️ LANDAU Linux - ---- - -## 🎯 О проекте - -LANDAU Linux - это **upstream-first форк** ядра Linux, исправляющий и -расширяющий его функционал: - -* 🔄 **Регулярное обновление:** Следование за актуальными версиями ядра Linux -(раз в 2+ месяца). -* 📦 **Приём патчей:** Включение полезных наработок, которые по разным -причинам не попали в оригинальный репозиторий ядра Linux (драйверы, -архитектурные доработки). -* 🖥️ **Поддержка специализированной аппаратуры:** Создание единой ветки ядра -как основы BSP для процессоров различных архитектур (ARM, MIPS, RISC-V, -Эльбрус), аппаратных платформ, потребительской электроники, в том числе -разрабатываемой в России. -* 👁️ **Прозрачность:** Открытый процесс ревью, современный CI и совместное -тестирование. - -Проект решает текущие задачи индустрии: сохраняет и развивает код ядра, борется -с его фрагментацией, а за счет консолидации открытых решений создает синергию -для всех, кто использует Linux в качестве системного ПО. В долгосрочной -перспективе LANDAU Linux станет надежной основой для разработчиков IP-ядер, -ODM-производителей, создателей дистрибутивов и других участников экосистемы. - ---- - -## 📄 Ключевые документы - -| Документ | Описание | -|----------|----------| -| 📋 **[LANDAU Linux Maintenance](./maintenance.md)** | Официальный процесс maintenance LANDAU Linux | - ---- - -[⬅️ Вернуться на главную LANDAU](../index.md) - diff --git a/landau-linux/maintenance.md b/landau-linux/maintenance.md deleted file mode 100644 index 0bf8391..0000000 --- a/landau-linux/maintenance.md +++ /dev/null @@ -1,582 +0,0 @@ -title: "📋 Манифест сопровождения ядра LANDAU Linux" -description: "Описание процесса разработки ядра LANDAU Linux — ветки, релизы, версионирование и сопровождение" -published: true ---- - -# 📋 Манифест процесса сопровождения ядра LANDAU Linux - -> **LANDAU Linux** — форк ядра Linux с собственной схемой версионирования -> и предсказуемым циклом релизов. Этот документ описывает формальный процесс -> сопровождения (maintenance) проекта. - ---- - -## 🧭 1. Обзор - -### 🎯 Цель - -Обеспечить стабильный, предсказуемый и документированный процесс выпуска релизов -LANDAU Linux с отслеживанием оригинального репозитория ядра Linux. - -### 📖 Глоссарий - -| Термин | Полное название | Описание | -|--------|-----------------|----------| -| **V** | VERSION | Major версия ядра Linux. Определяет основной номер версии (например, `6` в `6.12.7`). | -| **P** | PATCHLEVEL | Middle версия ядра Linux. Определяет минорный номер версии (например, `12` в `6.12.7`). | -| **S** | SUBLEVEL | Minor версия ядра Linux. Определяет номер стабильного обновления (например, `7` в `6.12.7`). | -| **E** | EXTRAVERSION | Поле в версии ядра Linux, в которое встраивается версия ядра LANDAU Linux. Ядром Linux обычно используется для `-rc` релизов. | -| **MR** | Merge Request | Запрос на слияние одной Git-ветки с другой. Оформляется в виде ссылки на Git-репозиторий и ветку авторизованного мейнтейнера с формальным описанием. | -| **RMW** | Rebase & Merge Window | Временной отрезок (2 недели), в рамках которого мейнтейнеры LANDAU переносят свои изменения на новую базовую версию ядра. | -| **Bundle** | — | Полный набор изменений репозитория LANDAU Linux, отличающий его от оригинального ядра Linux. Есть общий Bundle и Bundle-ы мейнтейнеров. | -| **EOL** | End-of-Life | Завершение этапа поддержки выпущенной версии продукта. Ветка больше не получает обновлений и архивируется. | - -### 🪞 Зеркала оригинальных репозиториев Linux - -На сервере **[git.rulkc.org](https://git.rulkc.org)** поддерживаются постоянно -обновляемые зеркала: - -- 🔷 `torvalds/linux` — основная ветка ядра Linux -- 🔷 `stable/linux` — стабильные релизы ядра Linux -- 🔷 `linux-next` — интеграционное дерево linux-next - ---- - -## 🏷️ 2. Схема версионирования - -### 📐 Формат версии LANDAU Linux - -``` -VERSION.PATCHLEVEL.SUBLEVEL.lXYZ -``` - -| Компонент | Пример | Описание | -|-----------|--------|----------| -| `VERSION` | `7` | Мажорная версия ядра | -| `PATCHLEVEL` | `0` | Минорная версия ядра | -| `SUBLEVEL` | `12` | Номер стабильного обновления ядра | -| `l-rcX` | `l-rc1`, `l-rc2` | Сборочный номер отладочного релиза LANDAU Linux | -| `lXYZ` | `l`, `l1` | Сборочный номер стабильного релиза LANDAU Linux | - -### 🏷️ Git-теги - -Используются **аннотированные теги** в формате: - -``` -v7.0.l-rcX -v7.0.lXYZ -``` - -Пример: `v7.0.l-rc1`, `v7.0.l`, `v7.0.l5` - ---- - -## 🌿 3. Cтратегия организации GIT-веток - -### 📌 Основные GIT-ветки - -| Ветка | Назначение | -|-------|-------------| -| `landau-next` | GIT-ветка следующего релиза LANDAU Linux, куда мейтейнеры отсылают свои MR | -| `landau-V.P.y` | Текущая GIT-ветка для релиза LANDAU Linux на базе стабильного ядра Linux с версией V.P | - -> `landau-next` - GIT-ветка для работы всех мейтейнеров вместе. В ней -> разрешаются конфликты и собираются все MR вместе для создания ветки -> `landau-V.P.y`. При старте нового RMW её HEAD насильно переносится -> (_force-push_) на новый релиз ядра Linux. - -### ⏳ Жизненный цикл GIT-веток - -```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', - 'clusterBkg': '#002b36', - 'clusterBorder': '#586e75', - 'fontSize': '20px', - 'fontFamily': 'monospace' - }, - 'flowchart': { - 'nodeSpacing': 80, - 'rankSpacing': 30, - 'curve': 'basis', - 'padding': 10 - } -}}%% -flowchart TB - subgraph Block1["Подготовка релиза (этап RC)"] - direction LR - A["landau-nextlinux-V.P.y"] - B["Стабилизация landau-next"] - C{"Код
landau-next стабилен?"} - D(("•••")) - E["P = P + 1"] - - A --> B - B --> C - C -->|Нет| B - C -->|Да| D - C -->|Да| E - E -.->|Ожидание релиза P| A - 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', - 'clusterBkg': '#002b36', - 'clusterBorder': '#586e75', - 'fontSize': '20px', - 'fontFamily': 'monospace' - }, - 'flowchart': { - 'nodeSpacing': 80, - 'rankSpacing': 30, - 'curve': 'basis', - 'padding': 10 - } -}}%% -flowchart TB - subgraph Block2["Релиз LANDAU Linux"] - direction LR - A(("•••")) - B["landau-V.P.ylandau-next"] - C["Поддержка landau-V.P.y"] - D{"Статус
linux-V.P.y EOL?"} - E["Архивация landau-V.P.y"] - - A --> B - B --> C - C --> D - D -->|Нет| C - D -->|Да| E - end -``` - -| Стадия | Действие | -|--------|----------| -| 🛑 Старт | Принудительное переназначение `landau-next` на базовую версию ядра Linux | -| 🔧 Разработка | Сбор и стабилизация изменений LANDAU в GIT-ветке `landau-next` | -| 🆕 Релиз | Создание `landau-V.P.y` на основе стабильной `landau-next` | -| 🔧 Поддержка | Сбор исправлений ошибок в GIT-ветке `landau-V.P.y` | -| 🐢 Окончание поддержки | Исходная версия достигает EOL | - -> В базовом представлении _поддержка_ подразумевает периодическую синхронизацию -> `landau-V.P.y` с исходной GIT-веткой `linux-V.P.y`. - ---- - -## 📅 4. График релизов - -### ⏱️ Цикл релизов ядра Linux - -В оригинальном репозитории ядра Linux поддерживается следующий цикл разработки: - -| Фаза | ⏰ Длительность | 📝 Описание | -|------|----------------|-------------| -| Разработка | 9-10 недель | Подготовка к новому релизу | -| Rebase & Merge Window | 2 недели | Приём новых Merge Requests от мейнтейнеров | -| RC-тестирование | 7-8 недель | Тестирование кандидатов на релиз | -| Финальный релиз | — | Публикация стабильного ядра | - -> ℹ️ **Важно**: Поскольку релизы LANDAU Linux базируются на стабильных релизах -> ядра Linux, то текущий цикл разработки всегда отстаёт от последней версии ядра -> Linux на **1 PATCHLEVEL**. - ---- - -## 🔄 5. Процесс выпуска LANDAU Linux - -### 📊 Полный цикл релиза - -```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 Block1["Подготовка релиза (этап RC)"] - direction LR - A["📦 Новый релиз ядра Linux"] --> B - B(["🔓 1. RMW LANDAU Linux
(~2 нед.)"]) --> C - C["🔧 Перенос и слияние Bundle-ов"] --> D - D(["🔓 2. RC LANDAU Linux
(~1 нед. на RCx)"]) --> E - E["🔧 Исправление ошибок
(выпуск 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["🔧 Публикация изменений
LANDAU Linux"] --> D - D(["🔓 4. Поддержка LANDAU Linux"]) --> E - E["🔧 Исправление ошибок и
синхронизация SUBLEVEL"] --> F - F(["🐢 5. EOL LANDAU Linux"]) - end -``` - -### 5.1 🆕 Этап RMW LANDAU Linux - -| Шаг | Действие | -|-----|----------| -| 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 - -| Шаг | Действие | -|-----|----------| -| 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, но **не более 7-8 недель** | -| 🎯 Фокус | Регрессионное тестирование, стабильность, валидация фич | -| 🏷️ Релизы | `l-rc1`, `l-rc2`, `l-rc3` ... | -| 🔧 Исправления | Применяются непосредственно в ветку релиза по запросу нижестоящих ментейнеров | - -> ℹ️ Стабилизация GIT-ветки `landau-next` (отсуствие выявленных ошибок в -> очреденом RC-цикле) символизирует окончание этапа RC и выход на релиз. - -### 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 🔄 Поддержка стабильной и LTS-версий LANDAU Linux - -| Шаг | Действие | Пример | -|-----|----------|--------| -| 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` | - -| Параметр | Значение | -|----------|----------| -| ⏱️ Длительность | До получения статуса EOL исходной версии ядра Linux | -| 🎯 Фокус | Исправление серьезных ошибок, выявленных в стабильном релизе LANDAU Linux | -| 🏷️ Релизы | `l1`, `l2`, `l2`, ... | -| 🔧 Исправления | Применяются по запросу нижестоящих ментейнеров в рамках корректирующих релизов | - -Мейнтейнеры LANDAU Linux приняли решение **нативно поддерживать стабильные и -LTS-версии** ядра Linux до получения статуса EOL. Однако гарантировано -корректирующие изменения LANDAU Linux портируются в LANDAU Linux на основе -последней LTS-версии ядра Linux. Портирование изменений в более ранние версии -возможно при наличии ресурсов. - -⚠️ Особенности интеграции изменений в стабильную и LTS версии LANDAU Linux: - -| ✅ Разрешено | ❌ Запрещено | -|--------------|--------------| -| Исправления безопасности | Бэкпорт новых фич | -| Критические багфиксы | Новые драйверы | -| Стабилизирующие патчи | Изменения подсистем | -| Документация | Любые не-багфиксы | - -> 📌 **Принцип**: Поддерживается тот Changelog, который был на момент отвода LTS основного ядра. - -### 5.5 🔄 Завершение поддержки релиза LANDAU Linux (EOL) - -| Шаг | Действие | -|-----|----------| -| 1 | Получение статуса EOL исходной версии стабильного ядра Linux | -| 2 | Объявление о завершении поддержки LANDAU Linux в GIT-ветке `landau-V.P.y` | - -| Параметр | Значение | -|----------|----------| -| ⏱️ Длительность | Минимум несколько корректирующих релизов стабильной версии LANDAU Linux до регистрации EOL | -| 🎯 Фокус | Завершение поддержки релиза | -| 🏷️ Релизы | `lZ` | -| 🔧 Исправления | Не применяются | - -Поддержка **стабильной и LTS версий** LANDAU Linux завершается либо вместе с -получением статуса EOL исходной версии ядра Linux, либо после выпуска релиза -LANDAU Linux, основанного на последней LTS-версии ядра Linux. - ---- - -## 👤 6. Обязанности мейнтейнера - -| Область | Ответственность | -|---------|------------------| -| 👁️ Мониторинг исходного репозитория | Отслеживание новых релизов и RC-циклов | -| 📦 Применение патчей | Интеграция LANDAU-специфичных изменений ядра | -| 🏷️ Управление тегами | Создание аннотированных тегов в формате `vV.P.lZ` | -| 🧪 Координация RC | Организация тестирования кандидатов на релиз | -| 🔒 Безопасность | Мониторинг и применение исправлений безопасности | -| 📝 Документирование | Ведение changelog для каждого LANDAU-релиза | - -### 🏗️ Личные репозитории ментейнеров - -В личных репозиториях мейнтейнеры хранят и развивают собственные форки ядра -Linux с подведомственным им набором изменений. - -В целом, способ организации персональных репозиториев мейнтейнеры могут выбирать -самостоятельно. Например, можно разделить независимые изменения на GIT-ветки по -подсистемам и отправлять MR с каждым из них, либо предварительно объединить их в -единую GIT-ветку и отправить один целостный MR. При этом необходимо -придерживаться правила **преемственности предыдущих изменений и минимизации -merge-конфликтов**. То есть GIT-ветка, отправляемая в MR главному мейнтейнеру, -должна сохранять историю предыдущих изменений LANDAU Linux и их исправлений, а -также содержать последнюю версию оригинальной версии ядра Linux, для которого -готовится релиз LANDAU Linux. - -Для реализации такого требования удобно использовать подход **двойного -слияния**, суть которого в том, чтобы сначала мейнтейнеры своих репозиториев -LANDAU Linux (sub-LANDAU Linux) выполнили слияние своих GIT-веток с -`landau-next`, разрешили все конфликты и лишь потом отправляли MR в рамках этапа -RMW. - -```mermaid ---- -config: - gitGraph: - parallelCommits: false - mainBranchName: 'linux-V.P.y' ---- -gitGraph - branch baikal-next order: 2 - branch amlogic-next order: 3 - commit - commit - checkout baikal-next - commit - commit - checkout linux-V.P.y - commit - commit - commit id: "Linux V.P" tag: "vV.P" - branch landau-next order: 1 - commit id: " " type: HIGHLIGHT - checkout amlogic-next - merge landau-next - checkout baikal-next - merge landau-next - checkout landau-next - merge amlogic-next - merge baikal-next - commit id: "LANDAU Linux V.P.l-rc1" tag: "vV.P.l-rc1" -``` - -Таким образом, основная нагрузка по исправлению конфликтов ложится на -нижестоящих ментейнеров. Главному ментейнеру остаётся лишь собрать все MR в -`linux-next`. Если и в этом случае возникают сложные конфликты, то главный -ментейнер вправе попросить выполнить повторный цикл **двойного слияния**, чтобы -кросс sub-LANDAU Linux конфликты были разешены на стороне нижестоящих -ментейнеров. - -Опционально ментейнеры могут выполнять поддержку GIT-веток с патч-сетами для -последующей отправки изменений в оригинальный репозиторий ядра Linux. До момента -интеграции патч-сеты могут "поглощать" исправления и стилистические изменения в -процессе перебазирования на новую версию ядра Linux. Это упрощает сопровождение -таких GIT-веток, минимизируя лог изменений, который к тому же является лишним -при интеграции в ядро Linux. - ---- - -## 📖 7. Пример полного цикла релиза - -### Исходные данные - -Выпущено ядро Linux версии **`7.0`**. Это означает, что в оригинальном -репозитории ядра Linux изменения, добавленные в период окна слияния, достаточно -стабилизировались, этап RC завершён, EXTRAVERSION принимает пустое значение, -последний коммит символизирует релиз ядра Linux 7.0, а в GIT-репозитории -стабильных и LTS веток появляется новая ветка `linux-7.0.y`. - -### 📍 Пошаговый пример - -#### 👁️ Схема - -| Этап | Действие | Результат | Версия сборки | -|------|----------|-----------|---------------| -| 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 | **Финальный релиз** и **создание нумерованной GIT-ветки** | `v7.0.l`
`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 | GIT-ветка `landau-7.0.y` архивируется | — | - -#### 🔄 Детальное описание процесса - -1. **Выход нового стабильного релиза ядра Linux** (например, `v7.0` по результатам 7 недель стабилизации) -2. **Открытие RMW LANDAU Linux** — берём 2 недели на свой релиз LANDAU Linux: - - Затаскиваем патч-серии (MR) в ветку `landau-next`, на основе `v7.0` - - Там же происходит решение всех конфликтов - - Формируются первые общие сборки ядра -3. **Выпуск RC-версий** (например, `v7.0.l-rc1`) — RC-релизы делаются в GIT-ветке `landau-next` -4. **Тестирование** — длится до 7 недель (может быть меньше): - - Выпускаются RC-версии: `l-rc1`, `l-rc2`, `l-rc3` и т.д. -5. **Финальный релиз и отвод стабильной ветки**: - - Выпускаем релиз `v7.0.l` - - Создаём стабильную GIT-ветку **`landau-7.0.y`** на базе последнего релиза - - Вся дальнейшая поддержка этой версии ведётся в `landau-7.0.y` -6. **Завершение цикла `landau-next`**: - - Ветка `landau-next` останавливает свой рост на первом релизе `v7.0.l` - - Переключается на шаг 1, когда в исходном репозитории Linux выходит новый стабильный релиз (например, `v7.1`) -7. **Интеграция новых изменений SUBLEVEL из исходной стабильной версии ядра Linux**: - - Если в исходном репозитории меняется SUBLEVEL (например, `7.0.1`), мы интегрируем данный релиз в **`landau-7.0.y`** - - Повышаем свою версию: `v7.0.1.l1` - - То есть повышается версия LANDAU Linux, а SUBLEVEL получает новое значение согласно интегрированным изменениям -8. **Развитие стабильной версии**: - - Стабильная версия LANDAU Linux `v7.0` ведётся в ветке `landau-7.0.y` -9. **Окончание поддержки релиза**: - - Поддержка релиза ветки LANDAU Linux заканчивается, когда версия основного ядра больше не имеет статус стабильной на kernel.org (например, `7.0` достигла статуса EOL) -10. **LTS-поддержка**: - - Если основное ядро уходит в LTS, LANDAU поддерживает LTS до конца - - Приносятся только фиксы LANDAU Linux (без новых фич) и новые SUBLEVEL -11. **Гарантии поддержки**: - - LANDAU Linux Owners гарантированно поддерживают **одно последнее LTS ядро** - - Про поддержку более старых LTS ядер думаем при наличии ресурсов - -#### 🏷️ Пример полной цепочки тегов - -Для ядра `7.0.x` в LANDAU: - -``` -v7.0.l-rc1 → v7.0.l-rc2 → v7.0.l-rc3 → v7.0.l - ↓ - отвод landau-7.0.y - ↓ - v7.0.1.l1 → v7.0.2.l2 → ... -``` - ---- - -### Требования к патчам - -TODO - -### Pull requests - -TODO - -### Maintainers B4 usage - -TODO - ---- - -## 📚 8. Ссылки и ресурсы - -| Ресурс | URL | -|--------|-----| -| 📦 Репозитории LANDAU Linux | [https://git.rulkc.org/pub/scm/landau](https://git.rulkc.org/pub/scm/landau) | -| 🪞 Зеркала репозиториев Linux | [https://git.rulkc.org](https://git.rulkc.org) | -| 🔗 Оригинальные репозитории Linux | [https://kernel.org](https://kernel.org) | - ---- - -
- 📌 Актуальная версия: 1.0 - ✍️ Поддерживается: LANDAU Maintainers - 📅 Обновлено: 2026-07 -
- -[⬅️ Вернуться на страницу LANDAU Linux](./index.md) diff --git a/open_mic_27_03_2026.md b/open_mic_27_03_2026.md deleted file mode 100644 index 74cd4d7..0000000 --- a/open_mic_27_03_2026.md +++ /dev/null @@ -1,86 +0,0 @@ -# 🎙️ Открытый микрофон #001 - -## «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU» - ---- - -📅 **Дата:** 27 марта 2026 года -⏰ **Время:** 20:00 -📍 **Формат:** Очно / Online (гибрид) -👥 **Организатор:** [RULKC](https://rulkc.org) (Russian Linux Kernel Community) - ---- - -## 🧭 О встрече - -Открываем серию практических обсуждений, посвящённых проблемам поддержки технических наработок в ядре Linux в текущих условиях. Тема первой встречи сформулирована намеренно широко, чтобы собрать максимум инженерных мнений. - -**👋 Мы приглашаем к разговору:** -* 🐧 Разработчиков и мейнтейнеров ядра Linux из российских компаний -* 🔌 Инженеров встраиваемых систем и разработчиков «железа» -* 💡 Всех, кому интересно будущее платформы Linux в России - ---- - -## ❓ Ключевые вопросы для обсуждения - -В ходе обсуждения будут затронуты вопросы создания единого форка ядра Linux силами российских инженеров, мейнтейнеров и компаний-разработчиков. -Обсудим потребности и цели, риски, архитектуру и модель поддержки такого проекта. - -Встреча пройдет в формате свободной дискуссии (открытого микрофона) с модераторами: - -1. **🤔 Потребность в едином форке** - * Нужен ли он инженерному сообществу? - * Как каждая компания поддерживает свои форки? - * Какие практические проблемы (дублирование кода, сложности поддержки, санкционные риски при взаимодействии) он может помочь решить? - -2. **🖧 Поддержка железа** - * Как эффективно организовать совместную работу над драйверами для Baikal, Эльбрус, RISC-V и других процессоров, а также периферии устройств? - * Набрана ли критическая масса для унификации кода от различных вендоров? - * Существует ли потребность у потребителей иметь доступный, обсуждаемый и кросс-валидируемый код? - * Нужна ли общая «песочница» для экспериментов? - * В каких продуктах и релизах может применяться LANDAU? Для встраиваемых систем, десктопов, серверов? - -3. **🏗️ Модель разработки** - * Должен ли форк быть только «ядром» (kernel-only) или включать минимальное окружение для тестирования? - * Как часто обновляться до новых версий upstream? - * Должен ли форк иметь LTS-ветки? Если да, то как часто их выпускать? - -4. **⚙️ Инфраструктура** - * Как создать распределённую CI-лабораторию для тестирования (на примере Kernel-CI и LAVA) на реальном железе? - * Кто готов делиться ресурсами? - ---- - -## 🎯 Ожидаемые результаты - -По итогам встречи мы планируем: - -* 📊 **Выявить потребности рынка** в едином форке ядра -* 🗣️ **Услышать мнение участников** о готовности вкладывать ресурсы в поддержку форка -* 🎯 **Выделить приоритетные направления** для дальнейшей работы -* 👣 **Обсудить следующие шаги** — проведение дополнительных встреч с привлечением другого состава участников, создание рабочей группы, возможная юридическая формализация активности - ---- - -## 💡 Почему это важно? - -Задача этой встречи — **услышать друг друга**. -Понять, какие боли есть у разных команд, где мы можем объединить усилия уже сейчас, а какие вопросы требуют более глубокой проработки с юристами и руководителями. - -📊 Результатом встречи станет **список потребностей инженерного сообщества**, который ляжет в основу следующих шагов проекта ⚛️ LANDAU. - ---- - -## 📝 Регистрация и контакты - -Для участия (особенно в очном формате) пожалуйста, пройдите по ссылке: -🔗 [https://tabs.mts.ru/share/shrjzSDNCwDjT3kp6VNWE](https://tabs.mts.ru/share/shrjzSDNCwDjT3kp6VNWE) - ---- - -**Контактное лицо:** RULKC -📧 [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) -💬 [t.me/linux_kernel_O](https://t.me/linux_kernel_O) - -[⬅️ Вернуться на главную страницу LANDAU](./index.md) diff --git a/rulkc.png b/rulkc.png deleted file mode 100644 index 8ae262d..0000000 Binary files a/rulkc.png and /dev/null differ -- cgit v1.2.3 From 5a0a340a860399d9a3c940f2ffe0bc4f715e6527 Mon Sep 17 00:00:00 2001 From: Nikita Shubin Date: Sun, 14 Jun 2026 13:48:58 +0300 Subject: themes: add landau-hacker theme Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- themes/landau-hacker/LICENSE | 674 +++++++++++++++++++++ themes/landau-hacker/README.md | 19 + themes/landau-hacker/archetypes/default.md | 5 + themes/landau-hacker/archetypes/events.md | 38 ++ themes/landau-hacker/archetypes/news.md | 9 + themes/landau-hacker/layouts/404.html | 39 ++ .../layouts/_default/_markup/render-codeblock.html | 7 + themes/landau-hacker/layouts/_default/baseof.html | 43 ++ themes/landau-hacker/layouts/_default/list.html | 14 + themes/landau-hacker/layouts/_default/single.html | 3 + .../layouts/_markup/render-codeblock.html | 7 + themes/landau-hacker/layouts/index.html | 3 + .../layouts/partials/head-additions.html | 0 themes/landau-hacker/static/css/hacker.css | 290 +++++++++ themes/landau-hacker/static/favicon.svg | 3 + themes/landau-hacker/static/images/bkg.png | Bin 0 -> 1218 bytes themes/landau-hacker/static/images/bullet.png | Bin 0 -> 603 bytes themes/landau-hacker/static/rulkc.png | Bin 0 -> 8749 bytes themes/landau-hacker/theme.yaml | 15 + 19 files changed, 1169 insertions(+) create mode 100644 themes/landau-hacker/LICENSE create mode 100644 themes/landau-hacker/README.md create mode 100644 themes/landau-hacker/archetypes/default.md create mode 100644 themes/landau-hacker/archetypes/events.md create mode 100644 themes/landau-hacker/archetypes/news.md create mode 100644 themes/landau-hacker/layouts/404.html create mode 100644 themes/landau-hacker/layouts/_default/_markup/render-codeblock.html create mode 100644 themes/landau-hacker/layouts/_default/baseof.html create mode 100644 themes/landau-hacker/layouts/_default/list.html create mode 100644 themes/landau-hacker/layouts/_default/single.html create mode 100644 themes/landau-hacker/layouts/_markup/render-codeblock.html create mode 100644 themes/landau-hacker/layouts/index.html create mode 100644 themes/landau-hacker/layouts/partials/head-additions.html create mode 100644 themes/landau-hacker/static/css/hacker.css create mode 100644 themes/landau-hacker/static/favicon.svg create mode 100644 themes/landau-hacker/static/images/bkg.png create mode 100644 themes/landau-hacker/static/images/bullet.png create mode 100644 themes/landau-hacker/static/rulkc.png create mode 100644 themes/landau-hacker/theme.yaml diff --git a/themes/landau-hacker/LICENSE b/themes/landau-hacker/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/themes/landau-hacker/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/themes/landau-hacker/README.md b/themes/landau-hacker/README.md new file mode 100644 index 0000000..05c2ea7 --- /dev/null +++ b/themes/landau-hacker/README.md @@ -0,0 +1,19 @@ +# landau-hacker – тема для Hugo сайта LANDAU + +**landau-hacker** – это адаптация темы [Hacker](https://github.com/pages-themes/hacker) от GitHub Pages под движок [Hugo](https://gohugo.io/). Тема используется на официальном сайте проекта [LANDAU](https://landau.one). + +## Особенности + +- Минималистичный «технический» дизайн с зелёным акцентом. +- Тёмный фон, моноширинные шрифты. +- Адаптивная вёрстка, поддержка относительных ссылок (`relativeURLs`). +- Встроенные архетипы для **новостей** и **событий**. +- Страница 404 в стиле темы. + +## Установка + +### 1. Скопировать тему в проект + +```bash +git clone https://gitflic.ru/project/maquefel/landau-hacker themes/landau-hacker +``` diff --git a/themes/landau-hacker/archetypes/default.md b/themes/landau-hacker/archetypes/default.md new file mode 100644 index 0000000..43dca9a --- /dev/null +++ b/themes/landau-hacker/archetypes/default.md @@ -0,0 +1,5 @@ +--- +title: "{{ replace .File.ContentBaseName "-" " " | title }}" +date: {{ .Date }} +draft: true +--- diff --git a/themes/landau-hacker/archetypes/events.md b/themes/landau-hacker/archetypes/events.md new file mode 100644 index 0000000..381be1c --- /dev/null +++ b/themes/landau-hacker/archetypes/events.md @@ -0,0 +1,38 @@ +--- +title: "{{ replace .File.ContentBaseName "-" " " | title }}" +date: {{ .Date }} +description: "" +type: events +draft: true +--- + +# 🎙️ {Заголовок события} + +## «{Подзаголовок / тема}» + +--- + +📅 **Дата:** {ДД месяц ГГГГ} +⏰ **Время:** {ЧЧ:ММ} +📍 **Формат:** Очно / Online (гибрид) +👥 **Организатор:** [RULKC](https://rulkc.org) (Russian Linux Kernel Community) + +--- + +## 🧭 О встрече + +{Краткое описание...} + +--- + +## 📝 Регистрация и контакты + +🔗 {ссылка на регистрацию} + +--- + +**Контактное лицо:** RULKC +📧 [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) +💬 [t.me/linux_kernel_O](https://t.me/linux_kernel_O) + +[⬅️ Вернуться на главную страницу LANDAU](/) diff --git a/themes/landau-hacker/archetypes/news.md b/themes/landau-hacker/archetypes/news.md new file mode 100644 index 0000000..0683b46 --- /dev/null +++ b/themes/landau-hacker/archetypes/news.md @@ -0,0 +1,9 @@ +--- +title: "{{ replace .File.ContentBaseName "-" " " | title }}" +date: {{ .Date }} +description: "" +type: news +draft: true +--- + +{Текст новости...} diff --git a/themes/landau-hacker/layouts/404.html b/themes/landau-hacker/layouts/404.html new file mode 100644 index 0000000..e939055 --- /dev/null +++ b/themes/landau-hacker/layouts/404.html @@ -0,0 +1,39 @@ + + + + + + + 404 — Страница не найдена · {{ site.Title }} + + + + + + +
+
+ +

{{ site.Title }}

+
+

{{ site.Params.description }}

+
+
+ +
+
+

404

+

Страница не найдена. Возможно, она была перемещена или удалена.

+

Проверьте правильность адреса или вернитесь на главную страницу.

+
+

Если вы уверены, что страница должна существовать, свяжитесь с нами через Telegram-канал.

+
+
+ +
+
+

ver.{{ with site.Params.version }}{{ . }}{{ else }}dev{{ end }}

+
+
+ + diff --git a/themes/landau-hacker/layouts/_default/_markup/render-codeblock.html b/themes/landau-hacker/layouts/_default/_markup/render-codeblock.html new file mode 100644 index 0000000..e86da3c --- /dev/null +++ b/themes/landau-hacker/layouts/_default/_markup/render-codeblock.html @@ -0,0 +1,7 @@ +aaaaaaaaaa{{- warnf "codeblock hook triggered for %s" .Position -}} +{{- $lang := .Attributes.lang | default "" -}} +{{- if eq $lang "mermaid" -}} +
{{ .Inner | safeHTML }}
+{{- else -}} +
{{ .Inner | safeHTML }}
+{{- end -}} \ No newline at end of file diff --git a/themes/landau-hacker/layouts/_default/baseof.html b/themes/landau-hacker/layouts/_default/baseof.html new file mode 100644 index 0000000..57080b5 --- /dev/null +++ b/themes/landau-hacker/layouts/_default/baseof.html @@ -0,0 +1,43 @@ + + + + + + + {{ if .IsHome }}{{ site.Title }}{{ else }}{{ .Title }} · {{ site.Title }}{{ end }} + + + + + + + {{ with .OutputFormats.Get "rss" -}} + + {{- end }} + + + {{- partial "head-additions.html" . -}} + + +
+
+ +

{{ site.Title }}

+
+

{{ site.Params.description }}

+
+
+ +
+
+ {{ block "main" . }}{{ end }} +
+
+ +
+
+

ver.{{ with site.Params.version }}{{ . }}{{ else }}dev{{ end }}

+
+
+ + diff --git a/themes/landau-hacker/layouts/_default/list.html b/themes/landau-hacker/layouts/_default/list.html new file mode 100644 index 0000000..2111000 --- /dev/null +++ b/themes/landau-hacker/layouts/_default/list.html @@ -0,0 +1,14 @@ +{{ define "main" }} +{{ .Content }} + +{{ with .Pages.ByDate.Reverse }} +
    + {{ range . }} +
  • + {{ .Title }} + {{- with .Date }} — {{ end }} +
  • + {{ end }} +
+{{ end }} +{{ end }} diff --git a/themes/landau-hacker/layouts/_default/single.html b/themes/landau-hacker/layouts/_default/single.html new file mode 100644 index 0000000..9983b08 --- /dev/null +++ b/themes/landau-hacker/layouts/_default/single.html @@ -0,0 +1,3 @@ +{{ define "main" }} +{{ .Content }} +{{ end }} diff --git a/themes/landau-hacker/layouts/_markup/render-codeblock.html b/themes/landau-hacker/layouts/_markup/render-codeblock.html new file mode 100644 index 0000000..e86da3c --- /dev/null +++ b/themes/landau-hacker/layouts/_markup/render-codeblock.html @@ -0,0 +1,7 @@ +aaaaaaaaaa{{- warnf "codeblock hook triggered for %s" .Position -}} +{{- $lang := .Attributes.lang | default "" -}} +{{- if eq $lang "mermaid" -}} +
{{ .Inner | safeHTML }}
+{{- else -}} +
{{ .Inner | safeHTML }}
+{{- end -}} \ No newline at end of file diff --git a/themes/landau-hacker/layouts/index.html b/themes/landau-hacker/layouts/index.html new file mode 100644 index 0000000..9983b08 --- /dev/null +++ b/themes/landau-hacker/layouts/index.html @@ -0,0 +1,3 @@ +{{ define "main" }} +{{ .Content }} +{{ end }} diff --git a/themes/landau-hacker/layouts/partials/head-additions.html b/themes/landau-hacker/layouts/partials/head-additions.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/landau-hacker/static/css/hacker.css b/themes/landau-hacker/static/css/hacker.css new file mode 100644 index 0000000..736bb29 --- /dev/null +++ b/themes/landau-hacker/static/css/hacker.css @@ -0,0 +1,290 @@ +/* + * LANDAU site theme. + * + * Lifted from github.com/pages-themes/hacker + * commit e3c8d1ad288894be216002a5bc29fc611aeab9ac (2024-01-16) + * licensed CC0-1.0 (per upstream LICENSE file). + * + * SCSS sources flattened into plain CSS: + * _sass/_default_colors.scss (variables inlined) + * _sass/jekyll-theme-hacker.scss (main rules) + * _sass/rouge-base16-dark.scss (code highlighting; appended at end) + * + * Background images live alongside under /images/{bkg,bullet}.png + * and are referenced via "../images/.png" so this file is portable. + * + * Update procedure: see CLAUDE.md, "Theme update". + */ + +body { + margin: 0; + padding: 0; + background: #151515 url("../images/bkg.png") 0 0; + color: #eaeaea; + font-size: 16px; + line-height: 1.5; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; +} + +/* General & 'Reset' Stuff */ + +.container { + width: 90%; + max-width: 1000px; + margin: 0 auto; +} + +section { + display: block; + margin: 0 0 20px 0; +} + +h1, h2, h3, h4, h5, h6 { + margin: 0 0 20px; +} + +li { + line-height: 1.4; +} + +/* Header */ + +header { + background: rgba(0, 0, 0, 0.1); + width: 100%; + border-bottom: 1px dashed #b5e853; + padding: 20px 0; + margin: 0 0 40px 0; +} + +header h1 { + font-size: 30px; + line-height: 1.5; + margin: 0 0 0 -40px; + font-weight: bold; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #b5e853; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), + 0 0 5px rgba(181, 232, 83, 0.1), + 0 0 10px rgba(181, 232, 83, 0.1); + letter-spacing: -1px; + -webkit-font-smoothing: antialiased; +} + +@media (max-width: 1000px) { + header h1 { + margin-left: 0; + } +} + +header h1:before { + content: "./ "; + font-size: 24px; +} + +header h2 { + font-size: 18px; + font-weight: 300; + color: #666; +} + +#downloads .btn { + display: inline-block; + text-align: center; + margin: 0; +} + +/* Main Content */ + +#main_content { + width: 100%; + -webkit-font-smoothing: antialiased; +} + +section img { + max-width: 100%; +} + +h1, h2, h3, h4, h5, h6 { + font-weight: normal; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #b5e853; + letter-spacing: -0.03em; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), + 0 0 5px rgba(181, 232, 83, 0.1), + 0 0 10px rgba(181, 232, 83, 0.1); +} + +#main_content h1 { font-size: 30px; } +#main_content h2 { font-size: 24px; } +#main_content h3 { font-size: 18px; } +#main_content h4 { font-size: 14px; } + +#main_content h5 { + font-size: 12px; + text-transform: uppercase; + margin: 0 0 5px 0; +} + +#main_content h6 { + font-size: 12px; + text-transform: uppercase; + color: #999; + margin: 0 0 5px 0; +} + +dt { + font-style: italic; + font-weight: bold; +} + +ul li { + list-style-image: url('../images/bullet.png'); +} + +blockquote { + color: #aaa; + padding-left: 10px; + border-left: 1px dotted #666; +} + +pre { + background: rgba(0, 0, 0, 0.9); + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 10px; + font-size: 16px; + color: #b5e853; + border-radius: 2px; + word-wrap: normal; + overflow: auto; + overflow-y: hidden; +} + +code.highlighter-rouge { + background: rgba(0, 0, 0, 0.9); + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0px 3px; + margin: 0px -3px; + color: #aa759f; + border-radius: 2px; +} + +table { + width: 100%; + margin: 0 0 20px 0; +} + +th { + text-align: left; + border-bottom: 1px dashed #b5e853; + padding: 5px 10px; +} + +td { + padding: 5px 10px; +} + +hr { + height: 0; + border: 0; + border-bottom: 1px dashed #b5e853; + color: #b5e853; +} + +/* Buttons */ + +.btn { + display: inline-block; + background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3)); + padding: 8px 18px; + border-radius: 50px; + border: 2px solid rgba(0, 0, 0, 0.7); + border-bottom: 2px solid rgba(0, 0, 0, 0.7); + border-top: 2px solid rgba(0, 0, 0, 1); + color: rgba(255, 255, 255, 0.8); + font-family: Helvetica, Arial, sans-serif; + font-weight: bold; + font-size: 13px; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); +} + +.btn:hover { + background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.6), rgba(35, 35, 35, 0.6) 50%, rgba(10, 10, 10, 0.8) 50%, rgba(0, 0, 0, 0.8)); +} + +.btn .icon { + display: inline-block; + width: 16px; + height: 16px; + margin: 1px 8px 0 0; + float: left; +} + +/* Links */ + +a { + color: #63c0f5; + text-shadow: 0 0 5px rgba(104, 182, 255, 0.5); +} + +/* Clearfix */ + +.cf:before, .cf:after { + content: ""; + display: table; +} + +.cf:after { + clear: both; +} + +.cf { + zoom: 1; +} + +#a-title { + text-decoration: none; +} + +/* Footer (LANDAU addition; not part of upstream pages-themes/hacker) */ + +footer { + margin: 60px 0 0; + border-top: 1px dashed #b5e853; + padding: 16px 0 24px; + background: rgba(0, 0, 0, 0.1); +} + +footer .version { + margin: 0; + text-align: center; + font-size: 10px; + color: #444; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; +} + +/* Code highlighting (rouge-base16-dark, flattened) */ + +.highlight { color: #d0d0d0; } +.highlight table td { padding: 5px; } +.highlight table pre { margin: 0; } +.highlight .w { color: #d0d0d0; } +.highlight .err { color: #151515; background-color: #ac4142; } +.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { color: #888; } +.highlight .cp { color: #f4bf75; } +.highlight .o, .highlight .ow { color: #f4bf75; } +.highlight .p, .highlight .pi { color: #d0d0d0; } +.highlight .gi { color: #90a959; } +.highlight .gd { color: #ac4142; } +.highlight .gh { color: #6a9fb5; font-weight: bold; } +.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { color: #aa759f; } +.highlight .kc, .highlight .kt, .highlight .kd { color: #d28445; } +.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { color: #90a959; } +.highlight .sr { color: #75b5aa; } +.highlight .si, .highlight .se { color: #8f5536; } +.highlight .nt, .highlight .nn, .highlight .nc, .highlight .no { color: #f4bf75; } +.highlight .na { color: #6a9fb5; } +.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { color: #90a959; } +.highlight .ss { color: #90a959; } diff --git a/themes/landau-hacker/static/favicon.svg b/themes/landau-hacker/static/favicon.svg new file mode 100644 index 0000000..91a33ee --- /dev/null +++ b/themes/landau-hacker/static/favicon.svg @@ -0,0 +1,3 @@ + + ⚛️ + diff --git a/themes/landau-hacker/static/images/bkg.png b/themes/landau-hacker/static/images/bkg.png new file mode 100644 index 0000000..d10e5ca Binary files /dev/null and b/themes/landau-hacker/static/images/bkg.png differ diff --git a/themes/landau-hacker/static/images/bullet.png b/themes/landau-hacker/static/images/bullet.png new file mode 100644 index 0000000..c8f8de1 Binary files /dev/null and b/themes/landau-hacker/static/images/bullet.png differ diff --git a/themes/landau-hacker/static/rulkc.png b/themes/landau-hacker/static/rulkc.png new file mode 100644 index 0000000..8ae262d Binary files /dev/null and b/themes/landau-hacker/static/rulkc.png differ diff --git a/themes/landau-hacker/theme.yaml b/themes/landau-hacker/theme.yaml new file mode 100644 index 0000000..008f010 --- /dev/null +++ b/themes/landau-hacker/theme.yaml @@ -0,0 +1,15 @@ +name: "LANDAU Hacker" +license: "CC0-1.0" +licenselink: "https://gitflic.ru/project/maquefel/landau-hacker/LICENSE" +description: "Порт темы Hacker от GitHub Pages с доработками для LANDAU" +homepage: "https://landau.one" +tags: ["blog", "dark", "minimal", "technical"] +features: ["blog", "news", "events"] +min_version: "0.112.0" + +author: + name: "RULKC" + +original: + name: "pages-themes/hacker" + repo: "https://github.com/pages-themes/hacker" -- cgit v1.2.3 From 75dae090186f2a70aa5dbede7d8cc8c90cf85aef Mon Sep 17 00:00:00 2001 From: Nikita Shubin Date: Sun, 14 Jun 2026 14:13:13 +0300 Subject: template: config: Add landau preliminary config Currently make simple: - no tags or categories - disable footer copyright - just a few section: mainpage, about and subscribe - landau-hacker theme (embedded) Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- hugo.yaml | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 hugo.yaml diff --git a/hugo.yaml b/hugo.yaml new file mode 100644 index 0000000..407bf68 --- /dev/null +++ b/hugo.yaml @@ -0,0 +1,41 @@ +baseurl: "/" +languageCode: "ru" +title: "LANDAU" +theme: "landau-hacker" +googleAnalytics: "" +disqusShortname: "" +ignoreFiles: ["\\.Rmd$", "\\.Rmarkdown$", "_cache$", "\\.knit\\.md$", "\\.utf8\\.md$"] +footnotereturnlinkcontents: "↩" +disableKinds : ["taxonomy", "term"] +relativeURLs: true +canonifyURLs: false + +permalinks: + note: "/note/:year/:month/:day/:slug/" + post: "/post/:year/:month/:day/:slug/" + +menu: + main: + - name: Home + url: "" + weight: 1 + - name: About + url: "index.html" + weight: 2 + - name: Subscribe + url: "index.xml" + +params: + mainSections: + - git + - doc + description: "Linux And Neo-Depositorium Associated Unity" + # PaperMod doesn't like this + # footer: "© [Landau Unlimited](https://blog.landau.one/) 2026 -- {Year}" + +markup: + highlight: + codeFences: false + goldmark: + renderer: + unsafe: true -- cgit v1.2.3 From 1382c91f12c4c890fa5d26091635c414945a729d Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Wed, 8 Jul 2026 15:42:34 +0300 Subject: content: convert links to canonical Convert links to canonical as per vanilla hugo. Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- content/_index.md | 2 +- content/landau-linux/_index.md | 4 ++-- content/landau-linux/maintenance/_index.md | 2 +- content/open_mic_27_03_2026/_index.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/content/_index.md b/content/_index.md index 5d97028..5f6905b 100644 --- a/content/_index.md +++ b/content/_index.md @@ -32,7 +32,7 @@ LANDAU охватывает широкий спектр open-source проект ### 🎙️ Список событий -* **[Открытый микрофон #001: «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU»](./open_mic_27_03_2026.md)** +* **[Открытый микрофон #001: «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU»](./open_mic_27_03_2026/)** * **📅 Дата:** 27 марта 2026 года * **⏰ Время:** 20:00 * **📍 Формат:** Очно / Online diff --git a/content/landau-linux/_index.md b/content/landau-linux/_index.md index fa13712..1da986e 100644 --- a/content/landau-linux/_index.md +++ b/content/landau-linux/_index.md @@ -31,9 +31,9 @@ ODM-производителей, создателей дистрибутиво | Документ | Описание | |----------|----------| -| 📋 **[LANDAU Linux Maintenance](./maintenance.md)** | Официальный процесс maintenance LANDAU Linux | +| 📋 **[LANDAU Linux Maintenance](./maintenance/)** | Официальный процесс maintenance LANDAU Linux | --- -[⬅️ Вернуться на главную LANDAU](../index.md) +[⬅️ Вернуться на главную LANDAU](../) diff --git a/content/landau-linux/maintenance/_index.md b/content/landau-linux/maintenance/_index.md index 0bf8391..5dc8113 100644 --- a/content/landau-linux/maintenance/_index.md +++ b/content/landau-linux/maintenance/_index.md @@ -579,4 +579,4 @@ TODO 📅 Обновлено: 2026-07 -[⬅️ Вернуться на страницу LANDAU Linux](./index.md) +[⬅️ Вернуться на страницу LANDAU Linux](../) diff --git a/content/open_mic_27_03_2026/_index.md b/content/open_mic_27_03_2026/_index.md index 74cd4d7..de97835 100644 --- a/content/open_mic_27_03_2026/_index.md +++ b/content/open_mic_27_03_2026/_index.md @@ -83,4 +83,4 @@ 📧 [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) 💬 [t.me/linux_kernel_O](https://t.me/linux_kernel_O) -[⬅️ Вернуться на главную страницу LANDAU](./index.md) +[⬅️ Вернуться на главную страницу LANDAU](../) -- cgit v1.2.3 From 64a43378d95189f10d4cdaea1d43655261c7d2b7 Mon Sep 17 00:00:00 2001 From: Nikita Shubin Date: Sun, 14 Jun 2026 15:28:52 +0300 Subject: content/landau_linux_maintenance: Fix front matter - add opening meta delimeter as required - s/published/draft/ as `published` is an alias to `publishDate` and requires correct date and not boolean type Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- content/landau-linux/maintenance/_index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/landau-linux/maintenance/_index.md b/content/landau-linux/maintenance/_index.md index 5dc8113..865831a 100644 --- a/content/landau-linux/maintenance/_index.md +++ b/content/landau-linux/maintenance/_index.md @@ -1,6 +1,7 @@ +--- title: "📋 Манифест сопровождения ядра LANDAU Linux" description: "Описание процесса разработки ядра LANDAU Linux — ветки, релизы, версионирование и сопровождение" -published: true +draft: false --- # 📋 Манифест процесса сопровождения ядра LANDAU Linux -- cgit v1.2.3 From 49aa7d500fa05128b79a5d3e0e35299924092f99 Mon Sep 17 00:00:00 2001 From: Nikita Shubin Date: Sun, 14 Jun 2026 15:31:07 +0300 Subject: mermaid: Add mermaid workaround For upstream hugo the only possiblity for mermaid rendering is using external js script. Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- layouts/partials/head-additions.html | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 layouts/partials/head-additions.html diff --git a/layouts/partials/head-additions.html b/layouts/partials/head-additions.html new file mode 100644 index 0000000..0aa1935 --- /dev/null +++ b/layouts/partials/head-additions.html @@ -0,0 +1,26 @@ + + -- cgit v1.2.3 From e71180239fe45bbe1609d7ce52694a1852786698 Mon Sep 17 00:00:00 2001 From: Nikita Shubin Date: Sun, 14 Jun 2026 15:38:12 +0300 Subject: misc: add .gitignore Signed-off-by: Nikita Shubin Signed-off-by: Dmitry Rokosov --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e7e3002 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.hugo_build.lock +public -- cgit v1.2.3 From 3df39d41767c7a8c757e9c88a92cf201b21863c3 Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Wed, 8 Jul 2026 16:05:39 +0300 Subject: config: update LANDAU acronym and branding LANDAU officially stands for "Linux And Neo-Depositorium Associated Unity". Update the site title and description in both README.md and _config.yml to reflect the correct acronym and remove outdated "Kernel" references. Signed-off-by: Dmitry Rokosov --- README.md | 4 ++-- _config.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5d94cfe..c456535 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# ⚛️ LANDAU Kernel +# ⚛️ LANDAU -**⚡ Linux kernel Advanced for Next-gen Devices & Architectures ⚡** +**⚡ **Linux And Neo-Depositorium Associated Unity** ⚡** diff --git a/_config.yml b/_config.yml index 00aced3..08f844f 100644 --- a/_config.yml +++ b/_config.yml @@ -1,3 +1,3 @@ -title: LANDAU Kernel -description: Linux kernel Advanced for Next-gen Devices & Architectures +title: LANDAU +description: Linux And Neo-Depositorium Associated Unity theme: jekyll-theme-hacker -- cgit v1.2.3 From 797b56efce2a196774081ecbb72e3eb7aee2a667 Mon Sep 17 00:00:00 2001 From: Dmitry Rokosov Date: Fri, 17 Jul 2026 19:31:56 +0300 Subject: treewide: update rulkc official mailing address Signed-off-by: Dmitry Rokosov --- content/_index.md | 4 ++-- content/open_mic_27_03_2026/_index.md | 2 +- themes/landau-hacker/archetypes/events.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/_index.md b/content/_index.md index 5f6905b..48405c1 100644 --- a/content/_index.md +++ b/content/_index.md @@ -53,7 +53,7 @@ LANDAU охватывает широкий спектр open-source проект | Канал | Ссылка | |-------|--------| | 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | -| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | +| 📧 **Mail** | [rulkc@rulkc.org](mailto:rulck@ruclk.org) | | 💬 **Telegram-канал** | [https://t.me/linux_kernel_O](https://t.me/linux_kernel_O) | | 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | | 📧 **Mailing List** | [rulkc@linuxtesting.org](mailto:rulkc@linuxtesting.org) | @@ -73,7 +73,7 @@ LANDAU развивается под эгидой [**Russian Linux Kernel Commun | Канал | Ссылка | |-------|--------| | 🏠 **Основной сайт** | [rulkc.org](https://rulkc.org) | -| 📧 **Mail** | [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) | +| 📧 **Mail** | [rulkc@rulkc.org](mailto:rulkc@rulkc.org) | | 💬 **Telegram-канал** | [t.me/linux_kernel_O](https://t.me/linux_kernel_O) | | 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) | diff --git a/content/open_mic_27_03_2026/_index.md b/content/open_mic_27_03_2026/_index.md index de97835..15117d8 100644 --- a/content/open_mic_27_03_2026/_index.md +++ b/content/open_mic_27_03_2026/_index.md @@ -80,7 +80,7 @@ --- **Контактное лицо:** RULKC -📧 [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) +📧 [rulkc@rulkc.org](mailto:rulkc@rulkc.org) 💬 [t.me/linux_kernel_O](https://t.me/linux_kernel_O) [⬅️ Вернуться на главную страницу LANDAU](../) diff --git a/themes/landau-hacker/archetypes/events.md b/themes/landau-hacker/archetypes/events.md index 381be1c..667497e 100644 --- a/themes/landau-hacker/archetypes/events.md +++ b/themes/landau-hacker/archetypes/events.md @@ -32,7 +32,7 @@ draft: true --- **Контактное лицо:** RULKC -📧 [rulinuxkc@gmail.com](mailto:rulinuxkc@gmail.com) +📧 [rulkc@rulkc.org](mailto:rulkc@rulkc.org) 💬 [t.me/linux_kernel_O](https://t.me/linux_kernel_O) [⬅️ Вернуться на главную страницу LANDAU](/) -- cgit v1.2.3