compat-wireless: cleanup and version bump

This commit is contained in:
Zero_Chaos 2011-08-14 04:09:44 +00:00
parent 939789f8ad
commit eb8b91ad0e
10 changed files with 9 additions and 1073 deletions

View file

@ -50,8 +50,7 @@ DIST compat-wireless-2.6.37-4-sn.tar.bz2 3874734 RMD160 86cce3f4f6e21cb00a2e1c3d
DIST compat-wireless-2.6.38.2-2-ns.tar.bz2 4060490 RMD160 3c385c22e8c353cafdc9b0dc578cce9616714967 SHA1 c0470b3cbb3d9b31a1d9a98ea82f4fe344c8ea59 SHA256 f77b913f90bfc40233d7c71e2c274afac1134997a9257116521873ca1a5a0f79
DIST compat-wireless-2.6.39-1-sn.tar.bz2 4333239 RMD160 ce7cd4b6e5ae5437a77b3a545fa746ee19dba5a1 SHA1 0c0a9d02a23153e31e3db84a84c1eb62a7615982 SHA256 8fb43a233e91c0f3e48ef7428d2a4ee9d6bd77ce1edc1d248a9409bcb985ed71
DIST compat-wireless-3.0-2.tar.bz2 4238914 RMD160 c6a4f51680c0f6f5095a254fc91175fe69b9243c SHA1 b02a1c528bea3ec175924bc08404f724dd47a104 SHA256 492f9b5232cd061ca96c26718f5e4a98b9311f8f551713727fdd4fc0b57af79d
DIST compat-wireless-3.0-rc1-1.tar.bz2 4247606 RMD160 de4b6b47244cbb986997ab33214b6001ef862f4a SHA1 083c7e4b3fa65bf5df79c52c248228f424919705 SHA256 96bad5db8bee91eb82e74a30c68ca9c276914ba8415a5993a52b044320a7e141
DIST compat-wireless-3.0-rc4-1.tar.bz2 4238930 RMD160 7b89250ebd567c933ed699b9523f9c6597a6e2ed SHA1 172b4c448464c792ac5f4db9d242d2b104077511 SHA256 eda64b89c04d30a440d5ef50d6599beb5ee3a82b5fa3ec2d0eed96d83973b4ce
DIST compat-wireless-3.1-rc1-1.tar.bz2 4288331 RMD160 d6f28ecf99c47d9ae546e5ed1a1cc599aa213117 SHA1 1231c62447deff976609ee150ffda610c718738e SHA256 70670c4285c1e10314a9e956154a4976d9d60255ac64af4f02224e6e66581638
EBUILD compat-wireless-2.6.32.8.ebuild 2368 RMD160 53d1a1401310d34cd03f2fa6bb41e60d2a16dcfd SHA1 c19445050e394bc0239c61fec11eab69e4f08daa SHA256 705bb5ad89ec2433edd4252488b3e7322c5137c49520203a3cbea44314ab9234
EBUILD compat-wireless-2.6.33-r1.ebuild 2747 RMD160 c120f1c92a7205097839c5dc42235bfd10cbf555 SHA1 2144302eab89dd5881eecf3725124d6c5b288f3f SHA256 0d425eec9472ed83cd1a29945ead1116612c938248c430653510011d56307a6b
EBUILD compat-wireless-2.6.34-r2.ebuild 3918 RMD160 48f91620cf68a993e63d3c9dfe565850650e6fc5 SHA1 44e4bec8543c93e456d3a2ac3e4ab1c7b55a8f01 SHA256 a729ecc6955dac802ed9b1585f23a48c54fdd45434d2673930322c792c77e159
@ -60,13 +59,6 @@ EBUILD compat-wireless-2.6.36.ebuild 5332 RMD160 c4a19864f8703fce0b9369fc597f165
EBUILD compat-wireless-2.6.37-r7.ebuild 5443 RMD160 629fefa357220ebbad14d4f42979072a6ced87cc SHA1 7cd2e349de253e0f62abbe6c11bbfdc1558877e7 SHA256 f08fb77d9972331aae217e050e034e3bfd17d933c5eb22a272d05c7022f70462
EBUILD compat-wireless-2.6.38.2-r1.ebuild 5641 RMD160 2a7056e079083a3cfd5ce42b8b48b51ccdfd6430 SHA1 ea2b0a1d8ce9298ead5cdca1ec5c0b43140aed32 SHA256 e226115a59b6c8b91585231ca007d8929dc5f3e4ea7e1e4807c81a2e788869a1
EBUILD compat-wireless-2.6.39-r1.ebuild 5452 RMD160 400562e5a513c9686ea30773d689cebcf8c4c4ef SHA1 144b17dd5de5113db1b1c7cc2a5811f9461d086e SHA256 f93936fa1e85242c8380d6c0ae045b8e7d25930490fe5111f33e7736d9e26aea
EBUILD compat-wireless-3.0.ebuild 6526 RMD160 046e9f955039d44e472aaf9b89339505aff78858 SHA1 dcbb277194b169cd3ba8ee5aec7cdba881afec1e SHA256 f660c6b8454f8713fe64aaadad48f4dbc9bb611a1f3f2b08b42142abbc180662
EBUILD compat-wireless-3.0_rc1.ebuild 5703 RMD160 263a5bc297a7a123c8f0e9dfcd5cb11bb88ed8f7 SHA1 1a06b22bc6ee579ccde6bd8a2c0f723955d88d55 SHA256 437ef076b8c1b864b0d2193d5c66bb8b0e0a67080bd895ed772863edb3ffa454
EBUILD compat-wireless-3.0_rc4-r1.ebuild 5613 RMD160 f70a05365a265407451eed6a74b91cb1d3ab2bc5 SHA1 7ad8bdf1dec216d050807a035cc8e882f8674d1d SHA256 b038e285306f8ec254977b9a59c6157da25168b332c6a689f9290cbb94a20859
EBUILD compat-wireless-3.0_rc4-r2.ebuild 5839 RMD160 85e1636bdfb5e73f3a7d8b9eefc5e637fc6791c0 SHA1 9edfdc1128bbedfea86bdc6bf9e6dc14ce8093a0 SHA256 91caa75920122bf53dc2b015e7973f48d7630c1ce1d0dc9dd30940efc73a5635
EBUILD compat-wireless-3.0_rc4-r3.ebuild 5917 RMD160 a780e9ba7e32b564f04dc4877db0e46546e0111c SHA1 7d7c6668c5d8da77ac2cc94f16dc9f3bdc4f8852 SHA256 ff84d40d5b66662ad9aad0496037ff342fd97474c3c6e4023583e1f34260b0d8
EBUILD compat-wireless-3.0_rc4-r4.ebuild 6211 RMD160 83ef438cf88c8eebb4a3b23cd9e281659ac9871f SHA1 82e403a341efbce2c46eadc8e9580cf6ae9ee933 SHA256 694e8faa76cb8b14a0b0656defdd2708cc0c3eae1d9427985a60db73e3cebae6
EBUILD compat-wireless-3.0_rc4-r5.ebuild 6274 RMD160 f579b374f41793215d4b8c1f5238ef0a53325c2a SHA1 13761156aaa34ed40afb240d2e54be30a2f2352f SHA256 223a1852f071c64ea9748401f9c45cd2bd38a2bcfc9df1f7adab4ec430b5609c
EBUILD compat-wireless-3.0_rc4-r6.ebuild 6529 RMD160 7926c6f4a655f96cafa67ac28ddb42812bf7837a SHA1 2e2dcc4f20201e7f2a746e10aa7ae6d3b719999c SHA256 cb4ae4d0792704b06e608fb26998bced3c81a5591aab88cfab5ef769dac3f958
EBUILD compat-wireless-3.0_rc4.ebuild 5650 RMD160 bffef5f32337d8eda8d25fd9cc427c3da68c8d97 SHA1 c05e8892f913a642681531977f7b6a18ea528387 SHA256 95d1fdbe4fb38d72bb0ee3f4a814ea6aa9bbee1a4b4da35aa1747605a74c84a3
EBUILD compat-wireless-3.0.ebuild 6461 RMD160 51e211bac46f5fedf4bf66d28fa84acf20793537 SHA1 6ff1ad045dd488334e2e84ddae5b4ceb67f2e71f SHA256 ed6bf245e9011e40296dac5f32f52f4166a9f684872509ef634f6aff78ba641e
EBUILD compat-wireless-3.1_rc1.ebuild 6431 RMD160 2478b63967d464afd85a4a5533edfe559f201577 SHA1 78b55d36a489b17b02d42655a5ef9ceddaa52856 SHA256 6be43b005e638932e0943ba891a007d4aca9ff761a73c56834681d706faa77bb
MISC metadata.xml 228 RMD160 cd3fb26b5d8049ab5dba38f21d7654ec033aa0eb SHA1 3148dfbdced7a623a311d21c6f728ab9c7135dae SHA256 8715828d1bff71d5d96b991ba600bae9376c1c80c96f0f102260fc335ca22487

