[d-kernel] adjusting kernel headers
Alexander Bokovoy
=?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Ср Май 21 16:39:44 MSD 2003
On Wed, May 21, 2003 at 03:34:14PM +0400, Dmitry V. Levin wrote:
> Предлагаю несколько модифицированный вариант.
>
> пакет kernel-headers-common:
> %_sbindir/adjust_kernel_headers
> %_initdir/kheaders
> %dir /etc/sysconfig/kernel
> /usr/include/asm -> /etc/sysconfig/kernel/include/asm
> /usr/include/linux -> /etc/sysconfig/kernel/include/linux
> %ghost /etc/sysconfig/kernel/include -> /usr/include/linux-default/include
> %dir /usr/lib/kernel
> %dir /var/run/kernel
> %ghost /var/run/kernel/*
>
> Корректировака kernel headers (путём запуска %_initdir/kheaders) должна
> происходить после старта netfs для того, чтобы схема не перестала работать
> в случае использования /usr по NFS.
>
> Точка переключения, /etc/sysconfig/kernel/include, управляется скриптом
> adjust_kernel_headers, который работает по следующему алгоритму:
>
> + Определяется полная версия ядра, по умолчанию это $(uname -r)
> + Если существует /usr/include/linux-<версия ядра>-<flavour>/include; то
> /etc/sysconfig/kernel/include -> /usr/include/linux-<версия ядра>-<flavour>/include
> Иначе если существует /(usr|var)/lib/kernel/<полная версия ядра>; то
> /etc/sysconfig/kernel/include -> /usr/lib/kernel/include
> создаются файлы в /var/run/kernel/ (как в нынешнем gen_kernel_headers)
> Иначе если существует /usr/include/linux-default/include; то
> /etc/sysconfig/kernel/include -> /usr/include/linux-default/include
> Иначе
> /etc/sysconfig/kernel/include остается неизменным
> и возвращается ошибка.
>
> Преимущества такого управления:
> + на один indirection меньше в случае использования новых kernel headers;
> + не портится ссылка /usr/lib/kernel/include, находящаяся под управлением
> update-alternatives, в случае использования старых kernel headers.
>
> Недостаток такого управления:
> + на один indirection больше в случае использования старых kernel headers.
>
> Для совместимости с уже существующими скриптами следует сохранить имя
> /etc/rc.d/scripts/gen_kernel_headers, заменив его на обертку к (возможно,
> не установленному в системе) %_sbindir/adjust_kernel_headers.
Я -- за. Еще мнения?
Давайте по-быстрее завершим разработку политики.
--
/ Alexander Bokovoy
---
Goldenstern's Rules:
(1) Always hire a rich attorney
(2) Never buy from a rich salesman.
Подробная информация о списке рассылки devel-kernel