Adding a patch for ipw2100 to work with kernel >=2.6.19. Thanks to Johan Hovold ...
authorChristian Heim <phreak@gentoo.org>
Mon, 18 Dec 2006 01:52:46 +0000 (01:52 +0000)
committerChristian Heim <phreak@gentoo.org>
Mon, 18 Dec 2006 01:52:46 +0000 (01:52 +0000)
Package-Manager: portage-2.1.2_rc3-r6

net-wireless/ipw2100/ChangeLog
net-wireless/ipw2100/Manifest
net-wireless/ipw2100/files/digest-ipw2100-1.2.1-r2 [new file with mode: 0644]
net-wireless/ipw2100/files/ipw2100-1.2.1-essid.patch [new file with mode: 0644]
net-wireless/ipw2100/ipw2100-1.2.1-r2.ebuild [new file with mode: 0644]

index 68aa010e0980d3adb8531258859ebed65b3b368f..e1161e6303746eecc77c9498c54e48f4083cbbb0 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for net-wireless/ipw2100
 # Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2100/ChangeLog,v 1.102 2006/07/04 17:18:40 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2100/ChangeLog,v 1.103 2006/12/18 01:52:46 phreak Exp $
+
+*ipw2100-1.2.1-r2 (18 Dec 2006)
+
+  18 Dec 2006; Christian Heim <phreak@gentoo.org>
+  +files/ipw2100-1.2.1-essid.patch, +ipw2100-1.2.1-r2.ebuild:
+  Adding a patch for ipw2100 to work with kernel >=2.6.19. Thanks to Johan
+  Hovold <jhovold at gmail.com> in #157886.
 
   04 Jul 2006; Henrik Brix Andersen <brix@gentoo.org>
   +files/ipw2100-1.2.1-double-parentheses.patch, ipw2100-1.2.1-r1.ebuild:
index 80f86021a10748feb3fadc4edae5caed4f60a322..db7993005c50a12694044c21a962dcca9a78367d 100644 (file)
@@ -9,15 +9,23 @@ AUX ipw2100-1.2.1-double-parentheses.patch 544 RMD160 6332d2bb6a6c145c0ebabf946d
 MD5 94c0b4113d86f126cb06efcb816bc426 files/ipw2100-1.2.1-double-parentheses.patch 544
 RMD160 6332d2bb6a6c145c0ebabf946d9f741b60a2dbbc files/ipw2100-1.2.1-double-parentheses.patch 544
 SHA256 3d6860d007f153deb9690cbb6169951b7393e18dddae689bf715ac50e1eae39f files/ipw2100-1.2.1-double-parentheses.patch 544
+AUX ipw2100-1.2.1-essid.patch 1205 RMD160 8b0ff63a77df80b1f35aa12bfa8795d65cf8ef90 SHA1 a17936eb19a127efd6a5a82fe8d6805e825b34b9 SHA256 c7679a9446d833562ad8f479fc4aac58cd847614e9a16c2eb75268d9b7ae97e3
+MD5 1bf50a69de87d086fe2346731e9d0aa8 files/ipw2100-1.2.1-essid.patch 1205
+RMD160 8b0ff63a77df80b1f35aa12bfa8795d65cf8ef90 files/ipw2100-1.2.1-essid.patch 1205
+SHA256 c7679a9446d833562ad8f479fc4aac58cd847614e9a16c2eb75268d9b7ae97e3 files/ipw2100-1.2.1-essid.patch 1205
 DIST ipw2100-1.2.1.tgz 106297 RMD160 ad4f896d3f4b3afcdb39b5aaf02e9feaefbbedc7 SHA1 a674871d8cd7f8d2cb622ccc0f139da81bc2520c SHA256 6a46aba6a4f46165ecd66a65769482c3bf34b03bbe1df94d0dae314b2aaebf15
 EBUILD ipw2100-1.2.1-r1.ebuild 2783 RMD160 d8c7dbe723896ccaa28ef0baf7f26f68e7bdaf88 SHA1 c0909a11cd750751fa0de32d69b81a11a4ad317c SHA256 d44de0a5db6963f1a8dd66610800a80cf031c421d59ff47ba66d6548117de4ad
 MD5 6e52d7f2eaf2eadc86bc67bd9e722237 ipw2100-1.2.1-r1.ebuild 2783
 RMD160 d8c7dbe723896ccaa28ef0baf7f26f68e7bdaf88 ipw2100-1.2.1-r1.ebuild 2783
 SHA256 d44de0a5db6963f1a8dd66610800a80cf031c421d59ff47ba66d6548117de4ad ipw2100-1.2.1-r1.ebuild 2783
