add 1:0.9.4+r4133.20100922-0.1
authorgregor herrmann <gregoa@debian.org>
Mon, 20 Dec 2010 18:38:50 +0000 (18:38 -0000)
committergregor herrmann <gregoa@debian.org>
Mon, 20 Dec 2010 18:38:50 +0000 (18:38 -0000)
26 files changed:
SNAPSHOT
ath/if_ath.c
contrib/madwifi.spec
debian/README.source [deleted file]
debian/changelog
debian/control
debian/copyright
debian/madwifi-dkms.dirs [new file with mode: 0644]
debian/madwifi-dkms.dkms [new file with mode: 0644]
debian/madwifi-dkms.docs [new file with mode: 0644]
debian/madwifi-source.dirs [new file with mode: 0644]
debian/madwifi-tools.050madwifi.if-pre-up [new file with mode: 0644]
debian/madwifi-tools.README.Debian [new file with mode: 0644]
debian/madwifi-tools.dirs [new file with mode: 0644]
debian/madwifi-tools.docs [new file with mode: 0644]
debian/madwifi-tools.madwifi.modprobe [new file with mode: 0644]
debian/madwifi-tools.z50madwifi.if-post-down [new file with mode: 0644]
debian/rules
debian/source/format [new file with mode: 0644]
debian/watch
include/compat.h
net80211/ieee80211_crypto_ccmp.c
net80211/ieee80211_crypto_tkip.c
net80211/ieee80211_crypto_wep.c
net80211/ieee80211_node.h
tools/wlanconfig.c

index 6ade48aa904c2c8e7d699b37bead5ab8a07c6c7a..2cc65b0e89358cdd3ea39a494106ef1bee8635a5 100644 (file)
--- a/SNAPSHOT
+++ b/SNAPSHOT
@@ -2,7 +2,7 @@ Path: madwifi/branches/madwifi-0.9.4
 URL: http://svn.madwifi-project.org/madwifi/branches/madwifi-0.9.4
 Repository Root: http://svn.madwifi-project.org
 Repository UUID: 0192ed92-7a03-0410-a25b-9323aeb14dbd
-Revision: 4119
+Revision: 4133
 Last Changed Author: proski
-Last Changed Rev: 4119
-Last Changed Date: 2010-01-31 08:06:30 +0100 (Sun, 31 Jan 2010)
+Last Changed Rev: 4133
+Last Changed Date: 2010-06-20 14:13:10 +0200 (Sun, 20 Jun 2010)
index a3c5b05c6f6ea3ffee7f065b08d8865413529543..db6cfbb7cf0dcc06714b81999d9b24a507a66f0e 100644 (file)
@@ -33,7 +33,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $Id: if_ath.c 4103 2010-01-09 08:47:02Z proski $
+ * $Id: if_ath.c 4133 2010-06-20 12:13:10Z proski $
  */
 
 /*
@@ -3496,7 +3496,7 @@ ath_merge_mcast(struct ath_softc *sc, u_int32_t mfilt[2])
 {
        struct ieee80211com *ic = &sc->sc_ic;
        struct ieee80211vap *vap;
-       struct dev_mc_list *mc;
+       struct ath_netdev_hw_addr *ha;
        u_int32_t val;
        u_int8_t pos;
 
@@ -3504,11 +3504,11 @@ ath_merge_mcast(struct ath_softc *sc, u_int32_t mfilt[2])
        /* XXX locking */
        TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
                struct net_device *dev = vap->iv_dev;
