Bug#245684: ITP: ipw2100 -- Drivers for Intel PRO/Wireless 2100 (IPW2100) adapter
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 <jketreno@users.sourceforge.net>
> 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 <ley@debian.org>
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 <blade@debian.org> 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.
Reply to: