From fdfd66d1bf0019a62874bc40dae6ff63bae0892c Mon Sep 17 00:00:00 2001 From: Zero_Chaos Date: Thu, 29 Mar 2012 01:54:09 +0000 Subject: [PATCH] compat-wireless: bump to add in fixed cherry picked patches --- net-wireless/compat-wireless/Manifest | 2 + .../compat-wireless-3.3-r1.ebuild | 169 ++++++++++++++++++ 2 files changed, 171 insertions(+) create mode 100644 net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild diff --git a/net-wireless/compat-wireless/Manifest b/net-wireless/compat-wireless/Manifest index a2d28bda2..264311c34 100644 --- a/net-wireless/compat-wireless/Manifest +++ b/net-wireless/compat-wireless/Manifest @@ -62,6 +62,7 @@ DIST compat-wireless-3.2-rc1-1.tar.bz2 4099272 RMD160 7c2ff56ee7679eb444e5d0b378 DIST compat-wireless-3.2-rc6-3-s.tar.bz2 4106057 RMD160 1350f1541a6b45c70fd43275f779380fbd320176 SHA1 2e38d6cef35e3aea886e5615f902057d697f5c11 SHA256 6ad7c15147bcbe6be998dbfb1bbdb008124b2f70348bd3e4de6db68e94069511 DIST compat-wireless-3.2.5-1.tar.bz2 4102350 RMD160 256bde2496bffc1a2b03e0d8a55a4708c78a8e0d SHA1 e7bcdc038b9f85e74308b175b41560b6d5a31c50 SHA256 a7bc714c8e438dea348a154c6f4ca583cdbc5155467ec9ae8498a90c70f89658 DIST compat-wireless-3.3-1.tar.bz2 4244971 RMD160 381b6645a31ca7da77ef81201cb77e231f204952 SHA1 e100832be6d157043cb927ba184380dbddb40387 SHA256 d676ecbe8c8c8257c5af1a7feb3c4e8372bf0984807bbc89c98b4df516d6231b +DIST compat-wireless-3.3-2-n.tar.bz2 4156020 RMD160 c39c09ba93e9292804b77ae714ebe37c49fd1d10 SHA1 dd18cfabbe705a75440fd7fbe50a09d5fe34bb70 SHA256 fdf4801775f7ad7692b9c8ee8b1712a16e198d6d810273b149be71c8e4663b4f 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 @@ -82,6 +83,7 @@ EBUILD compat-wireless-3.2.5.ebuild 6612 RMD160 62b0dd058929f2e2ac400243cac0a6f6 EBUILD compat-wireless-3.2.ebuild 6614 RMD160 d6149e04c5c611554260c21197d918b5ffc85329 SHA1 5b7b1a1c5b90e93f98e381acfabd89aaf093c68c SHA256 d54bca1801a2ee4f5158118852565e3c541fa7c761dbfd4b2301da35ff8b4929 EBUILD compat-wireless-3.2_rc1.ebuild 6614 RMD160 a407ae6e9d48e594b9b4c53fe5a80bdcd8ebb683 SHA1 12a233e46f56b1db0443978e539e3b5b10150d74 SHA256 7af445ff777b9be6ac7977e5776c5fb3c6a1f78cde27aabadc93e68c0592cc6d EBUILD compat-wireless-3.2_rc6.ebuild 6616 RMD160 2943e07801425b8b39cb8f0ec819d2c586196cf8 SHA1 ab80fa153245b72d3937e75cd8b43dcfe5e00d01 SHA256 8469fa320af3f7257f508b1a4f2ff8d1b4aeeb55e5e7a37d261e17dd7a8a0d14 +EBUILD compat-wireless-3.3-r1.ebuild 6276 RMD160 b60d6a15e27ea6f5faaad226d5e6567087e21d7c SHA1 bd14370d6eda03e9ebe8807915050e03a8e593b6 SHA256 89dea930897a0048648d37fc19104fa8651a21c0a3606667cdfc5defb5102728 EBUILD compat-wireless-3.3.ebuild 6274 RMD160 cbcf230cf7d18ec716b70ff2b2daf35d09d6ad94 SHA1 ee60dded6871ee6e0f7983dc618b20db97daec65 SHA256 71cecd0c190a6e7e769e09ad3d567837abf13cf307ba55f93e898a8d26b4c15a 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 diff --git a/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild b/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild new file mode 100644 index 000000000..24392b3ae --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-3.3-r1.ebuild @@ -0,0 +1,169 @@ +# 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="2-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_ !" + linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat" + + 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_module 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 +}