-               for (mc = dev->mc_list; mc; mc = mc->next) {
+               netdev_for_each_mc_addr (ha, dev) {
                        /* calculate XOR of eight 6-bit values */
-                       val = LE_READ_4(mc->dmi_addr + 0);
+                       val = LE_READ_4(ath_ha_addr(ha) + 0);
                        pos = (val >> 18) ^ (val >> 12) ^ (val >> 6) ^ val;
-                       val = LE_READ_4(mc->dmi_addr + 3);
+                       val = LE_READ_4(ath_ha_addr(ha) + 3);
                        pos ^= (val >> 18) ^ (val >> 12) ^ (val >> 6) ^ val;
                        pos &= 0x3f;
                        mfilt[pos / 32] |= (1 << (pos % 32));
@@ -4190,15 +4190,19 @@ ath_beacon_generate(struct ath_softc *sc, struct ieee80211vap *vap, int *needmar
                ATH_TXQ_LOCK(&avp->av_mcastq);
                ATH_TXQ_LOCK(cabq);
                bfmcast = STAILQ_FIRST(&avp->av_mcastq.axq_q);
-               /* link the descriptors */
-               if (cabq->axq_link == NULL)
-                       ath_hal_puttxbuf(ah, cabq->axq_qnum, bfmcast->bf_daddr);
-               else {
+               if (bfmcast != NULL) {
+                       /* link the descriptors */
+                       if (cabq->axq_link == NULL)
+                               ath_hal_puttxbuf(ah, cabq->axq_qnum,
+                                                bfmcast->bf_daddr);
+                       else {
 #ifdef AH_NEED_DESC_SWAP
-                       *cabq->axq_link = cpu_to_le32(bfmcast->bf_daddr);
+                               *cabq->axq_link =
+                                       cpu_to_le32(bfmcast->bf_daddr);
 #else
-                       *cabq->axq_link = bfmcast->bf_daddr;
+                               *cabq->axq_link = bfmcast->bf_daddr;
 #endif
+                       }
                }
 
                /* Set the MORE_DATA bit for each packet except the last one */
index 7c2e3d40e1118e2e712d2fc8491cfc9fed5fde99..eb1e466b4a2ed73c10416879f5cb86e47dfb9f59 100644 (file)
@@ -10,8 +10,8 @@
 %define       mykrelver         %(echo %{mykversion} | tr -s '-' '_')
 # Define based on the tar ball extract.
 # Those two variable will be instanced during the tarball generation
-%define       revision       4119
-%define       snapshot       20100201
+%define       revision       4133
+%define       snapshot       20100922
 # branch is not used yet.
 %define       branch         trunk
 Summary: A linux device driver for Atheros chipsets (ar5210, ar5211, ar5212).
diff --git a/debian/README.source b/debian/README.source
deleted file mode 100644 (file)
index de06bc7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-This package uses quilt to manage all modifications to the upstream source.
-Please see /usr/share/doc/quilt/README.source for further information.
index 18638d45a56781466a88baf10e1bef712c8d5382..95e0305e9067593f02e6a96f5bb09c04964a95a6 100644 (file)
@@ -1,3 +1,16 @@
+madwifi (1:0.9.4+r4133.20100922-0.1) UNRELEASED; urgency=low
+
+  * NMU.
+  * New upstream SVN snapshot.
+  * Fix watch file, remove get-orig-source target from debian/rules.
+  * Convert to source format 3.0 (quilt).
+  * Minimize debian/rules.
+  * Misc. packaging improvements.
+  * Add madwifi-dkms package.
+  * Also build madwifi-tools package.
+
+ -- gregor herrmann <gregoa@debian.org>  Sun, 03 Oct 2010 14:37:33 +0200
+
 madwifi (1:0.9.4+r4119.20100201-0.1) experimental; urgency=low
 
   * NMU.
index dab9c938b4a4746497babd78d832336e7172894a..0253f980ec947de4e0cb998796d989f8ae2ee870 100644 (file)
@@ -3,17 +3,36 @@ Section: non-free/net
 Priority: optional
 Maintainer: Debian madwifi team <pkg-madwifi-maintainers@lists.alioth.debian.org>
 Uploaders: Loic Minier <lool@dooz.org>, Kel Modderman <kel@otaku42.de>, Matt Brown <mattb@debian.org>, Matthew W.S.Bell <mentor@madwifi.org>
-Build-Depends: debhelper (>= 7), bzip2, quilt
-Standards-Version: 3.8.0
-Vcs-Svn: svn://svn.debian.org/pkg-madwifi/unstable/madwifi
-Vcs-Browser: http://svn.debian.org/wsvn/pkg-madwifi/unstable/madwifi/
-Homepage: http://madwifi.org/
+Build-Depends: debhelper (>= 7.0.50~), bzip2, dkms (>= 2.1.1.1)
+Standards-Version: 3.9.1
+Homepage: http://madwifi-project.org/
 
 Package: madwifi-source
 Architecture: all
-Depends: module-assistant, debhelper (>= 7), bzip2
-Suggests: kernel-package, madwifi-tools
-Description: source for the Multiband Atheros Driver for WiFi
+Depends: module-assistant, debhelper (>= 7), bzip2, ${misc:Depends}
+Recommends: madwifi-tools (>= ${source:Version})
+Suggests: kernel-package
+Description: source for the Multiband Atheros Driver for WiFi - m-a version
  This package provides the source code for the madwifi kernel modules.
  The madwifi-tools package is also required in order to make use of these
  modules. Kernel source or headers are required to compile these modules.
+ .
+ This package contains the source to be built with module-assistant.
+
+Package: madwifi-dkms
+Architecture: all
+Depends: dkms (>= 2.1.1.1), ${misc:Depends}
+Recommends: madwifi-tools (>= ${source:Version})
+Description: source for the Multiband Atheros Driver for WiFi - dkms version
+ This package provides the source code for the madwifi kernel modules.
+ The madwifi-tools package is also required in order to make use of these
+ modules. Kernel source or headers are required to compile these modules.
+ .
+ This package contains the source to be built with dkms.
+
+Package: madwifi-tools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: tools for the Multiband Atheros Driver for WiFi
+ This package provides userspace tools for the madwifi driver. The tools are
+ required to use and manipulate the madwifi interfaces present in a system.
index ba54366a2fa1b2f0dd0cb53ed6f7eff78b9392f9..3083e4a9624a663261d3e0eb4967e6b694bca1eb 100644 (file)
@@ -7,7 +7,7 @@ Most files are distributed under a dual license, the first being GPL v2, the
 second being BSD alike.
 
 On Debian GNU/Linux systems, the text of the GPL license can be found in
-/usr/share/common-licenses/GPL and the text of the BSD license in the same
+/usr/share/common-licenses/GPL-1 and the text of the BSD license in the same
 directory.
 
 Some files are distributed under a license permitting distribution without
diff --git a/debian/madwifi-dkms.dirs b/debian/madwifi-dkms.dirs
new file mode 100644 (file)
index 0000000..b601f22
--- /dev/null
@@ -0,0 +1 @@
+usr/src
diff --git a/debian/madwifi-dkms.dkms b/debian/madwifi-dkms.dkms
new file mode 100644 (file)
index 0000000..42c61ca
--- /dev/null
@@ -0,0 +1,61 @@
+PACKAGE_NAME="madwifi"
+PACKAGE_VERSION="#MODULE_VERSION#"
+MAKE[0]="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build"
+CLEAN="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean"
+AUTOINSTALL=yes
+
+BUILT_MODULE_NAME[0]="ath_pci"
+BUILT_MODULE_LOCATION[0]="ath"
+DEST_MODULE_LOCATION[0]="/updates"
+
+BUILT_MODULE_NAME[1]="ath_hal"
+BUILT_MODULE_LOCATION[1]="ath_hal"
+DEST_MODULE_LOCATION[1]="/updates"
+
+BUILT_MODULE_NAME[2]="wlan_wep"
+BUILT_MODULE_LOCATION[2]="net80211"
+DEST_MODULE_LOCATION[2]="/updates"
+
+BUILT_MODULE_NAME[3]="wlan_xauth"
+BUILT_MODULE_LOCATION[3]="net80211"
+DEST_MODULE_LOCATION[3]="/updates"
+
+BUILT_MODULE_NAME[4]="wlan_scan_ap"
+BUILT_MODULE_LOCATION[4]="net80211"
+DEST_MODULE_LOCATION[4]="/updates"
+
+BUILT_MODULE_NAME[5]="wlan_acl"
+BUILT_MODULE_LOCATION[5]="net80211"
+DEST_MODULE_LOCATION[5]="/updates"
+
+BUILT_MODULE_NAME[6]="wlan"
+BUILT_MODULE_LOCATION[6]="net80211"
+DEST_MODULE_LOCATION[6]="/updates"
+
+BUILT_MODULE_NAME[7]="wlan_tkip"
+BUILT_MODULE_LOCATION[7]="net80211"
+DEST_MODULE_LOCATION[7]="/updates"
+
+BUILT_MODULE_NAME[8]="wlan_scan_sta"
+BUILT_MODULE_LOCATION[8]="net80211"
+DEST_MODULE_LOCATION[8]="/updates"
+
+BUILT_MODULE_NAME[9]="wlan_ccmp"
+BUILT_MODULE_LOCATION[9]="net80211"
+DEST_MODULE_LOCATION[9]="/updates"
+
+BUILT_MODULE_NAME[10]="ath_rate_sample"
+BUILT_MODULE_LOCATION[10]="ath_rate/sample"
+DEST_MODULE_LOCATION[10]="/updates"
+
+BUILT_MODULE_NAME[11]="ath_rate_minstrel"
+BUILT_MODULE_LOCATION[11]="ath_rate/minstrel"
+DEST_MODULE_LOCATION[11]="/updates"
+
+BUILT_MODULE_NAME[12]="ath_rate_amrr"
+BUILT_MODULE_LOCATION[12]="ath_rate/amrr"
+DEST_MODULE_LOCATION[12]="/updates"
+
+BUILT_MODULE_NAME[13]="ath_rate_onoe"
+BUILT_MODULE_LOCATION[13]="ath_rate/onoe"
+DEST_MODULE_LOCATION[13]="/updates"
diff --git a/debian/madwifi-dkms.docs b/debian/madwifi-dkms.docs
new file mode 100644 (file)
index 0000000..e845566
--- /dev/null
@@ -0,0 +1 @@
+README
diff --git a/debian/madwifi-source.dirs b/debian/madwifi-source.dirs
new file mode 100644 (file)
index 0000000..b601f22
--- /dev/null
@@ -0,0 +1 @@
+usr/src
diff --git a/debian/madwifi-tools.050madwifi.if-pre-up b/debian/madwifi-tools.050madwifi.if-pre-up
new file mode 100644 (file)
index 0000000..b79f8e9
--- /dev/null
@@ -0,0 +1,85 @@
+#!/bin/sh
+#
+# Debian ifupdown hook script for madwifi-ng
+#
+# Author:   Matt Brown <matt@mattb.net.nz>
+# Modified by: Kel Modderman <kelrin@tpg.com.au>
+#
+# Copyright (C) 2005 - 2006    Matt Brown
+#
+# This is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# This is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# On Debian GNU/Linux systems, the text of the GPL license can be found in
+# /usr/share/common-licenses/GPL
+
+
+WLANCONFIG=/sbin/wlanconfig
+
+if [ ! -x "$WLANCONFIG" ]; then
+       exit 0
+fi
+
+if [ ! -n "$IF_MADWIFI_BASE" ]; then
+       exit 0
+fi
+
+if [ "$VERBOSITY" = "1" ]; then
+       TO_NULL="/dev/stdout"
+else
+       TO_NULL="/dev/null"
+fi
+
+if [ -n "$IF_MADWIFI_MODE" ]; then
+       MODE="$IF_MADWIFI_MODE"
+elif [ -n "$IF_WIRELESS_MODE" ]; then
+       MODE="$IF_WIRELESS_MODE"
+else
+       exit 0
+fi
+
+if [ -n "$IF_MADWIFI_VAP" ]; then
+       VAP="$IF_MADWIFI_VAP"
+else
+       VAP="$IFACE"
+fi
+
+if [ -d /proc/sys/net/$VAP ]; then
+       $WLANCONFIG $VAP destroy
+fi
+
+case "$MODE" in
+       Managed|managed|MANAGED)
+               MODE="sta"
+               ;;
+       Ad-Hoc|ad-hoc|AD-HOC)
+               MODE="adhoc"
+               ;;
+       Master|master|MASTER)
+               MODE="ap"
+               ;;
+       Monitor|monitor|MONITOR)
+               MODE="monitor"
+               ;;
+       sta|ap|wds|adhoc|ahdemo|monitor)
+               MODE="$MODE"
+               ;;
+       *)
+               MODE="sta"
+               ;;
+esac
+
+if [ -n "$IF_MADWIFI_OPTIONS" ]; then
+       $WLANCONFIG $VAP create wlandev $IF_MADWIFI_BASE wlanmode $MODE "$IF_MADWIFI_OPTIONS" >$TO_NULL
+else
+       $WLANCONFIG $VAP create wlandev $IF_MADWIFI_BASE wlanmode $MODE >$TO_NULL
+fi
+
+exit $?
diff --git a/debian/madwifi-tools.README.Debian b/debian/madwifi-tools.README.Debian
new file mode 100644 (file)
index 0000000..8ec1789
--- /dev/null
@@ -0,0 +1,119 @@
+madwifi-tools
+=============
+
+The following paragraphs briefly describe the madwifi-tools. They are
+crucial to the normal operation of the MadWifi modules.
+
+
+1. VAP's
+========
+
+What are they and why are they so special?
+
+Virtual AP (VAP) mode [1], allows the operation of multiple concurrent virtual
+access points, and concurrent virtual interfaces running in both AP and station
+mode (only one station mode VAP can exist per device).
+
+By default, one station is created per device (emulating standard behaviour).
+The autocreation behaviour [2] can be manipulated by providing an option to the
+ath_pci module when it is loaded.
+
+Usage: modprobe ath_pci autocreate=[none|sta|ap|wds|adhoc|ahdemo|monitor]
+
+The following example would disable autocreation, and only the "base" device
+would be present:- 
+
+       # modprobe ath_pci autocreate=none
+
+To make this behaviour default, create a /etc/modprobe.d/madwifi file with 
+the following content:-
+
+       options ath_pci autocreate=none
+
+Disabling autocreate is encouraged if you would like to take advantage of the
+automated VAP management techniques discussed in Section #3 of this article.
+
+[1] http://madwifi.org/wiki/ngFeatures#VAPsandwlanconfig
+[2] http://madwifi.org/wiki/UserDocs/autocreate
+
+
+2. wlanconfig
+=============
+
+This is the master tool for creating and destroying VAP's [3]. On Debian
+systems it is located at /usr/sbin/wlanconfig. It's usage is well described in
+the wlanconfig(8) manpage.
+
+[3] http://madwifi.org/wiki/UserDocs#CreatingInterfacesinmadwifing
+
+
+3. Automating VAP creation in /etc/network/interfaces
+=====================================================
+
+The following examples do not work for hotpluggable cardbus cards and the
+like that are started by ifupdown with `allow-hotplug'. To make use of VAP
+autocreation techniques you are required to use the `auto' line for your
+interface or invoke ifup manually. These methods assume that your device is
+always present.
+
+Use pre-up/post-down routines to automate VAP creation and destruction as in
+the following example:-
+
+       iface ath0 inet static
+               pre-up wlanconfig ath0 create wlandev wifi0 wlanmode ap
+               post-down wlanconfig ath0 destroy
+               wireless-essid my-essid
+               ...
+
+This package also provides useful scripts for allowing more comfortable
+creation/destruction of madwifi VAP's via special macro's in an interfaces
+/etc/network/interfaces stanza:-
+
+       iface ath0 inet static
+               madwifi-base wifi0
+               madwifi-mode sta
+               wireless-essid my-essid
+
+In the above example an `ath0' VAP would be created in the pre-up phase of ifup
+and destroyed in the post-down phase of ifdown. All VAP modes are supported via
+`madwifi-mode' and `madwifi-base' defines the parent device that the VAP should
+be created from.
+
+
+4. Setting of country code
+==========================
+
+With some cards, and in some countries, you might benefit from country specific
+frequencies by passing the parameter "countrycode" to the ath_pci kernel
+module.
+
+Under 2.6 kernels, this can be done by creating a /etc/modprobe.d/madwifi file
+with the following content:-
+
+       options ath_pci countrycode=123
+
+An online list of country codes can be found at:-
+
+       <http://www.unicode.org/onlinedat/countries.html>
+
+Or in the iso-codes package under:-
+
+       /usr/share/xml/iso-codes/iso_3166.xml
+
+madwifi only recognizes a subset of these codes, eg. "France, Metropolitan"
+(249) won't be recognized while "France" (250) is.
+
+Passing a country code parameter forbids the use of "turbog" modes (where
+multiple frequencies are used to transmit data between turbog-capable chips).
+
+For more information on how and why madwifi must honor regdomain restrictions,
+please see http://madwifi.org/wiki/UserDocs/CountryCode.
+
+
+5. Debugging tools
+==================
+
+athdebug and 80211debug are two programs that can be used to control the amount
+of debugging output (dmesg and /var/log/messages). They are best described at:-
+
+       http://madwifi.org/wiki/DevDocs/AthDebug
diff --git a/debian/madwifi-tools.dirs b/debian/madwifi-tools.dirs
new file mode 100644 (file)
index 0000000..e1ae85e
--- /dev/null
@@ -0,0 +1 @@
+sbin
diff --git a/debian/madwifi-tools.docs b/debian/madwifi-tools.docs
new file mode 100644 (file)
index 0000000..e845566
--- /dev/null
@@ -0,0 +1 @@
+README
diff --git a/debian/madwifi-tools.madwifi.modprobe b/debian/madwifi-tools.madwifi.modprobe
new file mode 100644 (file)
index 0000000..c3e681d
--- /dev/null
@@ -0,0 +1,19 @@
+## ath5k (mac80211)
+## Comment out the following line, and uncomment all of the
+## madwifi modules below to use the athk module
+blacklist ath5k
+
+## madwifi (non-free)
+#blacklist ath_hal
+#blacklist ath_pci
+#blacklist ath_rate_amrr
+#blacklist ath_rate_onoe
+#blacklist ath_rate_sample
+#blacklist wlan
+#blacklist wlan_acl
+#blacklist wlan_ccmp
+#blacklist wlan_scan_ap
+#blacklist wlan_scan_sta
+#blacklist wlan_tkip
+#blacklist wlan_wep
+#blacklist wlan_xauth
diff --git a/debian/madwifi-tools.z50madwifi.if-post-down b/debian/madwifi-tools.z50madwifi.if-post-down
new file mode 100644 (file)
index 0000000..b4cad08
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# Debian ifupdown hook script for madwifi-ng
+#
+# Author: Matt Brown <matt@mattb.net.nz>
+# Modified by: Kel Modderman <kelrin@tpg.com.au>
+#
+# Copyright (C) 2005 - 2006   Matt Brown
+#
+# This is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# This is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# On Debian GNU/Linux systems, the text of the GPL license can be found in
+# /usr/share/common-licenses/GPL
+
+WLANCONFIG=/sbin/wlanconfig
+
+if [ ! -x "$WLANCONFIG" ]; then
+       exit 0
+fi
+
+if [ ! -n "$IF_MADWIFI_BASE" ]; then
+       exit 0
+fi
+
+if [ -n "$IF_MADWIFI_VAP" ]; then
+       VAP="$IF_MADWIFI_VAP"
+else
+       VAP="$IFACE"
+fi
+
+# Destroy 
+$WLANCONFIG $VAP destroy
+
+exit $?
index f15c414c27370386733708fdd560e9207fb5844b..385740c268f18afca51d20aab6c306c03c662572 100755 (executable)
@@ -1,77 +1,54 @@
 #!/usr/bin/make -f
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
+VERSION:=$(shell dpkg-parsechangelog|grep "^Version:"|cut -d" " -f2|rev|cut -d- -f2-|rev|cut -d':' -f2)
+TMP=$(CURDIR)/debian/tmp
 
