[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