compat-wireless: new version makes me happy

This commit is contained in:
Zero_Chaos 2012-03-11 01:03:56 +00:00
parent d2160be3ca
commit 784c65c0bb
2 changed files with 170 additions and 0 deletions

View file

@ -61,6 +61,7 @@ DIST compat-wireless-3.2-1-s.tar.bz2 4107365 RMD160 33849fa62721949eb949fb7292f2
DIST compat-wireless-3.2-rc1-1.tar.bz2 4099272 RMD160 7c2ff56ee7679eb444e5d0b378fb62d4502c9bda SHA1 48089e935687e37c54f5f8dc073e42e7d3e79c8c SHA256 f906be3f4dabcdf14a6cccda3843142e2a778964ee61fa69969474df9a0d3578
DIST compat-wireless-3.2-rc6-3-s.tar.bz2 4106057 RMD160 1350f1541a6b45c70fd43275f779380fbd320176 SHA1 2e38d6cef35e3aea886e5615f902057d697f5c11 SHA256 6ad7c15147bcbe6be998dbfb1bbdb008124b2f70348bd3e4de6db68e94069511
DIST compat-wireless-3.3-rc1-2.tar.bz2 4157386 RMD160 61c2d39277e0ebb7eec4c1b8098138a168a04d5c SHA1 f661554fc83ca65c696c8c3a9e177736d36c942a SHA256 92d9010dbaabe4188e34b5a16eb13ab3e424f15b7416991076c6f98584569719
DIST compat-wireless-3.3-rc6-1-n.tar.bz2 4157430 RMD160 46f1a679f45aa3b667a8be997d817cd617f800ac SHA1 a12d8cf10c7e700020976a39055ba78fae88049f SHA256 659c6c0acb2e3feacb4afc9684c6279ba52e35675265996c17ba3662e5030b57
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
@ -80,4 +81,5 @@ EBUILD compat-wireless-3.2_rc1.ebuild 6614 RMD160 a407ae6e9d48e594b9b4c53fe5a80b
EBUILD compat-wireless-3.2_rc6.ebuild 6616 RMD160 2943e07801425b8b39cb8f0ec819d2c586196cf8 SHA1 ab80fa153245b72d3937e75cd8b43dcfe5e00d01 SHA256 8469fa320af3f7257f508b1a4f2ff8d1b4aeeb55e5e7a37d261e17dd7a8a0d14
EBUILD compat-wireless-3.3_rc1-r1.ebuild 6265 RMD160 0dcd8bfc84e286a05e83a4c775c2ff74ffc4e9c7 SHA1 dd60137c5fb7a5eac06c84d9c51fa9d5a6b03f18 SHA256 e7858621a68ed22bf77293f0a715aaf0628a092d58673de68256d837cc1e109f
EBUILD compat-wireless-3.3_rc1.ebuild 6640 RMD160 7160ffd4eda54773051b5a868a4f465d6551c2e5 SHA1 be17321d47161c3816ef1192e6b4b7c5665fea64 SHA256 7b7404add5156139bab29c7987c79d5d0c19c709c671afb2aaca3c90ef445809
EBUILD compat-wireless-3.3_rc6.ebuild 6170 RMD160 b9d16f59bc8a0f2d5b42e692550d30abd2857403 SHA1 333f8702347be2aa6ad8a1695c7f2f40caa9b0a8 SHA256 06271354081fb279046e25a533cabe3815ce3ab93b7ad67b8416d9df5a29cab4
MISC metadata.xml 228 RMD160 cd3fb26b5d8049ab5dba38f21d7654ec033aa0eb SHA1 3148dfbdced7a623a311d21c6f728ab9c7135dae SHA256 8715828d1bff71d5d96b991ba600bae9376c1c80c96f0f102260fc335ca22487

View file

@ -0,0 +1,168 @@
# 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)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-n"
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="~amd64 ~arm ~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-20110709 )
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) && 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."
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"
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
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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}"/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
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
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
if use !loadmodules; then
einfo "You didn't USE=loadmodules but 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."
fi
}
pkg_postrm() {
remove_moduledb
}