-include /usr/share/quilt/quilt.make
+%:
+       dh $@ --with dkms
 
-build: build-stamp
-build-stamp: $(QUILT_STAMPFN)
-       dh_testdir
-       touch $@
+override_dh_clean:
+       dh_clean
+       $(RM) -r $(TMP)
 
-clean: unpatch
-       dh_testdir
-       dh_testroot
-       dh_clean build-stamp
+override_dh_auto_build:
+       DESTDIR=$(CURDIR)/debian/madwifi-tools $(MAKE) -C $(CURDIR)/tools all
 
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       
+override_dh_auto_install:
+       # madwifi-source
        install -D -m 0755 debian/rules.modules \
-               debian/tmp/modules/madwifi/debian/rules
-       
+               $(TMP)/modules/madwifi/debian/rules
+
        for f in *.modules.in control compat copyright changelog; do \
                install -m 0644 debian/$$f \
-                       debian/tmp/modules/madwifi/debian/; \
+                       $(TMP)/modules/madwifi/debian/; \
        done
-       
+
        find . -path ./debian/\* -type d -prune -o -printf "%P\n" | \
-               egrep -v 'debian|contrib|regression|\.svn|\.pc|*-stamp' | \
-               cpio -admp debian/tmp/modules/madwifi/
-       
-       mkdir -p debian/madwifi-source/usr/src/
+               egrep -v 'debian|contrib|regression|tools|\.svn|\.pc|*-stamp' | \
+               cpio -admp $(TMP)/modules/madwifi/
+
        tar jcf debian/madwifi-source/usr/src/madwifi.tar.bz2 \
