From: nico Date: Sat, 17 Jun 2006 10:21:41 +0000 (+0000) Subject: move spca5xx from target/linux/package/ to package/, X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=commitdiff_plain;h=316d7b8037837cfbca1c33729cb6206f06fd2cce move spca5xx from target/linux/package/ to package/, dependency on kmod-usb-core & kmod-videodev packages needs fixing. git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@3972 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/package/spca5xx/Makefile b/package/spca5xx/Makefile new file mode 100644 index 0000000000..0a84d980c9 --- /dev/null +++ b/package/spca5xx/Makefile @@ -0,0 +1,45 @@ +# $Id$ + +include $(TOPDIR)/rules.mk +include $(TOPDIR)/package/kernel.mk + +PKG_NAME:=spca5xx +PKG_VERSION:=20060301 +PKG_RELEASE:=1 +PKG_MD5SUM:=4160e03c408ac254111febacf058b88a + +PKG_SOURCE_URL:=http://mxhaard.free.fr/spca50x/Download/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_CAT:=zcat + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +include $(TOPDIR)/package/rules.mk + +#FIXME: add proper dependency handling on kmod-usb-core & kmod-videodev packages +define Package/kmod-spca5xx + SECTION:=drivers + CATEGORY:=Drivers + DEPENDS:=@PACKAGE_KMOD_USB&&PACKAGE_KMOD_VIDEODEV + TITLE:=Driver for SPCA5xx based USB cameras + DESCRIPTION:=Driver for SPCA5xx based USB cameras + URL:=http://mxhaard.free.fr/ + VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) +endef + +define Build/Compile + $(MAKE) -C $(LINUX_DIR) \ + ARCH="$(LINUX_KARCH)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + KERNELVERSION="$(KERNEL)" \ + SUBDIRS="$(PKG_BUILD_DIR)" \ + modules +endef + +define Package/kmod-spca5xx/install + install -m0755 -d $(1)/lib/modules/$(LINUX_VERSION) + $(CP) $(PKG_BUILD_DIR)/spca5xx.$(LINUX_KMOD_SUFFIX) \ + $(1)/lib/modules/$(LINUX_VERSION)/ +endef + +$(eval $(call BuildPackage,kmod-spca5xx)) diff --git a/package/spca5xx/patches/01-kmod-build.patch b/package/spca5xx/patches/01-kmod-build.patch new file mode 100644 index 0000000000..304df92047 --- /dev/null +++ b/package/spca5xx/patches/01-kmod-build.patch @@ -0,0 +1,177 @@ +diff -Nur spca5xx-20051212/Makefile spca5xx-20051212.patched/Makefile +--- spca5xx-20051212/Makefile 2005-12-10 17:05:51.000000000 +0100 ++++ spca5xx-20051212.patched/Makefile 2005-12-25 02:41:29.910720750 +0100 +@@ -33,7 +33,9 @@ + DEFINES += -DCONFIG_USB_SPCA5XX_MODULE=1 -DMODULE -D__KERNEL__ + DEFINES += -DVID_HARDWARE_SPCA5XX=0xFF -DSPCA5XX_VERSION=\"$(VERSION)\" + +-ifneq ($(shell uname -r | cut -d. -f1,2), 2.4) ++KERNELVERSION=$(shell uname -r | cut -d. -f1,2) ++ ++ifneq ($(KERNELVERSION), 2.4) + + ifneq ($(KERNELRELEASE),) # We were called by kbuild + CFLAGS += $(DEFINES) +@@ -68,152 +70,16 @@ + + else # kernel version test + +-############################################################################# +-# For Linux 2.4 users. +-# Change the following lines according to your system configuration. +-# It is important to configure your particular source tree ("make dep") before +-# compiling this module! +-############################################################################# +-### +-# This makefile will build the spca50x driver module external to the kernel +-# source tree. It makes it easier to swap kernels. +- +- +-KERNEL_VERSION = `uname -r` +- +-### +-# Location of the header files (most importantly the config files) +-# for the kernel you want to build the module against. +-# This should be correct for the currently installed kernel on your machine. +-KINCLUDE = /lib/modules/$(KERNEL_VERSION)/build/include +-KERNEL_ACFILE = $(KINCLUDE)/linux/autoconf.h +-KERNEL_MODVERSIONSFILE = $(KINCLUDE)/linux/modversions.h +-MODULE_INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/drivers/usb/ +- +-# Detect module versioning support +-ifneq ($(strip $(shell grep 'define CONFIG_MODVERSIONS 1' $(KERNEL_ACFILE))),) +- DEFINES += -DMODVERSIONS -include $(KERNEL_MODVERSIONSFILE) +-endif +- +-# Detect SMP support +-ifneq ($(strip $(shell grep 'define CONFIG_SMP 1' $(KERNEL_ACFILE))),) +- DEFINES += -D__SMP__ -DSMP +-endif +- +-# Setup the tools +-CC = gcc +-LD = ld +- +-# Setup compiler warnings +-WARNINGS = -Wall -Wpointer-arith +-WARNINGS += -Wcast-align -Wwrite-strings -Wstrict-prototypes +-WARNINGS += -Wuninitialized -Wreturn-type -Wunused -Wparentheses +- +-# Setup compiler flags +-CFLAGS = -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe +-CFLAGS += -mpreferred-stack-boundary=2 +-CFLAGS += -I$(KINCLUDE) -Idrivers/usb +- +-# Setup link flags +-LDFLAGS = --strip-debug -r +- +-# Setup the list of files to be included in a distribution +-DIST_FILES = CHANGELOG \ +- README \ +- Makefile \ +- drivers/usb/Config.in \ +- drivers/usb/spcadecoder.c \ +- drivers/usb/spcadecoder.h \ +- drivers/usb/spcagamma.h \ +- drivers/usb/spcaCompat.h \ +- drivers/usb/spcausb.h \ +- drivers/usb/spca500_init.h \ +- drivers/usb/spca501_init.h \ +- drivers/usb/sp5xxfw2.dat \ +- drivers/usb/sp5xxfw2.h \ +- drivers/usb/spca505_init.h \ +- drivers/usb/spca506.h \ +- drivers/usb/spca508_init.h \ +- drivers/usb/spca561.h \ +- drivers/usb/sonix.h \ +- drivers/usb/cs2102.h \ +- drivers/usb/hv7131b.h \ +- drivers/usb/icm105a.h \ +- drivers/usb/hv7131c.h \ +- drivers/usb/hdcs2020.h \ +- drivers/usb/pb0330.h \ +- drivers/usb/tas5130c.h \ +- drivers/usb/zc3xx.h\ +- drivers/usb/tv8532.h\ +- drivers/usb/cxlib.h\ +- drivers/usb/sn9cxxx.h\ +- drivers/usb/cx11646.h\ +- drivers/usb/pac207.h\ +- drivers/usb/spca5xx.c \ +- drivers/usb/spca5xx.h +- +-OBJS = drivers/usb/spcadecoder.o \ +- drivers/usb/spca5xx.o +- +-BINARY = spca5xx.o +- +-### +-# Targets follow here +- +-binary: $(OBJS) +- @echo Linking $(BINARY) +- @$(LD) $(LDFLAGS) -o $(BINARY) $(OBJS) +- +-install: binary +- @echo Installing.. Your root password may be required. +- su -c "make install-root" +- +-install-root: +- @echo Installing.. +- @mkdir -p /lib/modules/`uname -r`/kernel/drivers/usb +- @rm -f /lib/modules/`uname -r`/kernel/drivers/usb/spca50x.o +- @rm -f /lib/modules/`uname -r`/kernel/drivers/usb/et61x.o +- @cp spca5xx.o /lib/modules/`uname -r`/kernel/drivers/usb/spca5xx.o +- @/sbin/depmod +- +-dist: clean binary +- @echo Making distributable archives +- @rm -f spca5xx-src-$(VERSION).tar.gz +- @tar zcf spca5xx-src-$(VERSION).tar.gz $(DIST_FILES) +- @rm -f spca5xx-module-$(VERSION).tar.gz +- @cp $(BINARY) spca5xx-$(VERSION).o +- @tar zcf spca5xx-module-$(VERSION).tar.gz spca5xx-$(VERSION).o README +- @rm spca5xx-$(VERSION).o +- +-.c.o: Makefile $*.c +- @echo Compiling $*.c +- @$(CC) $(CFLAGS) $(WARNINGS) $(DEFINES) -c $*.c -o $*.o +- +-### +-# Dependencies follow here +- +-drivers/usb/spca5xx.o: drivers/usb/spca5xx.h \ +- drivers/usb/spcaCompat.h \ +- drivers/usb/spcausb.h \ +- drivers/usb/sonix.h \ +- drivers/usb/spca500_init.h \ +- drivers/usb/spca501_init.h \ +- drivers/usb/sp5xxfw2.h \ +- drivers/usb/spca505_init.h \ +- drivers/usb/spca506.h \ +- drivers/usb/spca508_init.h \ +- drivers/usb/spca561.h \ +- drivers/usb/zc3xx.h\ +- drivers/usb/tv8532.h\ +- drivers/usb/cx11646.h\ +- drivers/usb/mr97311.h\ +- drivers/usb/sn9cxxx.h\ +- drivers/usb/pac207.h\ +- +- +-drivers/usb/spcadecoder.o: drivers/usb/spcadecoder.h \ +- drivers/usb/spcagamma.h \ +- ++EXTRA_CFLAGS += $(DEFINES) ++ ++spca5xx-objs := drivers/usb/spca5xx.o drivers/usb/spcadecoder.o ++ ++obj-m += spca5xx.o ++obj-y := $(spca5xx-objs) ++ ++O_TARGET := $(obj-m) ++ ++-include $(TOPDIR)/Rules.make + + endif # End kernel version test + diff --git a/target/linux/package/spca5xx/Config.in b/target/linux/package/spca5xx/Config.in deleted file mode 100644 index 729e6b0094..0000000000 --- a/target/linux/package/spca5xx/Config.in +++ /dev/null @@ -1,9 +0,0 @@ -config PACKAGE_KMOD_SPCA5XX - prompt "kmod-spca5xx...................... Kernel driver for SPCA5XX based USB cameras" - tristate - default m if DEVEL - help - Kernel driver for SPCA5XX based USB cameras - - http://mxhaard.free.fr/ - diff --git a/target/linux/package/spca5xx/Makefile b/target/linux/package/spca5xx/Makefile deleted file mode 100644 index fa2605df25..0000000000 --- a/target/linux/package/spca5xx/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -# $Id$ - -include $(TOPDIR)/rules.mk -include ../../rules.mk - -PKG_NAME:=spca5xx -PKG_VERSION:=20060301 -PKG_RELEASE:=1 -PKG_MD5SUM:=4160e03c408ac254111febacf058b88a - -PKG_SOURCE_URL:=http://mxhaard.free.fr/spca50x/Download/ -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_CAT:=zcat - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) -PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install - -include $(TOPDIR)/package/rules.mk - -$(eval $(call PKG_template,KMOD_SPCA5XX,kmod-spca5xx,$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE),$(ARCH),kernel ($(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)))) - -$(PKG_BUILD_DIR)/.configured: - touch $@ - -$(PKG_BUILD_DIR)/.built: - $(MAKE) -C $(LINUX_DIR) \ - ARCH="$(LINUX_KARCH)" \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - KERNELVERSION="$(KERNEL)" \ - SUBDIRS="$(PKG_BUILD_DIR)" \ - modules - touch $@ - -$(IPKG_KMOD_SPCA5XX): - install -m0755 -d $(IDIR_KMOD_SPCA5XX)/lib/modules/$(LINUX_VERSION) - $(CP) $(PKG_BUILD_DIR)/spca5xx.$(LINUX_KMOD_SUFFIX) \ - $(IDIR_KMOD_SPCA5XX)/lib/modules/$(LINUX_VERSION)/ - $(RSTRIP_KMOD) $(IDIR_KMOD_SPCA5XX) - $(IPKG_BUILD) $(IDIR_KMOD_SPCA5XX) $(PACKAGE_DIR) - diff --git a/target/linux/package/spca5xx/ipkg/kmod-spca5xx.control b/target/linux/package/spca5xx/ipkg/kmod-spca5xx.control deleted file mode 100644 index 1563eb4566..0000000000 --- a/target/linux/package/spca5xx/ipkg/kmod-spca5xx.control +++ /dev/null @@ -1,5 +0,0 @@ -Package: kmod-spca5xx -Priority: optional -Section: sys -Depends: kmod-videodev, kmod-usb-core -Description: Kernel driver for SPCA5XX based USB cameras diff --git a/target/linux/package/spca5xx/patches/01-kmod-build.patch b/target/linux/package/spca5xx/patches/01-kmod-build.patch deleted file mode 100644 index 304df92047..0000000000 --- a/target/linux/package/spca5xx/patches/01-kmod-build.patch +++ /dev/null @@ -1,177 +0,0 @@ -diff -Nur spca5xx-20051212/Makefile spca5xx-20051212.patched/Makefile ---- spca5xx-20051212/Makefile 2005-12-10 17:05:51.000000000 +0100 -+++ spca5xx-20051212.patched/Makefile 2005-12-25 02:41:29.910720750 +0100 -@@ -33,7 +33,9 @@ - DEFINES += -DCONFIG_USB_SPCA5XX_MODULE=1 -DMODULE -D__KERNEL__ - DEFINES += -DVID_HARDWARE_SPCA5XX=0xFF -DSPCA5XX_VERSION=\"$(VERSION)\" - --ifneq ($(shell uname -r | cut -d. -f1,2), 2.4) -+KERNELVERSION=$(shell uname -r | cut -d. -f1,2) -+ -+ifneq ($(KERNELVERSION), 2.4) - - ifneq ($(KERNELRELEASE),) # We were called by kbuild - CFLAGS += $(DEFINES) -@@ -68,152 +70,16 @@ - - else # kernel version test - --############################################################################# --# For Linux 2.4 users. --# Change the following lines according to your system configuration. --# It is important to configure your particular source tree ("make dep") before --# compiling this module! --############################################################################# --### --# This makefile will build the spca50x driver module external to the kernel --# source tree. It makes it easier to swap kernels. -- -- --KERNEL_VERSION = `uname -r` -- --### --# Location of the header files (most importantly the config files) --# for the kernel you want to build the module against. --# This should be correct for the currently installed kernel on your machine. --KINCLUDE = /lib/modules/$(KERNEL_VERSION)/build/include --KERNEL_ACFILE = $(KINCLUDE)/linux/autoconf.h --KERNEL_MODVERSIONSFILE = $(KINCLUDE)/linux/modversions.h --MODULE_INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/drivers/usb/ -- --# Detect module versioning support --ifneq ($(strip $(shell grep 'define CONFIG_MODVERSIONS 1' $(KERNEL_ACFILE))),) -- DEFINES += -DMODVERSIONS -include $(KERNEL_MODVERSIONSFILE) --endif -- --# Detect SMP support --ifneq ($(strip $(shell grep 'define CONFIG_SMP 1' $(KERNEL_ACFILE))),) -- DEFINES += -D__SMP__ -DSMP --endif -- --# Setup the tools --CC = gcc --LD = ld -- --# Setup compiler warnings --WARNINGS = -Wall -Wpointer-arith --WARNINGS += -Wcast-align -Wwrite-strings -Wstrict-prototypes --WARNINGS += -Wuninitialized -Wreturn-type -Wunused -Wparentheses -- --# Setup compiler flags --CFLAGS = -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe --CFLAGS += -mpreferred-stack-boundary=2 --CFLAGS += -I$(KINCLUDE) -Idrivers/usb -- --# Setup link flags --LDFLAGS = --strip-debug -r -- --# Setup the list of files to be included in a distribution --DIST_FILES = CHANGELOG \ -- README \ -- Makefile \ -- drivers/usb/Config.in \ -- drivers/usb/spcadecoder.c \ -- drivers/usb/spcadecoder.h \ -- drivers/usb/spcagamma.h \ -- drivers/usb/spcaCompat.h \ -- drivers/usb/spcausb.h \ -- drivers/usb/spca500_init.h \ -- drivers/usb/spca501_init.h \ -- drivers/usb/sp5xxfw2.dat \ -- drivers/usb/sp5xxfw2.h \ -- drivers/usb/spca505_init.h \ -- drivers/usb/spca506.h \ -- drivers/usb/spca508_init.h \ -- drivers/usb/spca561.h \ -- drivers/usb/sonix.h \ -- drivers/usb/cs2102.h \ -- drivers/usb/hv7131b.h \ -- drivers/usb/icm105a.h \ -- drivers/usb/hv7131c.h \ -- drivers/usb/hdcs2020.h \ -- drivers/usb/pb0330.h \ -- drivers/usb/tas5130c.h \ -- drivers/usb/zc3xx.h\ -- drivers/usb/tv8532.h\ -- drivers/usb/cxlib.h\ -- drivers/usb/sn9cxxx.h\ -- drivers/usb/cx11646.h\ -- drivers/usb/pac207.h\ -- drivers/usb/spca5xx.c \ -- drivers/usb/spca5xx.h -- --OBJS = drivers/usb/spcadecoder.o \ -- drivers/usb/spca5xx.o -- --BINARY = spca5xx.o -- --### --# Targets follow here -- --binary: $(OBJS) -- @echo Linking $(BINARY) -- @$(LD) $(LDFLAGS) -o $(BINARY) $(OBJS) -- --install: binary -- @echo Installing.. Your root password may be required. -- su -c "make install-root" -- --install-root: -- @echo Installing.. -- @mkdir -p /lib/modules/`uname -r`/kernel/drivers/usb -- @rm -f /lib/modules/`uname -r`/kernel/drivers/usb/spca50x.o -- @rm -f /lib/modules/`uname -r`/kernel/drivers/usb/et61x.o -- @cp spca5xx.o /lib/modules/`uname -r`/kernel/drivers/usb/spca5xx.o -- @/sbin/depmod -- --dist: clean binary -- @echo Making distributable archives -- @rm -f spca5xx-src-$(VERSION).tar.gz -- @tar zcf spca5xx-src-$(VERSION).tar.gz $(DIST_FILES) -- @rm -f spca5xx-module-$(VERSION).tar.gz -- @cp $(BINARY) spca5xx-$(VERSION).o -- @tar zcf spca5xx-module-$(VERSION).tar.gz spca5xx-$(VERSION).o README -- @rm spca5xx-$(VERSION).o -- --.c.o: Makefile $*.c -- @echo Compiling $*.c -- @$(CC) $(CFLAGS) $(WARNINGS) $(DEFINES) -c $*.c -o $*.o -- --### --# Dependencies follow here -- --drivers/usb/spca5xx.o: drivers/usb/spca5xx.h \ -- drivers/usb/spcaCompat.h \ -- drivers/usb/spcausb.h \ -- drivers/usb/sonix.h \ -- drivers/usb/spca500_init.h \ -- drivers/usb/spca501_init.h \ -- drivers/usb/sp5xxfw2.h \ -- drivers/usb/spca505_init.h \ -- drivers/usb/spca506.h \ -- drivers/usb/spca508_init.h \ -- drivers/usb/spca561.h \ -- drivers/usb/zc3xx.h\ -- drivers/usb/tv8532.h\ -- drivers/usb/cx11646.h\ -- drivers/usb/mr97311.h\ -- drivers/usb/sn9cxxx.h\ -- drivers/usb/pac207.h\ -- -- --drivers/usb/spcadecoder.o: drivers/usb/spcadecoder.h \ -- drivers/usb/spcagamma.h \ -- -+EXTRA_CFLAGS += $(DEFINES) -+ -+spca5xx-objs := drivers/usb/spca5xx.o drivers/usb/spcadecoder.o -+ -+obj-m += spca5xx.o -+obj-y := $(spca5xx-objs) -+ -+O_TARGET := $(obj-m) -+ -+-include $(TOPDIR)/Rules.make - - endif # End kernel version test -