From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 21 May 2003 15:34:14 +0400 From: "Dmitry V. Levin" To: devel-kernel@altlinux.ru Subject: Re: [d-kernel] adjusting kernel headers Message-ID: <20030521113414.GA16236@basalt.office.altlinux.org> Mail-Followup-To: devel-kernel@altlinux.ru References: <87y91cj9z5.fsf@velvet.po.cs.msu.su> <20030513144121.GB12183@basalt.office.altlinux.org> <20030513150450.GA12432@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="TB36FDmn/VVEgNH/" Content-Disposition: inline In-Reply-To: <20030513150450.GA12432@basalt.office.altlinux.org> X-fingerprint: 9658 398D 181B 1200 8FC5 26B8 F6F8 846B C1E2 3429 Sender: devel-kernel-admin@altlinux.ru Errors-To: devel-kernel-admin@altlinux.ru X-BeenThere: devel-kernel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel-kernel@altlinux.ru List-Unsubscribe: , List-Id: ALT Linux kernel packages development List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: --TB36FDmn/VVEgNH/ Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit 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-<версия ядра>-/include; то /etc/sysconfig/kernel/include -> /usr/include/linux-<версия ядра>-/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 --TB36FDmn/VVEgNH/ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE+y2Q29viEa8HiNCkRAgEuAJ4p50FNGV7tYnC7+80ejZkp3hm21QCfTOLC HkM46hmM2iz1F3b+m09oUxQ= =NOQK -----END PGP SIGNATURE----- --TB36FDmn/VVEgNH/--