-               -C debian/tmp modules
-       
-binary-arch:
-# We have nothing to do by default.
+               -C $(TMP) modules
+
+       # madwifi-dkms
+       $(RM) -r $(TMP)/modules/madwifi/debian
+       mv $(TMP)/modules/madwifi debian/madwifi-dkms/usr/src/madwifi-$(VERSION)
+
+       # madwifi-tools
+       DESTDIR=$(CURDIR)/debian/madwifi-tools BINDIR=/usr/sbin MANDIR=/usr/share/man \
+               $(MAKE) -C $(CURDIR)/tools install
+       $(RM) $(CURDIR)/debian/madwifi-tools/usr/sbin/madwifi-unload
+       mv $(CURDIR)/debian/madwifi-tools/usr/sbin/wlanconfig $(CURDIR)/debian/madwifi-tools/sbin
 
-binary-indep: build install
-       dh_testdir
-       dh_testroot
-       dh_install
-       dh_installdocs
-       dh_installchangelogs
-       dh_link
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
+override_dh_dkms:
+       dh_dkms -V $(VERSION)
 
-binary: binary-indep binary-arch
-.PHONY: build build-stamp clean install binary-indep binary-arch binary
+override_dh_installmodules:
+       dh_installmodules -p madwifi-tools --name=madwifi
 
