Package: qc-usb-source
Version: 0.6.6-2
Severity: wishlist
*** Please type your report below this line ***
Trying to build qc-usb against kernel 2.6.24-rc5-git3 fails with the
following error message:
mkdir -p /tmp/pkg/modules/qc-usb-source/.tmp_versions ; rm -f /tmp/pkg/modules/qc-usb-source/.tmp_versions/*
make -f scripts/Makefile.build obj=/tmp/pkg/modules/qc-usb-source
gcc -Wp,-MD,/tmp/pkg/modules/qc-usb-source/.qc-driver.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.2.3/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -O2 -mtune=generic -m64 -mno-red-zone -mcmodel=kernel -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -funit-at-a-time -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -fomit-frame-pointer -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -DNOKERNEL -DHAVE_UTSRELEASE_H=1 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(qc_driver)" -D"KBUILD_MODNAME=KBUILD_STR(quickcam)" -c -o /tmp/pkg/modules/qc-usb-source/.tmp_qc-driver.o /tmp/pkg/modules/qc-usb-source/qc-driver.c
In file included from /tmp/pkg/modules/qc-usb-source/qc-driver.c:47:
/tmp/pkg/modules/qc-usb-source/quickcam.h:129:1: warning: "BIT" redefined
In file included from include/linux/kernel.h:15,
from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/videodev2.h:59,
from include/linux/videodev.h:15,
from /tmp/pkg/modules/qc-usb-source/quickcam.h:95,
from /tmp/pkg/modules/qc-usb-source/qc-driver.c:47:
include/linux/bitops.h:6:1: warning: this is the location of the previous definition
/tmp/pkg/modules/qc-usb-source/qc-driver.c: In function 'qc_i2c_init':
/tmp/pkg/modules/qc-usb-source/qc-driver.c:824: error: 'struct urb' has no member named 'lock'
/tmp/pkg/modules/qc-usb-source/qc-driver.c:825: warning: assignment from incompatible pointer type
/tmp/pkg/modules/qc-usb-source/qc-driver.c: In function 'qc_isoc_start':
/tmp/pkg/modules/qc-usb-source/qc-driver.c:1867: warning: assignment from incompatible pointer type
/tmp/pkg/modules/qc-usb-source/qc-driver.c: At top level:
/tmp/pkg/modules/qc-usb-source/qc-driver.c:2998: warning: initialization from incompatible pointer type
/tmp/pkg/modules/qc-usb-source/qc-driver.c:3009: error: unknown field 'hardware' specified in initializer
make[6]: *** [/tmp/pkg/modules/qc-usb-source/qc-driver.o] Error 1
make[5]: *** [_module_/tmp/pkg/modules/qc-usb-source] Error 2
The attached patch "02_kcompat-2.6.24.dpatch" fixes compilation and has
been confirmed to be working on an i386 system.
"qc-usb_debdiff_use-depatch_bts445434_kcompat-2.6.24.diff" moves the
already applied patches (Makefile --> 01_makefile.dpatch) under dpatch
control (debian/control, debian/control, debian/patches/00list,
debian/rules), fixes #445434 (debian/rules), fixes the lintian complaints
about ignored clean errors, bumps the standards version to 3.7.3 and adds
"02_kcompat-2.6.24.dpatch".
Makefile | 16 ++++-----
debian/control | 4 +-
debian/patches/00list | 2 +
debian/patches/01_makefile.dpatch | 52 ++++++++++++++++++++++++++++++++
debian/patches/02_kcompat-2.6.24.dpatch | 43 ++++++++++++++++++++++++++
debian/rules | 12 ++++---
6 files changed, 115 insertions(+), 14 deletions(-)
Proposed changelog entries:
* use dpatch for patch management.
* add kdist target for make-kpkg (Closes: #445434).
* add kernel 2.6.24 compatibility (Closes: $THIS_BUG).
* don't ignore make clean error.
* bump standards version to 3.7.3 (no changes necessary).
Regards
Stefan Lippers-Hollmann
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.24-rc5-git1-slh64-smp-1 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages qc-usb-source depends on:
ii debhelper 5.0.62 helper programs for debian/rules
Versions of packages qc-usb-source recommends:
ii kernel-package 11.001 A utility for building Linux kerne
-- no debconf information
Attachment:
02_kcompat-2.6.24.dpatch
Description: application/shellscript
diff -u qc-usb-0.6.6/debian/rules qc-usb-0.6.6/debian/rules
--- qc-usb-0.6.6/debian/rules
+++ qc-usb-0.6.6/debian/rules
@@ -2,6 +2,9 @@
#export DH_OPTIONS=""
+# Include dpatch stuff.
+include /usr/share/dpatch/dpatch.make
+
# unset ROOT_CMD if already running as root
ifeq ($(shell id -u),0)
ROOT_CMD =
@@ -129,6 +132,7 @@
kdist_image:
$(ROOT_CMD) $(MAKE) -f debian/rules clean binary-modules
+kdist: kdist_image
# the kdist_clean target is called by make-kpkg modules_clean. It is
# responsible for cleaning up any changes that have been made by the
@@ -139,7 +143,7 @@
# the binary-source target creates the kernmod-source package. It does
# this by copying the entire package source into debian/tmp and running
# clean in the copy
-binary-source:
+binary-source: patch-stamp
# Perform some simple tests
dh_testdir
dh_testroot
@@ -237,7 +241,7 @@
dh_testdir
dh_testroot
- -$(MAKE) VERSION_CODE=4 clean
+ [ ! -f Makefile ] || $(MAKE) VERSION_CODE=4 clean
-rm -rf debian/$(package)-modules-*
-rm -f debian/control.modules
@@ -250,2 +254,2 @@
-.PHONY: binary binary-indep binary-arch kdist_config kdist_image kdist_clean \
- binary-source binary-modules binary-common clean
+.PHONY: binary binary-indep binary-arch kdist kdist_config kdist_image \
+ kdist_clean binary-source binary-modules binary-common clean
diff -u qc-usb-0.6.6/debian/control qc-usb-0.6.6/debian/control
--- qc-usb-0.6.6/debian/control
+++ qc-usb-0.6.6/debian/control
@@ -1,9 +1,9 @@
Source: qc-usb
Section: misc
Priority: extra
-Build-Depends: debhelper (>> 4.0.0)
+Build-Depends: debhelper (>> 4.0.0), dpatch
Maintainer: Debian QA Group <packages@qa.debian.org>
-Standards-Version: 3.7.2.2
+Standards-Version: 3.7.3
XS-Vcs-Git: git://git.debian.org/git/collab-maint/qc-usb.git
XS-Vcs-Browser: http://git.debian.org/?p=collab-maint/qc-usb.git
reverted:
--- qc-usb-0.6.6/Makefile
+++ qc-usb-0.6.6.orig/Makefile
@@ -72,7 +72,7 @@
ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
INSTALL := $(shell which install)
+DEPMOD := $(shell which depmod || which /sbin/depmod || echo "true You should now run depmod")
-DEPMOD := $(shell echo "true You should now run depmod")
# Get VERSION_CODE (from version.h in kernel source directory)
VERSION_CODE := $(shell awk '/[ ]*\#[ ]*define[ ]*LINUX_VERSION_CODE[ ]*/ { print $$3 }' $(LINUX_DIR)/include/linux/version.h|tail -n 1)
@@ -141,16 +141,16 @@
# By not including Makefile, kernel headers are sufficient for compilation.
# Otherwise, full kernel source package is required to be installed.
ifeq ($(ARCH),alpha)
+include $(LINUX_DIR)/Rules.make
+include $(LINUX_DIR)/arch/$(ARCH)/Makefile
--include $(LINUX_DIR)/Rules.make
--include $(LINUX_DIR)/arch/$(ARCH)/Makefile
endif
ifeq ($(ARCH),sparc)
+include $(LINUX_DIR)/Rules.make
+include $(LINUX_DIR)/arch/$(ARCH)/Makefile
--include $(LINUX_DIR)/Rules.make
--include $(LINUX_DIR)/arch/$(ARCH)/Makefile
endif
ifeq ($(ARCH),sparc64)
+include $(LINUX_DIR)/Rules.make
+include $(LINUX_DIR)/arch/$(ARCH)/Makefile
--include $(LINUX_DIR)/Rules.make
--include $(LINUX_DIR)/arch/$(ARCH)/Makefile
endif
ifndef LD
@@ -179,7 +179,7 @@
.PHONY: install
install: $(MODULE_NAME)
$(INSTALL) -c -D -m 644 $(MODULE_NAME) $(MODULE_DIR)/misc/$(MODULE_NAME)
+ $(INSTALL) -c -D -m 755 qcset $(PREFIX)/bin/qcset
-# $(INSTALL) -c -D -m 755 qcset $(PREFIX)/bin/qcset
-$(DEPMOD) -a
qcset: qcset.c quickcam.h
only in patch2:
unchanged:
--- qc-usb-0.6.6.orig/debian/patches/00list
+++ qc-usb-0.6.6/debian/patches/00list
@@ -0,0 +1,2 @@
+01_makefile.dpatch
+02_kcompat-2.6.24.dpatch
only in patch2:
unchanged:
--- qc-usb-0.6.6.orig/debian/patches/01_makefile.dpatch
+++ qc-usb-0.6.6/debian/patches/01_makefile.dpatch
@@ -0,0 +1,52 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_makefile.dpatch by Stefan Lippers-Hollmann <s.l-h@gmx.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: import previous patches into dpatch
+## DP: don't run depmod, various packaging related changes.
+
+@DPATCH@
+diff -urNad qc-usb-0.6.6~/Makefile qc-usb-0.6.6/Makefile
+--- qc-usb-0.6.6~/Makefile 2007-12-09 17:10:46.000000000 +0100
++++ qc-usb-0.6.6/Makefile 2007-12-09 17:15:22.000000000 +0100
+@@ -72,7 +72,7 @@
+
+ ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
+ INSTALL := $(shell which install)
+-DEPMOD := $(shell which depmod || which /sbin/depmod || echo "true You should now run depmod")
++DEPMOD := $(shell echo "true You should now run depmod")
+
+ # Get VERSION_CODE (from version.h in kernel source directory)
+ VERSION_CODE := $(shell awk '/[ ]*\#[ ]*define[ ]*LINUX_VERSION_CODE[ ]*/ { print $$3 }' $(LINUX_DIR)/include/linux/version.h|tail -n 1)
+@@ -141,16 +141,16 @@
+ # By not including Makefile, kernel headers are sufficient for compilation.
+ # Otherwise, full kernel source package is required to be installed.
+ ifeq ($(ARCH),alpha)
+-include $(LINUX_DIR)/Rules.make
+-include $(LINUX_DIR)/arch/$(ARCH)/Makefile
++-include $(LINUX_DIR)/Rules.make
++-include $(LINUX_DIR)/arch/$(ARCH)/Makefile
+ endif
+ ifeq ($(ARCH),sparc)
+-include $(LINUX_DIR)/Rules.make
+-include $(LINUX_DIR)/arch/$(ARCH)/Makefile
++-include $(LINUX_DIR)/Rules.make
++-include $(LINUX_DIR)/arch/$(ARCH)/Makefile
+ endif
+ ifeq ($(ARCH),sparc64)
+-include $(LINUX_DIR)/Rules.make
+-include $(LINUX_DIR)/arch/$(ARCH)/Makefile
++-include $(LINUX_DIR)/Rules.make
++-include $(LINUX_DIR)/arch/$(ARCH)/Makefile
+ endif
+
+ ifndef LD
+@@ -179,7 +179,7 @@
+ .PHONY: install
+ install: $(MODULE_NAME)
+ $(INSTALL) -c -D -m 644 $(MODULE_NAME) $(MODULE_DIR)/misc/$(MODULE_NAME)
+- $(INSTALL) -c -D -m 755 qcset $(PREFIX)/bin/qcset
++# $(INSTALL) -c -D -m 755 qcset $(PREFIX)/bin/qcset
+ -$(DEPMOD) -a
+
+ qcset: qcset.c quickcam.h
only in patch2:
unchanged:
--- qc-usb-0.6.6.orig/debian/patches/02_kcompat-2.6.24.dpatch
+++ qc-usb-0.6.6/debian/patches/02_kcompat-2.6.24.dpatch
@@ -0,0 +1,43 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_kcompat-2.6.24.dpatch by Stefan Lippers-Hollmann <s.l-h@gmx.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: fix kernel 2.6.24 compatibility.
+
+@DPATCH@
+diff -urNad qc-usb-0.6.6~/qc-driver.c qc-usb-0.6.6/qc-driver.c
+--- qc-usb-0.6.6~/qc-driver.c 2006-10-24 04:06:19.000000000 +0200
++++ qc-usb-0.6.6/qc-driver.c 2007-12-09 17:20:30.000000000 +0100
+@@ -821,7 +821,9 @@
+ if (!cr) goto fail2;
+ urb->transfer_buffer = kmalloc(qc_i2c_maxbufsize*sizeof(u8), GFP_KERNEL); /* Allocate maximum ever needed */
+ if (!urb->transfer_buffer) goto fail3;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ spin_lock_init(&urb->lock);
++#endif
+ urb->complete = qc_i2c_handler;
+ urb->context = qc;
+ #if (LINUX_VERSION_CODE<KERNEL_VERSION(2,6,9) && !defined(CONFIG_SUSE_KERNEL)) || LINUX_VERSION_CODE<KERNEL_VERSION(2,6,8)
+@@ -3006,7 +3008,9 @@
+ static struct video_device qc_v4l_template = {
+ name: "QuickCam USB",
+ type: VID_TYPE_CAPTURE | VID_TYPE_SUBCAPTURE,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ hardware: VID_HARDWARE_QCAM_USB,
++#endif
+ minor: -1,
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+ release: qc_v4l_release,
+diff -urNad qc-usb-0.6.6~/quickcam.h qc-usb-0.6.6/quickcam.h
+--- qc-usb-0.6.6~/quickcam.h 2006-11-04 14:38:27.000000000 +0100
++++ qc-usb-0.6.6/quickcam.h 2007-12-09 17:17:01.000000000 +0100
+@@ -126,7 +126,9 @@
+ #define FALSE 0
+ #define TRUE (!FALSE)
+ typedef unsigned char Bool;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ #define BIT(x) (1<<(x))
++#endif
+ #define SIZE(a) (sizeof(a)/sizeof((a)[0]))
+ #define MAX(a,b) ((a)>(b)?(a):(b))
+ #define MIN(a,b) ((a)<(b)?(a):(b))
Attachment:
signature.asc
Description: This is a digitally signed message part.