Package: kqemu-source
Version: 1.3.0~pre9-12
Severity: grave
Tags: patch
Justification: renders package unusable
When running the following:
$ m-a -t build kqemu
<SNIP>
# Build the module
./configure --kernel-path=/lib/modules/2.6.24-etchnhalf.1-amd64/build
Source path /usr/src/modules/kqemu
C compiler gcc
Host C compiler gcc
make make
host CPU x86_64
kernel sources /lib/modules/2.6.24-etchnhalf.1-amd64/build
kbuild type 2.6
/usr/bin/make
make[2]: Entering directory `/usr/src/modules/kqemu'
make -C /lib/modules/2.6.24-etchnhalf.1-amd64/build M=`pwd` modules
make[3]: Entering directory `/usr/src/linux-headers-2.6.24-etchnhalf.1-amd64'
CC [M] /usr/src/modules/kqemu/kqemu-linux.o
make[4]: *** No rule to make target `/usr/src/modules/kqemu/kqemu-mod-x86.o',
needed by `/usr/src/modules/kqemu/kqemu-mod.o'. Stop.
make[3]: *** [_module_/usr/src/modules/kqemu] Error 2
make[3]: Leaving directory `/usr/src/linux-headers-2.6.24-etchnhalf.1-amd64'
make[2]: *** [kqemu.ko] Error 2
make[2]: Leaving directory `/usr/src/modules/kqemu'
make[1]: *** [binary-modules] Error 2
make[1]: Leaving directory `/usr/src/modules/kqemu'
make: *** [kdist_build] Error 2
BUILD FAILED!
If I don't use m-a and run the following:
$ cd /usr/src/modules/kqemu/
$ debian/rules build
$ debian/rules binary-modules
<The same error as before>
However, if I run the following:
$ cd /usr/src/modules/kqemu/
$ debian/rules build
$ debian/rules ARCH=x86_64 binary-modules
<SNIP>
# Build the module
./configure --kernel-path=/usr/src/linux
Source path /usr/src/modules/kqemu
C compiler gcc
Host C compiler gcc
make make
host CPU x86_64
kernel sources /usr/src/linux
kbuild type 2.6
/usr/bin/make
make[1]: Entering directory `/usr/src/modules/kqemu'
make -C /usr/src/linux M=`pwd` modules
make[2]: Entering directory
`/usr/src/linux-headers-2.6.24-etchnhalf.1-amd64'
cp /usr/src/modules/kqemu/kqemu-mod-x86_64.o
/usr/src/modules/kqemu/kqemu-mod.o
LD [M] /usr/src/modules/kqemu/kqemu.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/src/modules/kqemu/kqemu.mod.o
LD [M] /usr/src/modules/kqemu/kqemu.ko
make[2]: Leaving directory `/usr/src/linux-headers-2.6.24-etchnhalf.1-amd64'
make[1]: Leaving directory `/usr/src/modules/kqemu'
# Install the module
<SNIP>
So, I reckon debian/rules isn't setting ARCH properly. This very humble patch
for debian/rules fixes this, but someone should probably make sure it does it
in a Debian-approved way, rather than my hackish way:
diff -Naur debian.old/rules debian/rules
--- debian.old/rules 2008-11-12 11:04:05.000000000 +0000
+++ debian/rules 2008-11-12 11:02:20.000000000 +0000
@@ -64,7 +64,7 @@
# Build the module
./configure --kernel-path=$(KSRC)
- $(MAKE)
+ $(MAKE) ARCH=$(DEB_BUILD_GNU_CPU)
# Install the module
install -D -m 0644 kqemu.ko
debian/$(PACKAGE)-$(KVERS)/lib/modules/$(KVERS)/misc/kqemu.ko
The build log from m-a and patch are also attached.
Cheers,
Chris Mortimore
diff -Naur debian.old/rules debian/rules
--- debian.old/rules 2008-11-12 11:04:05.000000000 +0000
+++ debian/rules 2008-11-12 11:02:20.000000000 +0000
@@ -64,7 +64,7 @@
# Build the module
./configure --kernel-path=$(KSRC)
- $(MAKE)
+ $(MAKE) ARCH=$(DEB_BUILD_GNU_CPU)
# Install the module
install -D -m 0644 kqemu.ko debian/$(PACKAGE)-$(KVERS)/lib/modules/$(KVERS)/misc/kqemu.ko