[d-kernel] adjusting kernel headers
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Ср Май 21 15:34:14 MSD 2003
On Tue, May 13, 2003 at 07:04:50PM +0400, Dmitry V. Levin wrote:
> On Tue, May 13, 2003 at 05:50:30PM +0400, Ed V. Bartosh wrote:
> > >> И еще надо бы описать какие симлинки ставятся при установке
> > >> kernel-headers.
> >
> > DVL> А ещё лучше - реализовать правильное выставление этих ссылок.
> > DVL> Без этого нельзя помещать kernel-headers в Сизиф - сломаются
> > DVL> BTE.
> >
> > Так это же полиси - как опишется, так потом и реализуется.
> > Я, например, не знаю как вообще планируется это делать, хотелось бы
> > узнать, обсудить.
>
> Примерно так:
Предлагаю несколько модифицированный вариант.
пакет 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.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel-kernel/attachments/20030521/1c001296/attachment-0003.bin>
Подробная информация о списке рассылки devel-kernel