-DEBVERS := $(shell dpkg-parsechangelog | sed -n 's/^Version: .*:\(.*\)-.*/\1/p')
-UPSVERS := $(shell echo $(DEBVERS) | cut -d'+' -f1 | tr '~' '-')
-SVNVERS := $(shell echo $(DEBVERS) | sed -n 's/.*+\(.*\)/\1/p' | tr '.' '-')
-ifneq "$(SVNVERS)" ""
-#ORIGTAR := madwifi-trunk-$(SVNVERS).tar.gz
-ORIGTAR := madwifi-hal-0.10.5.6-$(SVNVERS).tar.gz
-#ORIGURL := http://snapshots.madwifi.org/madwifi-trunk/
-ORIGURL := http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/
-else
-ORIGTAR := madwifi-$(UPSVERS).tar.gz
-ORIGURL := http://optusnet.dl.sourceforge.net/sourceforge/madwifi/
-endif
-DEBTAR := madwifi_$(DEBVERS).orig.tar.gz
+override_dh_installifupdown:
+       dh_installifupdown -p madwifi-tools --name=050madwifi
+       dh_installifupdown -p madwifi-tools --name=z50madwifi
 
-get-orig-source:
-       @dh_testdir
-       
-       @test -d ../tarballs || mkdir -p ../tarballs
-       @wget -c -O ../tarballs/$(DEBTAR) $(ORIGURL)$(ORIGTAR)
+override_dh_installman:
+       # nada
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
index 439dff8d754e9055cb48d575a6629e5a45717088..a6f9ef02e6f46b94545b025cd93df64d889d7fa1 100644 (file)
@@ -1,2 +1,3 @@
 version=3