-MISC ChangeLog 19036 RMD160 e70b72cfd72262f0c70a240b070843a0a83136a9 SHA1 f6ed1daa143064025f61e81e8d9a8c7e2102b7fe SHA256 91d3a086c10eea3290f42a3400acb79a715c8e87b499bca3c25ae2b9bf1e07c7
-MD5 aa411abb8254f10fa272957c6304f25b ChangeLog 19036
-RMD160 e70b72cfd72262f0c70a240b070843a0a83136a9 ChangeLog 19036
-SHA256 91d3a086c10eea3290f42a3400acb79a715c8e87b499bca3c25ae2b9bf1e07c7 ChangeLog 19036
+EBUILD ipw2100-1.2.1-r2.ebuild 2840 RMD160 f3dee00b24b8c317974b8431c365ab69c7c5578d SHA1 7887df84af179a5075b122bb4c8b75695e61cce5 SHA256 a68297e096c1765ec7933f87441a68f8339c39ad1ec030316eeb93cd28401f0f
+MD5 2379aeaf222f07e8943d08d5bc045a7d ipw2100-1.2.1-r2.ebuild 2840
+RMD160 f3dee00b24b8c317974b8431c365ab69c7c5578d ipw2100-1.2.1-r2.ebuild 2840
+SHA256 a68297e096c1765ec7933f87441a68f8339c39ad1ec030316eeb93cd28401f0f ipw2100-1.2.1-r2.ebuild 2840
+MISC ChangeLog 19303 RMD160 38531d92001f46e8988fcb78cdc04d9e5130dfed SHA1 9d96ef9dce368a4a891f28862144c2ef9af5ee98 SHA256 6bc73e002075dd872e263bff19128e372527d144c15068a432529a0aaa891089
+MD5 736a5854f487425b916223d204f53184 ChangeLog 19303
+RMD160 38531d92001f46e8988fcb78cdc04d9e5130dfed ChangeLog 19303
+SHA256 6bc73e002075dd872e263bff19128e372527d144c15068a432529a0aaa891089 ChangeLog 19303
 MISC metadata.xml 349 RMD160 39e2f26e4bd4dc0813d0bc35ff05dec4e4ceca2f SHA1 c6e2560229748739c2182a6d4e4ff26479166443 SHA256 8a23fb2e817a602bea0365aa503bf0c42e72639d0a176b507064a751ea893e04
 MD5 1bb91f469544cf1f1edf3c158c40c2ba metadata.xml 349
 RMD160 39e2f26e4bd4dc0813d0bc35ff05dec4e4ceca2f metadata.xml 349
@@ -25,10 +33,13 @@ SHA256 8a23fb2e817a602bea0365aa503bf0c42e72639d0a176b507064a751ea893e04 metadata
 MD5 ba837739d77dd4a8296f970c74a5a4dc files/digest-ipw2100-1.2.1-r1 232
 RMD160 df05a8e91b7794ada0325f69349d6754c24e125f files/digest-ipw2100-1.2.1-r1 232
 SHA256 e3affb268173dc7e7b28f4b2d3bd84e1d6bd9fdac51ce043162e605095e3ffd8 files/digest-ipw2100-1.2.1-r1 232
+MD5 ba837739d77dd4a8296f970c74a5a4dc files/digest-ipw2100-1.2.1-r2 232
+RMD160 df05a8e91b7794ada0325f69349d6754c24e125f files/digest-ipw2100-1.2.1-r2 232
+SHA256 e3affb268173dc7e7b28f4b2d3bd84e1d6bd9fdac51ce043162e605095e3ffd8 files/digest-ipw2100-1.2.1-r2 232
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.4 (GNU/Linux)
+Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFEtoXVflZ8QqxhrsMRAmRJAKCbZye6DAEP9C4jCw7MRwauma0HkwCgh4bx
-G57s3VC/GhEdp4tLa7aD+hs=
-=C6Po
+iD8DBQFFhfR5yuNVb5qfaOYRAjEvAJ9KBNR5pONoWpFFOQS8YPInkpPcSQCgp7zb
+dmhhH7mzUF8gIF21b5k6W/0=
+=FitC
 -----END PGP SIGNATURE-----
