Add work-around for linux-2.6.14+, bug #110762.
authorHenrik Brix Andersen <brix@gentoo.org>
Sat, 29 Oct 2005 09:52:37 +0000 (09:52 +0000)
committerHenrik Brix Andersen <brix@gentoo.org>
Sat, 29 Oct 2005 09:52:37 +0000 (09:52 +0000)
Package-Manager: portage-2.0.51.22-r3

net-wireless/ieee80211/ChangeLog
net-wireless/ieee80211/Manifest
net-wireless/ieee80211/files/remove-old [new file with mode: 0644]
net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild
net-wireless/ieee80211/ieee80211-1.1.5.ebuild
net-wireless/ieee80211/ieee80211-1.1.6.ebuild

index 2e4db884eefeaa6b507b4507ff66fecd92fb7053..7c2157333df4dc72e2f7941f2c0d204b8792ec19 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for net-wireless/ieee80211
 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ChangeLog,v 1.14 2005/10/21 18:13:01 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ChangeLog,v 1.15 2005/10/29 09:52:37 brix Exp $
+
+  29 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> +files/remove-old,
+  ieee80211-1.1.5.ebuild, ieee80211-1.1.5-r1.ebuild, ieee80211-1.1.6.ebuild:
+  Add work-around for linux-2.6.14+, bug #110762.
 
 *ieee80211-1.1.6 (21 Oct 2005)
 
index ff2dd4db9e47ac0c3422fd8e9738dd15f3ece6b8..85c7a496d139e2373c049d7e4e67caae5a149e42 100644 (file)
@@ -1,11 +1,11 @@
 MD5 205ad9adc36c1538667c08b26290874b ieee80211-1.0.3.ebuild 2073
 MD5 0b37106be6c69fa6ce87d5925f2a31dc ieee80211-1.0.3-r1.ebuild 2093
-MD5 3df45944592ef6d050caad96679ec7d7 ieee80211-1.1.6.ebuild 2719
+MD5 5fdfb0d87c8e8ff10067e129c19033e5 ieee80211-1.1.6.ebuild 2720
 MD5 d94f6f0e594496b23768753d8f2fbccc ieee80211-1.0.2.ebuild 2067
-MD5 8a53f6d174d515c629ee4ada4ab59a8a ieee80211-1.1.5.ebuild 2772
+MD5 9afe1d3e3ace2480d5751d80d522713e ieee80211-1.1.5.ebuild 2773
 MD5 85642481bdfb52cc037a57a742a59e18 ieee80211-1.0.3-r2.ebuild 2744
-MD5 5cc6f9701b973608b6bdf2b1c2c2260f ieee80211-1.1.5-r1.ebuild 2816
-MD5 c6d9fd6bb8b48c02293e90bb2941a82c ChangeLog 2317
+MD5 8c1f9ad5b5fd51245e358a8734e57bb7 ieee80211-1.1.5-r1.ebuild 2817
+MD5 d16752488657a3239defb0f1fdf0d8c7 ChangeLog 2518
 MD5 b280eebc74d70d85e664debf1adce2c3 metadata.xml 255
 MD5 54836c698b04ed62f6d7a3f6f8fa6232 ieee80211-1.0.1.ebuild 2067
 MD5 03afa38292ff5bbcc62500c4b6163888 files/ieee80211-1.0.3-broadcast.patch 622
@@ -16,6 +16,7 @@ MD5 777627671d6848e14270d9f65d9d0be6 files/digest-ieee80211-1.0.3 63
 MD5 27f61bbea47540d198a62c715e33a5b4 files/digest-ieee80211-1.1.5 63
 MD5 9501aacea3c39a93671e12bdcd199254 files/digest-ieee80211-1.1.6 63
 MD5 ccf8b6ee79df516fce26c5780b058ac6 files/ieee80211-1.1.5-we18.patch 1973
+MD5 a4b70427a649d55f3b24b8ef94f80897 files/remove-old 1509
 MD5 777627671d6848e14270d9f65d9d0be6 files/digest-ieee80211-1.0.3-r1 63
 MD5 777627671d6848e14270d9f65d9d0be6 files/digest-ieee80211-1.0.3-r2 63
 MD5 27f61bbea47540d198a62c715e33a5b4 files/digest-ieee80211-1.1.5-r1 63
