Moin Sebastian! Sebastian Ley schrieb am Samstag, den 24. April 2004: > Package: wnpp > Severity: wishlist > > Package name : ipw2100 > Version : 0.41 > Upstream Author : James P. Ketrenos <[EMAIL PROTECTED]> > and others > URL : http://ipw2100.sourceforge.net > License : GPL > Description : Drivers for Intel PRO/Wireless 2100 (IPW2100) adapter > > This package contains the set of loadable kernel modules for the > Intel PRO/Wireless 2100 (IPW2100) mini PCI adapter, which is a common > component of Centrino notebooks. > > Preliminary package available: http://people.debian.org/~ley/ipw2100 > > I intend to upload to experimental because the driver is not yet stable > enough. It works pretty well for me but should mature more prior to
Module build system does not work. /usr/bin/make -f debian/rules clean make[1]: Entering directory `/tmp/modules/ipw2100' dh_testdir dh_testdir: cannot read debian/control: No such file or directory make[1]: *** [clean] Error 1 Please remove unneccessary dh_test* calls or provide a dummy control file. And I suggest to rewrite a bit, using the module-assistant package, the dh-make template do not follow the latest conventions. Interdiff attached - please have a look at it. Regards, Eduard. -- Der Ehrenmann hierzulande ist nicht der, welcher rechtschaffen handelt, sondern der, welcher schöne Dinge sagt. -- Jean Jacques Rousseau
diff -u ipw2100-0.41/debian/control ipw2100-0.41/debian/control --- ipw2100-0.41/debian/control +++ ipw2100-0.41/debian/control @@ -1,19 +1,22 @@ Source: ipw2100 Section: net Priority: optional +Build-Depends: debhelper (>> 4.0) Maintainer: Sebastian Ley <[EMAIL PROTECTED]> Standards-Version: 3.6.1.0 Package: ipw2100-source Architecture: all -Depends: make, hostap-source +Depends: module-assistant, hostap-source Description: Source for the ipw2100 driver. This package provides the source code for the ipw2100 kernel modules. Intel PRO/Wireless 2100 (IPW2100) mini PCI adapter is a common component of Centrino notebooks. . - In order to compile these modules you need the kernel sources. For - compile instructions look into /usr/share/doc/ipw2100-source/README.Debian. + In order to compile these modules you need the kernel sources (or the + kernel-headers for the kernel-image packages from Debian). For compile + instructions look into /usr/share/doc/ipw2100-source/README.Debian or + simply use the module-assistant utility. . The project's homepage can be found here: http://ipw2100.sourceforge.net diff -u ipw2100-0.41/debian/postinst.modules.in ipw2100-0.41/debian/postinst.modules.in --- ipw2100-0.41/debian/postinst.modules.in +++ ipw2100-0.41/debian/postinst.modules.in @@ -2,5 +2,5 @@ set -e -if [ "`uname -r`" = ${kpkg:Kernel-Version} ] ; then +if [ "`uname -r`" = "_KVERS_" ] ; then depmod -a & fi diff -u ipw2100-0.41/debian/rules ipw2100-0.41/debian/rules --- ipw2100-0.41/debian/rules +++ ipw2100-0.41/debian/rules @@ -2,19 +2,12 @@ # -*- makefile -*- # Sample debian/rules that uses debhelper. # GNU copyright 1997 by Joey Hess. -# -# This version is for a hypothetical package that can build a kernel modules -# architecture-dependant package via make-kpkg, as well as an -# architecture-independent module source package, and other packages -# either dep/indep for things like common files or userspace components -# needed for the kernel modules. + +# simplified to use module-assistant by Eduard Bloch. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 - - - CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) @@ -26,151 +19,32 @@ INSTALL_PROGRAM += -s endif -### KERNEL SETUP -### Setup the stuff needed for making kernel module packages -### taken from /usr/share/kernel-package/sample.module.rules - -# Name of package -package = ipw2100 -# KSRC is the location of the kernel source. This is the default value, -# when make-kpkg is used it will supply to real value -KSRC = /usr/src/linux -# KDREV is the package-revision, as given to make-kpkg by the user. -# Just put a simply default value in here which we use when we test -# the packagebuilding without make-kpkg -ifeq ($(strip $(KDREV)),) -KDREV = "test1.0" -endif - -## Now to determine the kernel version, normally supplied by make-kpkg -ifeq ($(strip $(KVERS)),) -# Now we need to get the kernel-version somehow (we are not running -# under make-kpkg?) -ifeq ($(strip $(KSRC)),) -$(error Error. I do not know how to determine the kernel version) -else -kversion :=$(shell egrep '^VERSION +=' $(KSRC)/Makefile 2>/dev/null | \ - sed -e 's/[^0-9]*\([0-9]*\)/\1/') -kplevel :=$(shell egrep '^PATCHLEVEL +=' $(KSRC)/Makefile 2>/dev/null | \ - sed -e 's/[^0-9]*\([0-9]*\)/\1/') -ksublevel:=$(shell egrep '^SUBLEVEL +=' $(KSRC)/Makefile 2>/dev/null | \ - sed -e 's/[^0-9]*\([0-9]*\)/\1/') -EXTRA_VERSION:=$(shell egrep '^EXTRAVERSION +=' $(KSRC)/Makefile 2>/dev/null | \ - sed -e 's/EXTRAVERSION[\t ]*=[\t ]*\(.*\)/\1/') -kextra:=$(strip $(EXTRA_VERSION)) -HAVE_NEW_MODLIB:=$(shell egrep '\(INSTALL_MOD_PATH\)' \ - $(KSRC)/Makefile 2>/dev/null ) - -# If you want to have more than one kernel configuration per kernel -# version, set FLAVOUR in the top level kernel Makefile *before* -# invoking make-kpkg -- it will be appended to UTS_RELEASE in -# version.h (separated by a hyphen). This affects everything -- the -# names and versions of the image, source, headers, and doc packages, -# and where the modules are searched for in /lib/modules. - -ifdef FLAVOUR -# uhm - should check if we really have a Makefile capable of Flavours? -endif - -FLAVOUR:=$(shell grep ^FLAVOUR $(KSRC)/Makefile 2>/dev/null | \ - perl -ple 's/FLAVOUR[\s:=]+//g') - -ifneq ($(strip $(FLAVOUR)),) -INT_FLAV := -$(FLAVOUR) -FLAV_ARG := FLAVOUR=$(FLAVOUR) -else -INT_FLAV := -FLAV_ARG := -endif - -## This is the replacement for FLAVOUR -ifneq ($(strip $(APPEND_TO_VERSION)),) -iatv := $(strip $(APPEND_TO_VERSION)) -EXTRAV_ARG := EXTRAVERSION=${EXTRA_VERSION}${iatv} -else -iatv := -EXTRAV_ARG := -endif - -KVERS = $(kversion).$(kplevel).$(ksublevel)$(kextra)$(iatv)$(INT_FLAV) - -endif -endif - -non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://') -epoch=$(shell echo $(KVERS) | perl -ne 'm/^(\d+:)/ && print $$1') - -# We also need the package version -pversion = $(shell sed -ne '1s/.*\((.*)\).*/\1/' debian/changelog) -pversion = $(shell sed -ne '1s/.*(\(.*\)).*/\1/p' debian/changelog) - -# MODDIR is the place where the final .deb package should be made. This is the -# default value, when make-kpkg is used it will supply to real value -MODDIR = .. - -pmodules = $(package)-modules-$(non_epoch_version) -psource = $(package)-source - -# Prepares the package for distribution. Intended for the kernel -# maintainer. -kdist: kdist_clean kdist_config kdist_image - -# The kdist_configure target is called by make-kpkg modules_config. It -# should configure the module so it is ready for compilation (mostly -# useful for calling configure) -kdist_config: - @echo Nothing to configure - -# the kdist_image target is called by make-kpkg modules_image. It is -# responsible for compiling the module and creating the package. It -# should also clean up after making the module. Please note we use a -# seperate binary-modules target to make testing the package building -# easier -kdist_image: - $(MAKE) $(MFLAGS) -f debian/rules binary-modules - $(MAKE) $(MFLAGS) -f debian/rules clean - -# 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 -# other kdist_commands (except for the .deb files created). -kdist_clean: - $(MAKE) $(MFLAGS) -f debian/rules clean - -### end KERNEL SETUP +PACKAGE=ipw2100-modules +psource=ipw2100-source +MA_DIR ?= /usr/share/modass +-include $(MA_DIR)/include/generic.make +-include $(MA_DIR)/include/common-rules.make configure: configure-stamp configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp +# dh_testdir +# # Add here commands to configure the package. +# +# touch configure-stamp build-arch: configure-stamp build-arch-stamp build-arch-stamp: - dh_testdir - - # Add here command to compile/build the package. - - touch build-arch-stamp +# dh_testdir +# +# # Add here command to compile/build the package. +# +# touch build-arch-stamp # the binary-modules target prepares the $(pmodules) package. # It is called by make-kpkg and *not* during a normal build -binary-modules: - export DH_OPTIONS='-p$(pmodules)' - - # Is this needed for setting up a Depends? - #echo "kpkg:Package-Version=$(epoch)$(pversion)+$(non_epoch_version)" \ - # >> debian/$(package).substvars - echo "kpkg:Kernel-Version=$(non_epoch_version)" > \ - debian/$(pmodules).substvars - - # The substvars mechanism seems slightly broken, hack to get around it - # stolen from the qce-ga package. Yaaaa! - sed -e 's/$${kpkg\:Kernel\-Version}/$(non_epoch_version)/' \ - debian/control.in > debian/control - sed -e 's/$${kpkg\:Kernel\-Version}/$(non_epoch_version)/' \ - debian/postinst.in > debian/postinst +binary-modules: kdist_config + export DH_OPTIONS='-p$(PKGNAME)' dh_testdir dh_testroot @@ -188,27 +62,20 @@ dh_installdocs debian/README.firmware dh_installchangelogs - # We're not using this yet - #dh_installmodules - dh_installdeb - #dh_gencontrol -- -v$(epoch)$(pversion)+$(non_epoch_version)+$(KDREV) - dh_gencontrol -- -v$(epoch)$(pversion) + dh_gencontrol -- -v$(VERSION) dh_md5sums - #dh_builddeb --destdir=$(KSRC)/.. - dh_builddeb --destdir=$(MODDIR) + dh_builddeb --destdir=$(DEB_DESTDIR) +# now link some rules with common make-kpkg's and module-assistant's targets +kdist_config: prep-deb-files +kdist_configure: kdist_config +kdist_clean: clean build-indep: configure-stamp build-indep-stamp build-indep-stamp: - dh_testdir - - # Add here command to compile/build the arch indep package. - # It's ok not to do anything here, if you don't need to build - # anything for this package. - #/usr/bin/docbook-to-man debian/ipw2100.sgml > ipw2100.1 - - touch build-indep-stamp +# dh_testdir +# touch build-indep-stamp build: build-arch build-indep @@ -238,23 +105,11 @@ # Copy only the driver source to the proper location cp $(shell cat debian/driver.files) debian/$(psource)/usr/src/modules/$(package)/driver # Copy the needed debian/ pieces to the proper location - cp debian/README.firmware \ - debian/$(psource)/usr/src/modules/$(package)/debian - cp debian/control.modules.in \ - debian/$(psource)/usr/src/modules/$(package)/debian/control.in - cp debian/postinst.modules.in \ - debian/$(psource)/usr/src/modules/$(package)/debian/postinst.in - cp debian/rules \ - debian/$(psource)/usr/src/modules/$(package)/debian - cp debian/changelog \ - debian/$(psource)/usr/src/modules/$(package)/debian - cp debian/copyright \ - debian/$(psource)/usr/src/modules/$(package)/debian - cp debian/compat \ - debian/$(psource)/usr/src/modules/$(package)/debian - cd debian/ipw2100-source/usr/src; \ - tar czf ipw2100-source.tar.gz modules;\ - rm -rf modules + cp -a debian/README.firmware debian/control debian/*.modules.in* \ + debian/rules debian/changelog debian/copyright debian/compat \ + debian/$(psource)/usr/src/modules/$(package)/debian/ + cd debian/ipw2100-source/usr/src && \ + tar c modules | gzip -9 > ipw2100-source.tar.gz && rm -rf modules dh_install # Build architecture-independent files here. diff -u ipw2100-0.41/debian/changelog ipw2100-0.41/debian/changelog --- ipw2100-0.41/debian/changelog +++ ipw2100-0.41/debian/changelog @@ -1,3 +1,10 @@ +ipw2100 (0.41-2) experimental; urgency=low + + * testing m-a adaption + * debhelper build dependency + + -- Eduard Bloch <[EMAIL PROTECTED]> Sat, 24 Apr 2004 21:40:49 +0200 + ipw2100 (0.41-1) experimental; urgency=low * Initial Release. diff -u ipw2100-0.41/debian/control.modules.in ipw2100-0.41/debian/control.modules.in --- ipw2100-0.41/debian/control.modules.in +++ ipw2100-0.41/debian/control.modules.in @@ -5,18 +5,18 @@ Build-Depends: debhelper (>> 4.0.0), hostap-source Standards-Version: 3.6.1.0 -Package: ipw2100-modules-${kpkg:Kernel-Version} +Package: ipw2100-modules-_KVERS_ Architecture: any -Depends: hostap-modules-${kpkg:Kernel-Version}, hotplug +Depends: hostap-modules-_KVERS_, hotplug Provides: ipw2100-modules -Description: ipw2100 modules for Linux (kernel ${kpkg:Kernel-Version}). +Description: ipw2100 modules for Linux (kernel _KVERS_). This package contains the set of loadable kernel modules for the Intel PRO/Wireless 2100 (IPW2100) mini PCI adapter, which is a common component of Centrino notebooks. Please not that you need additional firmware to use this driver. The firmware is freely available, please see - /usr/share/doc/ipw2100-modules-${kpkg:Kernel-Version} for details. + /usr/share/doc/ipw2100-modules-_KVERS_ for details. . - This package contains the compiled kernel modules for ${kpkg:Kernel-Version} + This package contains the compiled kernel modules for _KVERS_ . If you have compiled your own kernel, you will most likely need to build your own ipw2100-modules. The ipw2100-source package has been diff -u ipw2100-0.41/debian/README.Debian ipw2100-0.41/debian/README.Debian --- ipw2100-0.41/debian/README.Debian +++ ipw2100-0.41/debian/README.Debian @@ -7,6 +7,13 @@ How to compile the driver ------------------------ +The easy way: + +type "m-a a-i ipw2100" and wait. If something is missing (eg. the kernel +headers), you will see instructions for the additional steps. + +Manual way: + Install prerequisite packages: build-essential, hostap-source, kernel-headers-$VERSION, where $VERSION is the version of the kernel you want to build the driver for.