[d-kernel] Re: ipw2x00
Sergey Vlasov
vsu на altlinux.ru
Чт Июл 14 17:06:11 MSD 2005
On Thu, Jul 14, 2005 at 02:25:43PM +0400, Alexey Shabalin wrote:
> Я отправил новые модули ipw2100, ipw2200, ieee80211 в cvs.
> kernel-source-* залиты в инкоминг. Прошу посмотреть не замыленым
> глазом - не напутал ли я чего в зависимостях.
Да, зависимости не совсем правильные:
1) Модули ipw2?00 должны требовать для сборки не просто
kernel-headers-ieee80211-%flavour, а именно версию для соответствующего
ядра - kernel-headers-ieee80211-%kversion-%flavour-%krelease, иначе
получится путаница с заголовками.
2) Для установки пакетов с модулями также нужен не просто пакет
kernel-modules-ieee80211-%flavour (собранный неизвестно для какого ядра),
а именно та версия, заголовки от которой использовались при сборке.
Аналогичную проблему с модулями v4l и lirc я решал добавлением в пакет с
заголовками файла, содержащего информацию о версии и сборке пакета с
модулями, и использованием этого файла при сборке зависимых модулей.
После любой пересборки модулей ieee80211 потребуется пересборка ipw2100 и
ipw2200.
Кроме того, в некоторых местах нужно поправить каталоги, чтобы сборка
проходила не только через hasher, а и при использовании сборочных скриптов
из kernel CVS (там макрос %_usrsrc переопределяется, чтобы файлы брались
из временного каталога, поэтому при помещении файлов в собираемый пакет
надо использовать вместо него %_prefix/src).
> При сборке идет некоторвая ругань, но собирается и работает. Проверял
> работу ipw2100.
Вполне возможно, что модули действительно работают, только при загрузке
имеем вот такую неприятность:
ipw2200: no version for "ieee80211_get_crypto_ops" found: kernel tainted.
Соответственно получается Tainted: GF, хотя все модули "нормальные" :(
Как-то нужно передать информацию для modpost; возможно, придётся положить
собранные файлы модулей ещё и в kernel-headers-ieee80211-%flavour, а потом
как-то их подсовывать при сборке зависимых модулей. По этому поводу я ещё
пока ничего не сделал; остальные изменения ниже (пока не коммитил).
Index: modules/ieee80211/kernel-modules-ieee80211.spec
===================================================================
RCS file: /cvs/kernel/kernel/modules/ieee80211/kernel-modules-ieee80211.spec,v
retrieving revision 1.1
diff -u -p -r1.1 kernel-modules-ieee80211.spec
--- modules/ieee80211/kernel-modules-ieee80211.spec 14 Jul 2005 10:11:05 -0000 1.1
+++ modules/ieee80211/kernel-modules-ieee80211.spec 14 Jul 2005 12:44:50 -0000
@@ -63,8 +63,10 @@ modules which interface with these drive
%install
%__mkdir_p %buildroot/%module_dir
%__cp -a *.ko %buildroot/%module_dir
-%__mkdir_p %buildroot/%_usrsrc/linux-%kversion-%flavour/include/net
-%__cp -a net/* %buildroot/%_usrsrc/linux-%kversion-%flavour/include/net/
+%__mkdir_p %buildroot/%_prefix/src/linux-%kversion-%flavour/include/net
+%__cp -a net/* %buildroot/%_prefix/src/linux-%kversion-%flavour/include/net/
+echo "%name = %version-%release" \
+ > %buildroot%_prefix/src/linux-%kversion-%flavour/kernel-modules-%module_name.release
%post
%post_kernel_modules %kversion-%flavour-%krelease
@@ -78,8 +80,9 @@ modules which interface with these drive
%files -n kernel-headers-%module_name-%flavour
%defattr(644,root,root,755)
-%_usrsrc/linux-%kversion-%flavour/include/net/*
+%_prefix/src/linux-%kversion-%flavour/include/net/*
+%_prefix/src/linux-%kversion-%flavour/kernel-modules-%module_name.release
%changelog
-* * Thu Jul 14 2005 Alexey Shabalin <shaba на altlinux.ru> 1.0.2-alt1. на kreleasebuild@
+* Thu Jul 14 2005 Alexey Shabalin <shaba на altlinux.ru> 1.0.2-alt1. на kreleasebuild@
- initial release
Index: modules/ipw2100/kernel-modules-ipw2100.spec
===================================================================
RCS file: /cvs/kernel/kernel/modules/ipw2100/kernel-modules-ipw2100.spec,v
retrieving revision 1.5
diff -u -p -r1.5 kernel-modules-ipw2100.spec
--- modules/ipw2100/kernel-modules-ipw2100.spec 14 Jul 2005 10:08:08 -0000 1.5
+++ modules/ipw2100/kernel-modules-ipw2100.spec 14 Jul 2005 12:44:50 -0000
@@ -25,7 +25,7 @@ BuildPreReq: kernel-build-tools
BuildRequires: kernel-headers-%flavour = %kversion-%krelease
BuildRequires: kernel-source-%module_name-%module_version
BuildRequires: kernel-headers-modules-%flavour = %kversion-%krelease
-BuildRequires: kernel-headers-ieee80211-%flavour
+BuildRequires: kernel-headers-ieee80211-%kversion-%flavour-%krelease
Provides: kernel-modules-%module_name-%kversion-%flavour-%krelease = %version-%release
Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease < %version-%release
@@ -37,7 +37,8 @@ PreReq: kernel-image-%flavour = %kversio
ExclusiveArch: %ix86
Requires: firmware-%module_name
-Requires: kernel-modules-ieee80211-%flavour
+%define ieee80211_release_file %_usrsrc/linux-%kversion-%flavour/kernel-modules-ieee80211.release
+%([ -s "%ieee80211_release_file" ] && echo "PreReq: $(cat "%ieee80211_release_file")")
%description
This project was created by Intel to enable support for the Intel
Index: modules/ipw2200/kernel-modules-ipw2200.spec
===================================================================
RCS file: /cvs/kernel/kernel/modules/ipw2200/kernel-modules-ipw2200.spec,v
retrieving revision 1.7
diff -u -p -r1.7 kernel-modules-ipw2200.spec
--- modules/ipw2200/kernel-modules-ipw2200.spec 14 Jul 2005 10:09:01 -0000 1.7
+++ modules/ipw2200/kernel-modules-ipw2200.spec 14 Jul 2005 12:44:50 -0000
@@ -24,7 +24,7 @@ BuildPreReq: kernel-build-tools
BuildRequires: kernel-headers-%flavour = %kversion-%krelease
BuildRequires: kernel-source-%module_name-%module_version
BuildRequires: kernel-headers-modules-%flavour = %kversion-%krelease
-BuildRequires: kernel-headers-ieee80211-%flavour
+BuildRequires: kernel-headers-ieee80211-%kversion-%flavour-%krelease
Provides: kernel-modules-%module_name-%kversion-%flavour-%krelease = %version-%release
Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease < %version-%release
@@ -36,7 +36,9 @@ PreReq: kernel-image-%flavour = %kversio
ExclusiveArch: %ix86
Requires: firmware-%module_name-2.3
-Requires: kernel-modules-ieee80211-%flavour
+
+%define ieee80211_release_file %_usrsrc/linux-%kversion-%flavour/kernel-modules-ieee80211.release
+%([ -s "%ieee80211_release_file" ] && echo "PreReq: $(cat "%ieee80211_release_file")")
%description
This project was created by Intel to enable support for the Intel
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.ru/pipermail/devel-kernel/attachments/20050714/d1a7c57a/attachment.bin
Подробная информация о списке рассылки devel-kernel