From cb61d1bc3450a7e79a325679701acc56825f90b6 Mon Sep 17 00:00:00 2001 From: smckown Date: Wed, 25 Nov 2009 20:10:49 +0000 Subject: [PATCH] This source works with dkms manually. * sudo cp -a ./ /usr/src/cp210x-module-0.11-0tmi81 * sudo dkms add -m cp210x-module -v 0.11-0tmi81 * sudo dkms build -m cp210x-module -v 0.11-0tmi81 * sudo dkms install -m cp210x-module -v 0.11-0tmi81 --- Makefile | 93 +++++++------------------------------------------- Makefile.build | 87 ++++++++++++++++++++++++++++++++++++++++++++++ dkms.conf | 7 ++++ 3 files changed, 106 insertions(+), 81 deletions(-) mode change 100644 => 100755 Makefile create mode 100644 Makefile.build create mode 100644 dkms.conf diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 index 2b77fc1..6488d65 --- a/Makefile +++ b/Makefile @@ -1,87 +1,18 @@ -# Makefile for newer cp2101 driver, we call cp210x -# Essentially, it makes a debian source package which -# then can be built by pbuilder, etc. +#!/usr/bin/make -f -DEBDIST = hardy -BUILD = build -KVER := $(shell uname -r) -KSRCVER := $(shell echo $(KVER) | sed -e 's/-[0-9][^-]*-[a-zA-Z][^-]*$$//') -PKGVER = 0.11 - -REPORELEASE := $(shell svn info 2>/dev/null | grep "Revision: " | sed -e s'/^[^0-9]*\([0-9]*\).*$$/\1/') -ifeq (,$(REPORELEASE)) - REPORELEASE := $(shell git svn info 2>/dev/null | grep "Revision: " | sed -e s'/^[^0-9]*\([0-9]*\).*$$/\1/') -endif -ifeq (,$(REPORELEASE)) - $(error You much check the code out from svn using svn or git) -endif - -DEBRELEASE := 0tmi$(REPORELEASE) -DEBVER := $(PKGVER)-$(DEBRELEASE) -RFC822DATE := $(shell date --rfc-822) -ROOTNAME := cp210x -PACKAGE := $(ROOTNAME)-module-$(KVER) -TARFILE := $(PACKAGE)_$(DEBVER).orig.tar.gz -DEBSRC := $(PACKAGE)-$(PKGVER) -ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) -DEBFILE := $(BUILD)/$(PACKAGE)_$(DEBVER)_$(ARCH).deb -DEBSRCFILE := $(BUILD)/$(PACKAGE)_$(DEBVER).dsc - - -source: $(DEBSRCFILE) -$(DEBSRCFILE): $(BUILD)/debian-stamp - cd $(BUILD) && dpkg-source -b $(DEBSRC) - touch $@ - - -binary: $(DEBFILE) -$(DEBFILE): $(BUILD)/debian-stamp - cd $(BUILD)/$(DEBSRC) && dpkg-buildpackage -sa -us -uc - - -$(BUILD)/src-stamp: $(wildcard src/*) - mkdir -p $(BUILD) - rm -rf $(BUILD)/$(DEBSRC) - cp -a src $(BUILD)/$(DEBSRC) - find $(BUILD)/$(DEBSRC) -name .svn -type d -exec rm -rf "{}" ";" 2>/dev/null || exit 0 - rm -rf $(BUILD)/$(DEBSRC)/.git || exit 0 - tar -C $(BUILD) -czf $(BUILD)/$(TARFILE) $(DEBSRC) - touch $@ - - -configure: $(BUILD)/debian-stamp -$(BUILD)/debian-stamp: $(BUILD)/src-stamp $(wildcard debian.in/*) - mkdir -p $(BUILD)/$(DEBSRC)/debian - rsync --quiet -avz --exclude=.svn/ --exclude=.git/ debian.in/ $(BUILD)/$(DEBSRC)/debian/ - perl -i -pe 's/xxPACKAGExx/$(PACKAGE)/g' $(BUILD)/$(DEBSRC)/debian/* - perl -i -pe 's/xxROOTNAMExx/$(ROOTNAME)/g' $(BUILD)/$(DEBSRC)/debian/* - perl -i -pe 's/xxPKGVERxx/$(PKGVER)/g' $(BUILD)/$(DEBSRC)/debian/* - perl -i -pe 's/xxKVERxx/$(KVER)/g' $(BUILD)/$(DEBSRC)/debian/* - perl -i -pe 's/xxKSRCVERxx/$(KSRCVER)/g' $(BUILD)/$(DEBSRC)/debian/* - perl -i -pe 's/xxDEBVERxx/$(DEBVER)/g' $(BUILD)/$(DEBSRC)/debian/* - perl -i -pe 's/xxDEBDISTxx/$(DEBDIST)/g' $(BUILD)/$(DEBSRC)/debian/* - perl -i -pe 's/xxRFC822DATExx/$(RFC822DATE)/g' $(BUILD)/$(DEBSRC)/debian/* - touch $@ +STRIP = strip --strip-unneeded --remove-section=.comment --remove-section=.note +all: + -rm -rf builddir + cp -a src builddir + cd builddir && ./configure -kver $(KVER) + test -f builddir/Makefile.go + $(MAKE) -C builddir -f Makefile.go + cp builddir/cp2101.ko cp210x.ko + $(STRIP) cp210x.ko clean: - rm -rf $(BUILD) - - -debug: - @echo "BUILD = $(BUILD)" - @echo "KVER = $(KVER)" - @echo "PKGVER = $(PKGVER)" - @echo "REPORELEASE = |$(REPORELEASE)|" - @echo "DEBRELEASE = $(DEBRELEASE)" - @echo "DEBVER = $(DEBVER)" - @echo "RFC822DATE = $(RFC822DATE)" - @echo "PACKAGE = $(PACKAGE)" - @echo "TARFILE = $(TARFILE)" - @echo "DEBSRC = $(DEBSRC)" - @echo "ARCH = $(ARCH)" - @echo "DEBFILE = $(BUILD)/$(PACKAGE)_$(DEBVER)_$(ARCH).deb" - @echo "DEBSRCFILE = $(BUILD)/$(PACKAGE)_$(DEBVER).dsc" + -rm -rf builddir cp210x.ko -.PHONY: clean binary source configure +.PHONY: all clean diff --git a/Makefile.build b/Makefile.build new file mode 100644 index 0000000..2b77fc1 --- /dev/null +++ b/Makefile.build @@ -0,0 +1,87 @@ +# Makefile for newer cp2101 driver, we call cp210x +# Essentially, it makes a debian source package which +# then can be built by pbuilder, etc. + +DEBDIST = hardy +BUILD = build +KVER := $(shell uname -r) +KSRCVER := $(shell echo $(KVER) | sed -e 's/-[0-9][^-]*-[a-zA-Z][^-]*$$//') +PKGVER = 0.11 + +REPORELEASE := $(shell svn info 2>/dev/null | grep "Revision: " | sed -e s'/^[^0-9]*\([0-9]*\).*$$/\1/') +ifeq (,$(REPORELEASE)) + REPORELEASE := $(shell git svn info 2>/dev/null | grep "Revision: " | sed -e s'/^[^0-9]*\([0-9]*\).*$$/\1/') +endif +ifeq (,$(REPORELEASE)) + $(error You much check the code out from svn using svn or git) +endif + +DEBRELEASE := 0tmi$(REPORELEASE) +DEBVER := $(PKGVER)-$(DEBRELEASE) +RFC822DATE := $(shell date --rfc-822) +ROOTNAME := cp210x +PACKAGE := $(ROOTNAME)-module-$(KVER) +TARFILE := $(PACKAGE)_$(DEBVER).orig.tar.gz +DEBSRC := $(PACKAGE)-$(PKGVER) +ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEBFILE := $(BUILD)/$(PACKAGE)_$(DEBVER)_$(ARCH).deb +DEBSRCFILE := $(BUILD)/$(PACKAGE)_$(DEBVER).dsc + + +source: $(DEBSRCFILE) +$(DEBSRCFILE): $(BUILD)/debian-stamp + cd $(BUILD) && dpkg-source -b $(DEBSRC) + touch $@ + + +binary: $(DEBFILE) +$(DEBFILE): $(BUILD)/debian-stamp + cd $(BUILD)/$(DEBSRC) && dpkg-buildpackage -sa -us -uc + + +$(BUILD)/src-stamp: $(wildcard src/*) + mkdir -p $(BUILD) + rm -rf $(BUILD)/$(DEBSRC) + cp -a src $(BUILD)/$(DEBSRC) + find $(BUILD)/$(DEBSRC) -name .svn -type d -exec rm -rf "{}" ";" 2>/dev/null || exit 0 + rm -rf $(BUILD)/$(DEBSRC)/.git || exit 0 + tar -C $(BUILD) -czf $(BUILD)/$(TARFILE) $(DEBSRC) + touch $@ + + +configure: $(BUILD)/debian-stamp +$(BUILD)/debian-stamp: $(BUILD)/src-stamp $(wildcard debian.in/*) + mkdir -p $(BUILD)/$(DEBSRC)/debian + rsync --quiet -avz --exclude=.svn/ --exclude=.git/ debian.in/ $(BUILD)/$(DEBSRC)/debian/ + perl -i -pe 's/xxPACKAGExx/$(PACKAGE)/g' $(BUILD)/$(DEBSRC)/debian/* + perl -i -pe 's/xxROOTNAMExx/$(ROOTNAME)/g' $(BUILD)/$(DEBSRC)/debian/* + perl -i -pe 's/xxPKGVERxx/$(PKGVER)/g' $(BUILD)/$(DEBSRC)/debian/* + perl -i -pe 's/xxKVERxx/$(KVER)/g' $(BUILD)/$(DEBSRC)/debian/* + perl -i -pe 's/xxKSRCVERxx/$(KSRCVER)/g' $(BUILD)/$(DEBSRC)/debian/* + perl -i -pe 's/xxDEBVERxx/$(DEBVER)/g' $(BUILD)/$(DEBSRC)/debian/* + perl -i -pe 's/xxDEBDISTxx/$(DEBDIST)/g' $(BUILD)/$(DEBSRC)/debian/* + perl -i -pe 's/xxRFC822DATExx/$(RFC822DATE)/g' $(BUILD)/$(DEBSRC)/debian/* + touch $@ + + +clean: + rm -rf $(BUILD) + + +debug: + @echo "BUILD = $(BUILD)" + @echo "KVER = $(KVER)" + @echo "PKGVER = $(PKGVER)" + @echo "REPORELEASE = |$(REPORELEASE)|" + @echo "DEBRELEASE = $(DEBRELEASE)" + @echo "DEBVER = $(DEBVER)" + @echo "RFC822DATE = $(RFC822DATE)" + @echo "PACKAGE = $(PACKAGE)" + @echo "TARFILE = $(TARFILE)" + @echo "DEBSRC = $(DEBSRC)" + @echo "ARCH = $(ARCH)" + @echo "DEBFILE = $(BUILD)/$(PACKAGE)_$(DEBVER)_$(ARCH).deb" + @echo "DEBSRCFILE = $(BUILD)/$(PACKAGE)_$(DEBVER).dsc" + + +.PHONY: clean binary source configure diff --git a/dkms.conf b/dkms.conf new file mode 100644 index 0000000..9593aa5 --- /dev/null +++ b/dkms.conf @@ -0,0 +1,7 @@ +PACKAGE_VERSION="0.11-0tmi81" +PACKAGE_NAME="cp210x-module" +CLEAN="make clean" +BUILT_MODULE_NAME[0]=cp210x +DEST_MODULE_LOCATION[0]="/kernel/drivers/usb/serial/" +MAKE[0]="make all KVER=$kernelver" +AUTOINSTALL="yes" -- 2.39.2