[d-kernel] kernel policy

Peter Novodvorsky =?iso-8859-1?q?nidd_=CE=C1_myxomop=2Ecom?=
Ср Апр 16 14:01:45 MSD 2003


Эд, привет.

ed на sam-solutions.net (Ed V. Bartosh) writes:

> Дык feat и fix будут говорить о том, что это патч, если уж так оно
> надо. Только зачем, никак не пойму. Какая от этого польза знать что
> это патч ? Давайте абстрагироваться :) Я вижу пакет
> kernel-feat-security-rsback - мне обязательно знать, что это патч ?
> Зачем ?

Да. Конечно. :) Зачем? Чтобы отличить его от пакетов с external
модулями типа kernel-alsa и kernel-drm.

> По-моему сейчас строится новая схема сборки. И существующие
> пакеты с бинарными модулями - это, возможно, анахронизм. С таким же
> успехом можно оставить старый принцип сборки ядра, опираясь на то, что
> такие ядра есть в Сизифе :) Где развитие ?
> Я не предлагаю их безоговорочно убрать. Определите принципы по которым
> будут создаваться такие пакеты. Принцип "потому, что так уже есть" мне
> представляется слабым доказательством.

В старой системе сборки все модули собирались из одного пакета и это
было очень плохо. В новой системе сборки, каждая подобная группа
модулей собирается из отдельного набора пакетов. Это позволяет
сборщику каждый раз не пересобирать всё при выходе новой версии группы
модулей, а пользователю не тащить каждый раз огроменный пакет из
сети. 

>  PN> secfixes. будут выглядеть именно так.
> Не понял, сорри. Как "так" ? kernel-fix-security- а дальше ?
> Нужно определить формат, как в случае с kernel-image, например.

Нет. secfixes будут выглядеть как kernel-fix-security. А ide фиксы
будут выглядеть как kernel-fix-ide.

>  PN> Да, но то как патч распологает свои файлы, -- не дело полиси, в этом
>  PN> разбирается скрипт apply.
> Ты сам себе протифоречишь:

Я имел ввиду, то как пакет с патчами распологает свои файлы внутри его
каталога, -- не дело полиси.

> Если не определить, где патчи будут хранить нужные им файлы - будет
> путаница. А смысл ?

С внешней стороны путаницы не будет, так как всем этим будет управлять
программа apply.

>  PN> Нет, не опциальная. Если нужно, -- можно сделать
>  PN> /usr/lib/kernel-build-tools/apply, а все apply программы будут просто
>  PN> соурсить этот файл.
> Можно, конечно и так. Мне показалось более элегантным решить это с
> помощью макроса. Давай я тебе его пришлю, а то так трудно
> разговаривать ?

Давай.

>  PN> В среднем, будет один и тот же алгоритм. Но надо оставить за
>  PN> патче-пакето-твроителями полную свободу в том, как и что патчить. 
> Это путь к хаосу. Здесь, IMHO, лишняя свобода только вредит.

Главное, что внешний интерфейс фиксирован: программа apply. А то как
она действует, -- это дело разработчика. Можно написать helper,
который будут соурсить большинство apply скриптов.

> Что плохого в том, что при взгляде в каталог с патчами будет виден
> порядок их приложения ?

Если патч сделан грамотно, он и так будет виден. Это логично. Но
свободу реализации при условии сохранения интерфейса за разработчиком
оставлять надо.

>  PN> Нужно. Почему не нужно?
> Сорри, я немного неправильно выразился. KVER нужно, а APPLIED_PATCHES
> и флажок ./patches/APPLIED_имя пакета дублируют друг друга.

Да.

> Я думаю, что флаг более универсален и прост в проверке, к тому же
> можно не только для пакета в целом его выставлять, а и для конкретных
> патчей тоже, если понадобится. А с переменной возни больше,
> однозначно.

Согласен.

>  >> 2. Пачти называются NN-название.patch, где NN определяет порядок приложения.
>  >> устанавливаются в /usr/src/kernel/patches/название_пакета/
>
>  PN> Это не регулируется policy.
> Дык и напрасно :) Собственно, это только мои предложения, решать
> тебе.

У меня есть намерение, если ты не против, включить тебя в kernel
maintainer committee, когда ты станешь разработчиком, так что решать
таки *нам*.

> Согласен. Пусть будет рекомендательный. Это только первый шаг к 
> условному приложению патчей. Мне порекомендовали, например, взглянуть
> на PATCH-O-MATIC, там есть на что посмотреть в этом плане.
> Может быть и есть смысл попользоваться их схемой.

А PATCH-O-MATIC требует своего вида apply скриптов. Я и веду к тому,
что всё должно регулироваться внутри пакета.

>
>  >> 4. При условии успешного приложения пакета патчей в каталоге ./patches
>  >> соответствующего дерева kernel sources должен создаваться файл
>  >> APPLIED_имя_пакета
>
>  PN> Это рекоммендация.
> См. выше.

Предлагаю писать номер строчки или её обозначение в таких случаях. Но
я и так понял.

>  PN> это рекоммендация.
> Но, согласись, при такой схеме гораздо проще выяснить с какими файлами
> работает пакет. Почему бы ее и не применять ?

Потому, что если пэкэджер хороший, он сделает так, чтобы было просто
выяснить. А плохих у нас нет. :) И не будет.

>  PN> шелл-библиотеки из пакета kernel-build-tools, которая соурсится каждым
>  PN> из apply-скриптов.
> Я не против, в принципе. Но почему тебе так не нравится идея с
> макросом ? Принципиальной разницы нет, IMHO.

См. ниже [1].

>
>  >> 7. Нестандартная действия по установке/приложению патчей производятся
>  >> в скриптах имя_пакета-apply и устанавливаются в
>  >> /usr/src/kernel/patches/apply
>
>  PN> Не понимаю. Зачем делать условный оператор?
> Чтобы избавиться в большинстве случаев от apply скриптов.

[1]. Чем так помешали apply скрипты? apply скрипт, -- это интерфейс
доступа к патчу. И он фиксирован. Делать в таких случаях условный
оператор не очень красиво.



-- 
Peter Novodvorsky                             nidd на myxomop.com
   http://people.altlinux.ru/~nidd   Deadheads, unite!



Подробная информация о списке рассылки devel-kernel