[d-kernel] kernel policy
=?iso-8859-1?q?nidd_=CE=C1_myxomop=2Ecom?=
=?iso-8859-1?q?nidd_=CE=C1_myxomop=2Ecom?=
Вт Апр 15 18:40:45 MSD 2003
Kernel Policy for Sisyphus.
===========================
Author: Peter Novodvorsky.
0. Документ и его обновление.
-----------------------------
kernel policy обновляется участниками kernel maintainer committee.
Состав kernel committee:
- Peter 'nidd' Novodvorsky <nidd на altlinux.com>
1. Именование
-------------
1.1 Патчи.
----------
Есть два вида патчей:
kernel-patch-feat-%{upsteram_name}
kernel-patch-fix-%{upstream_name}
В пакетах feat содержатся патчи добавляющие ядру Linux новые
возможности. Это могут быть и драйверы устройств (рекоммендуется
называть такие kernel-patch-feat-dev-<имя_устройста>) и файловых
систем (желательно называть kernel-patch-feat-dev-<имя_файловой
системы>), добавление новых возможностей к сетевой подсистеме
(желательно называть kernel-patch-feat-net-<сокращённое название
улучшения>), а так же добавление новых возможностей к корневой части
(kernel/*, mm/*, arch/*) ядра, (желательно называть
kernel-patch-feat-core-<название улучшения>).
Все пакеты fixes поддерживаются kernel maintainer commitee. Именуются
по именам подсистем ядра, а так же существует отдельный пакет для
security патчей и build патчей:
kernel-patch-fixes-{net,scsi,ide,fs,vm,core,security,build}.
1.2 Внешние модули.
-------------------
Внешними модулями называются модули, исходные файлы которых
поставляются не в виде патчей и которые можно собрать отдельно от
ядра.
Пакеты с такими собранными модулями должны называться
kernel-<сокращённое название набора модулей>-<версия ядра с которым
собраны модули>-<flavour ядра с которым собраны модули>.
Пакеты с хедерами этих модулей должны назваться kernel-<сокращённое
название набора модулей>-headers-<версия ядра с которым собраны
модули>-<flavour ядра с которым собраны модули>.
1.3 Пакет с исходными текстами ядра и модулей.
----------------------------------------------
Такие пакеты должен называться: <имя проекта>-source-<версия модулей
или ядра>.
1.4 Пакет с ядром.
------------------
Такой пакет должен называться kernel-image-<версия ядра>-<flavour
ядра>.
Пакет с хедерами ядра должен называться kernel-headers-<версия ядра>-<flavour
ядра>.
2. Versioning пакетов.
----------------------
Пакетам с feat патчами желательно присваивать версии, полученные из
upstream. Если upstream не делает versioning, допустимо называть их по
дате последнего изменения upstream в формате ddmmyy.
Пакетам с fix патчами обязательно присваивать версии по дате
запаковывания в формате ddmmyy.
Пакеатам с внешними модулями и ядром, а так же с их исходными текстами
желательно присваивать версии, полученные из upstream. Если upstream
не делает versioning, допустимо называть их по дате последнего
изменения upstream в формате ddmmyy.
3. Содержимое пакетов.
----------------------
3.1 Патчи.
----------
/usr/src/patches/<имя_патча>/* патчи
patches/apply/<имя_патча> программа, которая
прикладывает патчи
Патчи внутри каталога могут находиться в любом расположении, это не
определяется данным документом.
Программа прикладывающая патч, будучи вызванная из каталога с исходными
текстами ядра, обязана приложить к ним нужные патчи или возвратить 1 в
случае ошибки прикладывания. Программа может пользоваться следующими
переменными окружения заданными при запуске в среде:
- APPLIED_PATCHES, переменная содержит список названий уже приложенных
патчей через запятую.
- KVER, версия ядра, к которой нужно приложить патч.
3.2 Пакет с исходными текстами.
--------------------------------
/usr/src/<имя_пакета>-source-<версия>.tar.gz
....
3.3 Пакет с внешними модулями.
-------------------------------
/lib/modules/<версия ядра>-<flavour>/*
/usr/include/linux-<версия ядра>-<flavour>/*
....
3.4 Пакет с ядром.
------------------
image:
/boot/config-<версия ядра>-<flavour>-<release>
/boot/vmlinuz-<версия ядра>-<flavour>-<release>
/boot/System.map-<версия ядра>-<flavour>-<release>
/lib/modules/<версия ядра>-<flavour>-<release>/*
headers:
/usr/include/linux-<версия ядра>-<flavour>/*
....
4. Порядок принятия новых пакетов в Sisyphus.
---------------------------------------------
Дабы упорядочить вхождение новых пакетов в Sisyphus, сначала
разработчик обязан написать письмо в devel-kernel на altlinux.ru с темой
ITP: <имя_пакета> (Intent to package) и с descriptionом пакета в теле,
чтобы пояснить, что новое он хочет добавить. Далее проходит обсуждение
этого пакета и люди договариваются, целесообразно ли присутствие
пакета в Sisyphus. Kernel maintainer maintainer committee имеет право
наложить вето на вхождение пакета в Sisyphus при согласии всех
участников KMC.
--
Peter Novodvorsky nidd на myxomop.com
http://people.altlinux.ru/~nidd Deadheads, unite!
Kill 'em all, and let God sort 'em out
Подробная информация о списке рассылки devel-kernel