diff --git a/net-wireless/ipw2100/files/digest-ipw2100-1.2.1-r2 b/net-wireless/ipw2100/files/digest-ipw2100-1.2.1-r2
new file mode 100644 (file)
index 0000000..9d2c6cb
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 9db50b836c63dc3a7e56653d2009717a ipw2100-1.2.1.tgz 106297
+RMD160 ad4f896d3f4b3afcdb39b5aaf02e9feaefbbedc7 ipw2100-1.2.1.tgz 106297
+SHA256 6a46aba6a4f46165ecd66a65769482c3bf34b03bbe1df94d0dae314b2aaebf15 ipw2100-1.2.1.tgz 106297
diff --git a/net-wireless/ipw2100/files/ipw2100-1.2.1-essid.patch b/net-wireless/ipw2100/files/ipw2100-1.2.1-essid.patch
new file mode 100644 (file)
index 0000000..a8504c3
--- /dev/null
@@ -0,0 +1,42 @@
+--- ipw2100-1.2.1.orig/ipw2100.c       2006-02-22 05:46:17.000000000 +1100
++++ ipw2100-1.2.1-essid/ipw2100.c      2006-12-12 16:47:54.000000000 +1100
+@@ -7462,6 +7462,12 @@
+       return 0;
+ }
++#if WIRELESS_EXT > 20
++#define IW_ESSID_FIX  0
++#else
++#define IW_ESSID_FIX  1
++#endif
++
+ static int ipw2100_wx_set_essid(struct net_device *dev,
+                               struct iw_request_info *info,
+                               union iwreq_data *wrqu, char *extra)
+@@ -7478,7 +7484,7 @@
+       }
+       if (wrqu->essid.flags && wrqu->essid.length) {
+-              length = wrqu->essid.length - 1;
++              length = wrqu->essid.length - IW_ESSID_FIX;
+               essid = extra;
+       }
+@@ -7528,7 +7534,7 @@
+               IPW_DEBUG_WX("Getting essid: '%s'\n",
+                            escape_essid(priv->essid, priv->essid_len));
+               memcpy(extra, priv->essid, priv->essid_len);
+-              wrqu->essid.length = priv->essid_len;
++              wrqu->essid.length = priv->essid_len + IW_ESSID_FIX;
+               wrqu->essid.flags = 1;  /* active */
+       } else {
+               IPW_DEBUG_WX("Getting essid: ANY\n");
+@@ -7571,7 +7577,7 @@
+       struct ipw2100_priv *priv = ieee80211_priv(dev);
+-      wrqu->data.length = strlen(priv->nick) + 1;
++      wrqu->data.length = strlen(priv->nick) + IW_ESSID_FIX;
+       memcpy(extra, priv->nick, wrqu->data.length);
+       wrqu->data.flags = 1;   /* active */
diff --git a/net-wireless/ipw2100/ipw2100-1.2.1-r2.ebuild b/net-wireless/ipw2100/ipw2100-1.2.1-r2.ebuild
new file mode 100644 (file)
index 0000000..d52648d
--- /dev/null
@@ -0,0 +1,99 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2100/ipw2100-1.2.1-r2.ebuild,v 1.1 2006/12/18 01:52:46 phreak Exp $
+
+inherit eutils linux-mod
+
+# The following works with both pre-releases and releases
+MY_P=${P/_/-}
+S=${WORKDIR}/${MY_P}
+
+IEEE80211_VERSION="1.1.12"
+FW_VERSION="1.3"
+
+DESCRIPTION="Driver for the Intel PRO/Wireless 2100 3B miniPCI adapter"
+HOMEPAGE="http://ipw2100.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+
+IUSE="debug"
+DEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION}"
+RDEPEND="${DEPEND}
+               =net-wireless/ipw2100-firmware-${FW_VERSION}
+               >=net-wireless/wireless-tools-27_pre23"
+
+BUILD_TARGETS="all"
+MODULE_NAMES="ipw2100(net/wireless:)"
+MODULESD_IPW2100_DOCS="README.ipw2100"
+
+CONFIG_CHECK="NET_RADIO FW_LOADER !IPW2100"
+ERROR_NET_RADIO="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)."
+ERROR_FW_LOADER="${P} requires Hotplug firmware loading support (CONFIG_FW_LOADER)."
+ERROR_IPW2100="${P} requires the in-kernel version of the IPW2100 driver to be disabled (CONFIG_IPW2100)"
+
+pkg_setup() {
+       linux-mod_pkg_setup
+
+       if kernel_is 2 4; then
+               die "${P} does not support building against kernel 2.4.x"
+       fi
+
+       if [[ ! -f ${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} ]]; then
+               eerror
+               eerror "Looks like you forgot to remerge net-wireless/ieee80211 after"
+               eerror "upgrading your kernel."
+               eerror
+               eerror "Hint: use sys-kernel/module-rebuild for keeping track of which"
+               eerror "modules needs to be remerged after a kernel upgrade."
+               eerror
+               die "${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} not found"
+       fi
+
+       BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR} IEEE80211_INC=/usr/include"
+}
+
+src_unpack() {
+       local debug="n"
+
+       unpack ${A}
+
+       cd "${S}"
+       epatch "${FILESDIR}/${P}-cflags.patch"
+       epatch "${FILESDIR}/${P}-double-parentheses.patch"
+       epatch "${FILESDIR}/${P}-essid.patch"
+
+       use debug && debug="y"
+       sed -i -e "s:^\(CONFIG_IPW2100_DEBUG\)=.*:\1=$debug:" "${S}"/Makefile
+}
+
+src_compile() {
+       linux-mod_src_compile
+
+       einfo
+       einfo "You may safely ignore any warnings from above compilation about"
+       einfo "undefined references to the ieee80211 subsystem."
+       einfo
+}
+
+src_install() {
+       linux-mod_src_install
+
+       dodoc CHANGES
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+
+       if [ -f ${ROOT}/lib/modules/${KV_FULL}/net/${PN}.ko ]; then
+               einfo
+               einfo "Modules from an earlier installation detected. You will need to manually"
+               einfo "remove those modules by running the following commands:"
+               einfo "  # rm -f /lib/modules/${KV_FULL}/net/${PN}.ko"
+               einfo "  # rm -f /lib/modules/${KV_FULL}/net/ieee80211*.ko"
+               einfo "  # depmod -a"
+               einfo
+       fi
+}