-http://sf.net/madwifi/madwifi-(.*)\.tar\.gz debian uupdate
+options="uversionmangle=s/-r/+r/;s/\-(20\d{6})/.$1/;" \
+http://snapshots.madwifi-project.org/madwifi-0.9.4/ madwifi-(0\.9\.4-r\d{4,}-20\d{6})\.tar\.gz
index baeaeee221502c64346d518f6f47b429d5157a57..fa3234b2dc6887aefef8f05a244e4b45bcd06eeb 100644 (file)
@@ -33,7 +33,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $Id: compat.h 4103 2010-01-09 08:47:02Z proski $
+ * $Id: compat.h 4133 2010-06-20 12:13:10Z proski $
  */
 #ifndef _ATH_COMPAT_H_
 #define _ATH_COMPAT_H_
         (type *)( (char *)__mptr - offsetof(type,member) );})
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)
+#define netdev_for_each_mc_addr(mclist, dev) \
+       for (mclist = dev->mc_list; mclist; mclist = mclist->next)
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
+#define ath_netdev_hw_addr dev_mc_list
+#define ath_ha_addr(ha) ha->dmi_addr
+#else
+#define ath_netdev_hw_addr netdev_hw_addr
+#define ath_ha_addr(ha) ha->addr
+#endif
+
 /*
  * BSD/Linux compatibility shims.  These are used mainly to
  * minimize differences when importing necesary BSD code.
@@ -153,7 +166,9 @@ static inline void *_kzalloc(size_t size, gfp_t flags)
 #define IRQF_SHARED SA_SHIRQ
 #endif
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,27)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,27)) || \
+    ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) && \
+     ((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,3))))
 #define netdev_priv(_netdev) ((_netdev)->priv)
 #endif
 
index 8965738f3a5b9506aa04473105bf59f3e99326c7..c9d644c0cb2fefa2bd02966f447bfadcda82a38f 100644 (file)
@@ -28,7 +28,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: ieee80211_crypto_ccmp.c 2144 2007-02-21 20:58:48Z proski $
+ * $Id: ieee80211_crypto_ccmp.c 4126 2010-03-23 22:50:36Z proski $
  */
 
 /*
@@ -188,7 +188,7 @@ ccmp_encap(struct ieee80211_key *k, struct sk_buff *skb, u_int8_t keyid)
        ivp[7] = k->wk_keytsc >> 40;            /* PN5 */
 
        /*
-        * Finally, do software encrypt if neeed.
+        * Finally, do software encrypt if needed.
         */
        if ((k->wk_flags & IEEE80211_KEY_SWCRYPT) &&
            !ccmp_encrypt(k, skb, hdrlen))
