[Comm] zaptel : sisyphus -> alm24
Eugene Prokopiev
=?iso-8859-1?q?prokopiev_=CE=C1_stc=2Edonpac=2Eru?=
Вт Дек 6 15:19:27 MSK 2005
>>Сразу оговорюсь, что речь пока не идет о "правильной" сборке в RPM,
>>первая задача - просто добиться работоспособности модуля.
http://lists.altlinux.ru/pipermail/sisyphus/2005-April/057742.html
помогло make KSRC=/usr/src/linux-2.4.26-std-up/, там уж дальше нашелся
modversions.h и все собралось правильно
>># lsmod | grep z
>>Module Size Used by Tainted: P
>>zaptel 184384 0 (unused)
>
>
> Модули zaptel есть в Сизифе. Может стоит использовать их как основу для
> собственной сборки?
Именно так и планируется, но есть некоторые сложности ...
За основу беру kernel-modules-zaptel-std26-up-1.0-alt4.132620.4.src.rpm,
переименовываю спек в kernel-modules-zaptel-std-up, правлю версии:
< %define kversion 2.4.26
< %define krelease alt6
< %define flavour std-up
---
> %define kversion 2.6.12
> %define krelease alt4
> %define flavour std26-up
при сборке получаю:
make -C /home/john/RPM/BUILD/kernel-source-zaptel-1.0/zaptel
CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.26-std-up/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586
-DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.26-std-up/include/linux/modversions.h"
MAKING_MODULES=1 modules
make[1]: Entering directory
`/home/john/RPM/BUILD/kernel-source-zaptel-1.0/zaptel'
make[1]: *** No rule to make target `modules'. Stop.
жалуюсь Денису Смирнову, тот отвечает: "Гм. Странно. Дело в том, что -C
должно указывать не на этот каталог, а на каталог внутри
kernel-headers-modules."
тогда я в спеке перед:
make -C %_usrsrc/linux-%kversion-%flavour SUBDIRS=`realpath .` modules
вписываю:
echo %_usrsrc/linux-%kversion-%flavour
ls %_usrsrc/linux-%kversion-%flavour
и получаю:
+ echo /usr/src/linux-2.4.26-std-up
/usr/src/linux-2.4.26-std-up
+ ls /usr/src/linux-2.4.26-std-up
Makefile Rules.make arch drivers gcc_version.inc include scripts
++ realpath .
+ make -C /usr/src/linux-2.4.26-std-up
SUBDIRS=/home/john/RPM/BUILD/kernel-source-zaptel-1.0/zaptel modules
make: Entering directory `/usr/src/linux-2.4.26-std-up'
make -C /home/john/RPM/BUILD/kernel-source-zaptel-1.0/zaptel
CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.26-std-up/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586
-DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.26-std-up/include/linux/modversions.h"
MAKING_MODULES=1 modules
make[1]: Entering directory
`/home/john/RPM/BUILD/kernel-source-zaptel-1.0/zaptel'
make[1]: *** No rule to make target `modules'. Stop.
Т.е. первоначально в %_usrsrc/linux-%kversion-%flavour оказывается то,
что нужно, но следующий make все портит. Откуда он берется? Наверное, из
/usr/src/linux-2.4.26-std-up/Makefile, в котором цель modules описана так:
modules: $(patsubst %, _mod_%, $(SUBDIRS))
$(MAKE) -C $(patsubst _mod_%, %, $@) CFLAGS="$(CFLAGS)
$(MODFLAGS)" MAKING_MODULES=1 modules
Что править?
--
С уважением, Прокопьев Евгений
Подробная информация о списке рассылки community