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

Reply via email to