View file

@ -33,8 +33,8 @@ CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."

View file

@ -1,143 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm ~amd64 ~x86"
IUSE="atheros_obey_crda bluetooth debugfs debug-driver full-debug injection noleds tinyversionoverride"
DEPEND=""
RDEPEND=">=sys-kernel/linux-firmware-20110604"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
epause 10
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"
ewarn "the tinyversionoverride use flag to override this safety check."
epause 5
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
}
src_prepare() {
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
if use atheros_obey_crda; then
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
ewarn "world roaming on the device until crda provides a valid regdomain."
ewarn "Short version, this is not a way to break the law, this will automatically"
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
ewarn "Pausing for 10 secs..."
epause 10
epatch "${FILESDIR}"/ath_ignore_eeprom.patch
fi
if use injection; then
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
# epatch "${FILESDIR}"/compat-chaos.patch
# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
# epatch "${FILESDIR}"/super_secret_patch.diff
epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && epatch "${FILESDIR}"/driver-debug.patch
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
if use full-debug; then
if use debug-driver ; then
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
else
ewarn "Enabling full-debug includes debug-driver."
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
fi
fi
# Disable B44 ethernet driver
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed"
}
src_install() {
for file in $(find -name \*.ko); do
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
doins "${file}" || die "failed to install module ${file}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh || die "script installation failed"
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh || die
dodoc README || die
dodir /$(get_libdir)/udev/rules.d/
insinto /$(get_libdir)/udev/rules.d/
doins udev/50-compat_firmware.rules
exeinto /$(get_libdir)/udev/
doexe udev/compat_firmware.sh
}
pkg_postinst() {
update_depmod
update_moduledb
einfo 'You may have problem if you do not run "depmod -ae" after this installation'
einfo 'To switch to the new drivers without reboot run unload.sh then load
your needed driver.'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,142 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm ~amd64 ~x86"
IUSE="atheros_obey_crda bluetooth debugfs debug-driver full-debug injection noleds tinyversionoverride"
DEPEND=""
RDEPEND=">=sys-kernel/linux-firmware-20110604"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"
ewarn "the tinyversionoverride use flag to override this safety check."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
if use atheros_obey_crda; then
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
ewarn "world roaming on the device until crda provides a valid regdomain."
ewarn "Short version, this is not a way to break the law, this will automatically"
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
ewarn "Pausing for 10 secs..."
epatch "${FILESDIR}"/ath_regd_optional.patch
fi
if use injection; then
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
# epatch "${FILESDIR}"/compat-chaos.patch
# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
# epatch "${FILESDIR}"/super_secret_patch.diff
epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && epatch "${FILESDIR}"/driver-debug.patch
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
if use full-debug; then
if use debug-driver ; then
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
else
ewarn "Enabling full-debug includes debug-driver."
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
fi
fi
# Disable B44 ethernet driver
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed"
}
src_install() {
for file in $(find -name \*.ko); do
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
doins "${file}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
dodir /$(get_libdir)/udev/rules.d/
insinto /$(get_libdir)/udev/rules.d/
doins udev/50-compat_firmware.rules
exeinto /$(get_libdir)/udev/
doexe udev/compat_firmware.sh
}
pkg_postinst() {
update_depmod
update_moduledb
einfo 'You may have problem if you do not run "depmod -ae" after this installation'
einfo 'To switch to the new drivers without reboot run unload.sh then load
your needed driver.'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,150 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm ~amd64 ~x86"
IUSE="atheros_obey_crda bluetooth debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND=">=sys-kernel/linux-firmware-20110604
sys-fs/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"
ewarn "the tinyversionoverride use flag to override this safety check."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
if use atheros_obey_crda; then
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
ewarn "world roaming on the device until crda provides a valid regdomain."
ewarn "Short version, this is not a way to break the law, this will automatically"
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
ewarn "Pausing for 10 secs..."
epatch "${FILESDIR}"/ath_regd_optional.patch
fi
if use injection; then
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
# epatch "${FILESDIR}"/compat-chaos.patch
# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
# epatch "${FILESDIR}"/super_secret_patch.diff
epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && epatch "${FILESDIR}"/driver-debug.patch
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
if use full-debug; then
if use debug-driver ; then
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
else
ewarn "Enabling full-debug includes debug-driver."
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
fi
fi
# Disable B44 ethernet driver
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed"
}
src_install() {
for file in $(find -name \*.ko); do
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
doins "${file}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
dodir /$(get_libdir)/udev/rules.d/
insinto /$(get_libdir)/udev/rules.d/
doins udev/50-compat_firmware.rules
exeinto /$(get_libdir)/udev/
doexe udev/compat_firmware.sh
}
pkg_postinst() {
update_depmod
update_moduledb
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,151 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm ~amd64 ~x86"
IUSE="atheros_obey_crda bluetooth debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND=">=sys-kernel/linux-firmware-20110604
sys-fs/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"
ewarn "the tinyversionoverride use flag to override this safety check."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
linux_chkconfig_module SSB || die "CONFIG_SSB must be built as a _module) !"
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
if use atheros_obey_crda; then
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
ewarn "world roaming on the device until crda provides a valid regdomain."
ewarn "Short version, this is not a way to break the law, this will automatically"
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
ewarn "Pausing for 10 secs..."
epatch "${FILESDIR}"/ath_regd_optional.patch
fi
if use injection; then
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
# epatch "${FILESDIR}"/compat-chaos.patch
# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
# epatch "${FILESDIR}"/super_secret_patch.diff
epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && epatch "${FILESDIR}"/driver-debug.patch
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
if use full-debug; then
if use debug-driver ; then
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
else
ewarn "Enabling full-debug includes debug-driver."
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
fi
fi
# Disable B44 ethernet driver
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed"
}
src_install() {
for file in $(find -name \*.ko); do
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
doins "${file}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
dodir /$(get_libdir)/udev/rules.d/
insinto /$(get_libdir)/udev/rules.d/
doins udev/50-compat_firmware.rules
exeinto /$(get_libdir)/udev/
doexe udev/compat_firmware.sh
}
pkg_postinst() {
update_depmod
update_moduledb
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,162 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm ~amd64 ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND=">=sys-kernel/linux-firmware-20110604
sys-fs/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"
ewarn "the tinyversionoverride use flag to override this safety check."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44"
linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44"
fi
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
if use atheros_obey_crda; then
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
ewarn "world roaming on the device until crda provides a valid regdomain."
ewarn "Short version, this is not a way to break the law, this will automatically"
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
ewarn "Pausing for 10 secs..."
epatch "${FILESDIR}"/ath_regd_optional.patch
fi
if use injection; then
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
# epatch "${FILESDIR}"/compat-chaos.patch
# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
# epatch "${FILESDIR}"/super_secret_patch.diff
epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && epatch "${FILESDIR}"/driver-debug.patch
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
if use full-debug; then
if use debug-driver ; then
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
else
ewarn "Enabling full-debug includes debug-driver."
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
fi
fi
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed"
}
src_install() {
for file in $(find -name \*.ko); do
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
doins "${file}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
dodir /$(get_libdir)/udev/rules.d/
insinto /$(get_libdir)/udev/rules.d/
doins udev/50-compat_firmware.rules
exeinto /$(get_libdir)/udev/
doexe udev/compat_firmware.sh
}
pkg_postinst() {
update_depmod
update_moduledb
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,163 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm ~amd64 ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110604 )
sys-fs/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"
ewarn "the tinyversionoverride use flag to override this safety check."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44"
linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44"
fi
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
if use atheros_obey_crda; then
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
ewarn "world roaming on the device until crda provides a valid regdomain."
ewarn "Short version, this is not a way to break the law, this will automatically"
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
ewarn "Pausing for 10 secs..."
epatch "${FILESDIR}"/ath_regd_optional.patch
fi
if use injection; then
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
# epatch "${FILESDIR}"/compat-chaos.patch
# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
# epatch "${FILESDIR}"/super_secret_patch.diff
epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && epatch "${FILESDIR}"/driver-debug.patch
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
if use full-debug; then
if use debug-driver ; then
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
else
ewarn "Enabling full-debug includes debug-driver."
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
fi
fi
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed"
}
src_install() {
for file in $(find -name \*.ko); do
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
doins "${file}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
dodir /$(get_libdir)/udev/rules.d/
insinto /$(get_libdir)/udev/rules.d/
doins udev/50-compat_firmware.rules
exeinto /$(get_libdir)/udev/
doexe udev/compat_firmware.sh
}
pkg_postinst() {
update_depmod
update_moduledb
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,145 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm ~amd64 ~x86"
IUSE="atheros_obey_crda bluetooth debugfs debug-driver full-debug injection noleds tinyversionoverride"
DEPEND=""
RDEPEND=">=sys-kernel/linux-firmware-20110604"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
epause 10
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"
ewarn "the tinyversionoverride use flag to override this safety check."
epause 5
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
if use atheros_obey_crda; then
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
ewarn "world roaming on the device until crda provides a valid regdomain."
ewarn "Short version, this is not a way to break the law, this will automatically"
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
ewarn "Pausing for 10 secs..."
epause 10
epatch "${FILESDIR}"/ath_ignore_eeprom.patch
fi
if use injection; then
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
# epatch "${FILESDIR}"/compat-chaos.patch
# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
# epatch "${FILESDIR}"/super_secret_patch.diff
epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && epatch "${FILESDIR}"/driver-debug.patch
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
if use full-debug; then
if use debug-driver ; then
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
else
ewarn "Enabling full-debug includes debug-driver."
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
fi
fi
# Disable B44 ethernet driver
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed"
}
src_install() {
for file in $(find -name \*.ko); do
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
doins "${file}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
dodir /$(get_libdir)/udev/rules.d/
insinto /$(get_libdir)/udev/rules.d/
doins udev/50-compat_firmware.rules
exeinto /$(get_libdir)/udev/
doexe udev/compat_firmware.sh
}
pkg_postinst() {
update_depmod
update_moduledb
einfo 'You may have problem if you do not run "depmod -ae" after this installation'
einfo 'To switch to the new drivers without reboot run unload.sh then load
your needed driver.'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -9,7 +9,7 @@ inherit linux-mod linux-info versionator eutils
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
@ -33,13 +33,13 @@ CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) ; then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
ewarn "before you downgrade your system."
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"