net-wireless/compat-wireless: updates for safety and override for checking kernel version

This commit is contained in:
Zero_Chaos 2010-05-26 21:15:53 +00:00
parent 3cde101bfd
commit b0b8d8278d
2 changed files with 102 additions and 0 deletions

View file

@ -46,6 +46,7 @@ EBUILD compat-wireless-2.6.33_rc1.ebuild 2111 RMD160 4bc302aa5dd8f351d1707189343
EBUILD compat-wireless-2.6.33_rc4.ebuild 2284 RMD160 070ba0026527149e922c324c7bf646d222c88b7d SHA1 ff04bea64a42dbc02215552face3e828e620b6bd SHA256 e45e956ff732cb2e3d5ee68b09c637de7d9d79e32c653e3f2cd7139778758433
EBUILD compat-wireless-2.6.33_rc5.ebuild 2336 RMD160 e46d00fb197714883916c613c2a495e979c31865 SHA1 b24a5ae630ecd556f27d6535d3e19b287e17ea16 SHA256 752f60134a4d851e23a0f4c87e78a89de31850fef6d0cc78ace9674678fb9193
EBUILD compat-wireless-2.6.33_rc8.ebuild 2370 RMD160 62b59c4f6da20f3aa0928d84a3910b1cbf8b7b61 SHA1 b2f0776f94ba2602182577f1af49e93ad6e882a7 SHA256 2fd3d05ac7616935ce3c43d116010f565c50b0c1a09a58371d3a1beb6d06b225
EBUILD compat-wireless-2.6.34-r1.ebuild 3683 RMD160 37c6c35a4a6ae2bc4c011cbca1890049294721d2 SHA1 7257a38fb0d076b5248af6f301572efc4f74b086 SHA256 379342bd73f5d8a3f0e966d4606fb755709460d7cc0a8d598f8cb0599ec3ad3a
EBUILD compat-wireless-2.6.34.ebuild 2793 RMD160 d68f2fc3a55d4929e3902f36fb4261d4ac987972 SHA1 5f7d95f00c9497b296e5f43e79fe006ca846d5d7 SHA256 9f16bc96c70b7e8a7e3284a83b58d86f41eb7dfef5e3c415c2f93b8f9a1eed85
EBUILD compat-wireless-2.6.34_rc4.ebuild 2793 RMD160 d68f2fc3a55d4929e3902f36fb4261d4ac987972 SHA1 5f7d95f00c9497b296e5f43e79fe006ca846d5d7 SHA256 9f16bc96c70b7e8a7e3284a83b58d86f41eb7dfef5e3c415c2f93b8f9a1eed85
MISC metadata.xml 228 RMD160 cd3fb26b5d8049ab5dba38f21d7654ec033aa0eb SHA1 3148dfbdced7a623a311d21c6f728ab9c7135dae SHA256 8715828d1bff71d5d96b991ba600bae9376c1c80c96f0f102260fc335ca22487

View file

@ -0,0 +1,101 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit linux-mod linux-info versionator
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-3)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="injection tinyversionoverride"
DEPEND=""
RDEPEND="=sys-kernel/linux-firmware-99999999"
S=${WORKDIR}/${MY_P}
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 use tinyversionoverride; then
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); 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 "You have tinyversionoverride enabled and you don't appear to need it. It is strongly suggested to"
ewarn "set this use flag only if you are certain you need it or else you are likely to downgrade your system."
epause 5
die "Remove the uneeded use flag and be more careful next time before you downgrade your system."
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() {
#whynot patch is against the makefile to fix general brokeness
epatch "${FILESDIR}"/whynot-2.6.32.patch
if use injection; then
epatch "${FILESDIR}"/400[24]_*.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
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KVER="${KV_FULL}" || 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/load.sh \
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.sh'
}
pkg_postrm() {
remove_moduledb
}