index 0cc65789c64bb780741edbcd5850b69b25076f86..a11a5aeb91bf6027dcf92fb4f54ed7f52383aaad 100644 (file)
@@ -28,7 +28,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: ieee80211_crypto_tkip.c 2028 2007-01-30 03:51:52Z proski $
+ * $Id: ieee80211_crypto_tkip.c 4126 2010-03-23 22:50:36Z proski $
  */
 
 /*
@@ -188,7 +188,7 @@ tkip_encap(struct ieee80211_key *k, struct sk_buff *skb, u_int8_t keyid)
        ivp[7] = k->wk_keytsc >> 40;            /* TSC5 */
 
        /*
-        * Finally, do software encrypt if neeed.
+        * Finally, do software encrypt if needed.
         */
        if (k->wk_flags & IEEE80211_KEY_SWCRYPT) {
                if (!tkip_encrypt(ctx, k, skb, hdrlen))
index e7381c186502218951777d6b46d5307fa3d1dd66..734a5390ff9e97bacaf5304a794d359f72a3e837 100644 (file)
@@ -28,7 +28,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: ieee80211_crypto_wep.c 1721 2006-09-20 08:45:13Z mentor $
+ * $Id: ieee80211_crypto_wep.c 4126 2010-03-23 22:50:36Z proski $
  */
 
 /*
@@ -185,7 +185,7 @@ wep_encap(struct ieee80211_key *k, struct sk_buff *skb, u_int8_t keyid)
        ivp[3] = keyid;
 
        /*
-        * Finally, do software encrypt if neeed.
+        * Finally, do software encrypt if needed.
         */
        if ((k->wk_flags & IEEE80211_KEY_SWCRYPT) &&
            !wep_encrypt(k, skb, hdrlen))
index f0404552cb31c11251d65d747219bccc6f855f06..4769206a2fe0fdf041745c42fcdcd438e453a9bc 100644 (file)
@@ -29,7 +29,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: ieee80211_node.h 2607 2007-07-25 15:20:59Z mrenzmann $
+ * $Id: ieee80211_node.h 4126 2010-03-23 22:50:36Z proski $
  */
 #ifndef _NET80211_IEEE80211_NODE_H_
 #define _NET80211_IEEE80211_NODE_H_
@@ -110,7 +110,7 @@ struct ieee80211_node {
        u_int8_t ni_ath_flags;                  /* Atheros feature flags */
        /* NB: These must have the same values as IEEE80211_ATHC_* */
 #define IEEE80211_NODE_TURBOP  0x0001          /* Turbo prime enable */
-#define IEEE80211_NODE_COMP    0x0002          /* Compresssion enable */
+#define IEEE80211_NODE_COMP    0x0002          /* Compression enable */
 #define IEEE80211_NODE_FF      0x0004          /* Fast Frame capable */
 #define IEEE80211_NODE_XR      0x0008          /* Atheros WME enable */
 #define IEEE80211_NODE_AR      0x0010          /* AR capable */
index d6d1302badf3b88ff1900abd0be0f7e89f368cbc..6b6498d6bcda7a975728d9cd1a83df95273d3056 100644 (file)
@@ -33,7 +33,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $Id: wlanconfig.c 2088 2007-02-07 03:18:49Z proski $
+ * $Id: wlanconfig.c 4126 2010-03-23 22:50:36Z proski $
  */
 
 /*
@@ -66,7 +66,7 @@
  * These are taken from ieee80211_node.h
  */
 #define IEEE80211_NODE_TURBOP  0x0001          /* Turbo prime enable */
-#define IEEE80211_NODE_COMP    0x0002          /* Compresssion enable */
+#define IEEE80211_NODE_COMP    0x0002          /* Compression enable */
 #define IEEE80211_NODE_FF      0x0004          /* Fast Frame capable */
 #define IEEE80211_NODE_XR      0x0008          /* Atheros WME enable */
 #define IEEE80211_NODE_AR      0x0010          /* AR capable */