diff --git a/net-wireless/ieee80211/files/remove-old b/net-wireless/ieee80211/files/remove-old
new file mode 100644 (file)
index 0000000..73a2575
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/bash -x
+
+if [ "$1" == "" ]; then
+       KERN=/lib/modules/`uname -r`/build
+else
+       KERN="$1"
+fi
+
+echo ${KERN} | grep "/\$" || KERN="${KERN}/"
+
+function ask_comment()
+{
+        while true; do
+               read -p "Above definitions found.  Comment out? [y], n "
+                case ${REPLY} in
+                
+               n) return 1;;
+                        
+               ""|y)   sed -i \
+                               -e "s:^\(CONFIG_IEEE80211.*\):#\1:" \
+                               ${KERN}/.config || return 1
+                       sed -i -r \
+                               -e "s:^(#(un)?def.*CONFIG_IEEE80211.*):/*\1*/:" \
+                               ${KERN}/include/linux/autoconf.h || return 1
+                       return 0;;
+                                
+               *) continue;;
+                esac
+       done || return 1
+}
+
+function ask_remove()
+{
+        while true; do
+               read -p "Above files found.  Remove? [y],n "
+                case ${REPLY} in
+                
+               n) return 1;;
+                        
+               ""|y)   find ${KERN} -type f -name 'ieee80211*' | \
+                       while read fn; do 
+                               [ ! -d $fn ] && (rm -f ${fn} || return 1)
+                       done || return 1
+                       return 0;;
+                                
+               *) continue;;
+                esac
+       done || return 1
+}
+
+function do_check()
+{
+       echo -e "Checking in ${1} for ieee80211 components...\n"
+
+       FILES=`find ${1} -type f -name 'ieee80211*'`
+
+       if [ -n "${FILES}" ]; then
+               echo -e "${FILES}\n" | sed -e "s# #\n#"
+               ask_remove || return 1
+       fi
+
+       ( egrep "^(CONFIG_IEEE80211.*)" ${1}/.config || \
+               egrep "^#(un)?def.*(CONFIG_IEEE80211.*)" \
+                       ${1}/include/linux/autoconf.h ) && \
+                       (ask_comment || return 1)
+
+       return 0
+}
+
+do_check ${KERN}
index 027dd912e04c783b8194fd76a3379b79147c2e00..df00345bbd2b4dbd44c795f2419b7921e157210d 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild,v 1.1 2005/10/20 13:22:24 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild,v 1.2 2005/10/29 09:52:37 brix Exp $
 
 inherit eutils linux-mod
 
@@ -48,7 +48,7 @@ pkg_setup() {
                eerror "ieee80211 subsystem, which needs to be removed before"
                eerror "${P} can be installed. This can be accomplished by running:"
                eerror
-               eerror "  # rm -i ${KV_DIR}/include/net/ieee80211.h"
+               eerror "  # /bin/sh ${FILESDIR}/remove-old ${KV_DIR}"
                eerror
                eerror "Please note that this will make it impossible to use some of the"
                eerror "in-kernel IEEE 802.11 wireless LAN drivers (eg. orinoco)."
index ca2ce4f4a18c0f88d9d68d52aa6464d7d9f09dc2..bb7c7ee143bbe170bfe4f7f19b8a0a96564e7036 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ieee80211-1.1.5.ebuild,v 1.2 2005/10/19 13:06:03 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ieee80211-1.1.5.ebuild,v 1.3 2005/10/29 09:52:37 brix Exp $
 
 inherit eutils linux-mod
 
@@ -48,7 +48,7 @@ pkg_setup() {
                eerror "ieee80211 subsystem, which needs to be removed before"
                eerror "${P} can be installed. This can be accomplished by running:"
                eerror
-               eerror "  # rm -i ${KV_DIR}/include/net/ieee80211.h"
+               eerror "  # /bin/sh ${FILESDIR}/remove-old ${KV_DIR}"
                eerror
                eerror "Please note that this will make it impossible to use some of the"
                eerror "in-kernel IEEE 802.11 wireless LAN drivers (eg. orinoco)."
index 33b599bcda5681365812457720c64e2a620f37a9..b3b450ae9bc14e7ff51a53bb7e1f4457cca0a7b8 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ieee80211-1.1.6.ebuild,v 1.1 2005/10/21 18:13:01 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ieee80211-1.1.6.ebuild,v 1.2 2005/10/29 09:52:37 brix Exp $
 
 inherit linux-mod
 
@@ -42,20 +42,6 @@ pkg_setup() {
                die "${P} does not support building against kernel 2.4.x"
        fi
 
-       if [[ -f ${KV_DIR}/include/net/ieee80211.h ]]; then
-               eerror
-               eerror "You kernel source contains an incomptible version of the"
-               eerror "ieee80211 subsystem, which needs to be removed before"
-               eerror "${P} can be installed. This can be accomplished by running:"
-               eerror
-               eerror "  # rm -i ${KV_DIR}/include/net/ieee80211.h"
-               eerror
-               eerror "Please note that this will make it impossible to use some of the"
-               eerror "in-kernel IEEE 802.11 wireless LAN drivers (eg. orinoco)."
-               eerror
-               die "Incompatible in-kernel ieee80211 subsystem detected"
-       fi
-
        if ! (linux_chkconfig_present CRYPTO_AES_586 || \
                  linux_chkconfig_present CRYPTO_AES_X86_64 || \
                  linux_chkconfig_present CRYPTO_AES); then
@@ -71,6 +57,20 @@ src_unpack() {
 
        unpack ${A}
 
+       if [[ -f ${KV_DIR}/include/net/ieee80211.h ]]; then
+               eerror
+               eerror "You kernel source contains an incomptible version of the"
+               eerror "ieee80211 subsystem, which needs to be removed before"
+               eerror "${P} can be installed. This can be accomplished by running:"
+               eerror
+               eerror "  # /bin/sh ${FILESDIR}/remove-old ${KV_DIR}"
+               eerror
+               eerror "Please note that this will make it impossible to use some of the"
+               eerror "in-kernel IEEE 802.11 wireless LAN drivers (eg. orinoco)."
+               eerror
+               die "Incompatible in-kernel ieee80211 subsystem detected"
+       fi
+
        use debug && debug="y"
        sed -i -e "s:^\(CONFIG_IEEE80211_DEBUG\)=.*:\1=${debug}:" ${S}/Makefile
 }