mirror of
https://github.com/pentoo/pentoo-overlay
synced 2026-04-20 13:51:00 +02:00
compat-wireless: fixes around which linux-firmware gets pulled in for the livecd we use live, users can choose lower stable version
This commit is contained in:
parent
1650486ab3
commit
a492cdad4e
3 changed files with 302 additions and 0 deletions
|
|
@ -63,6 +63,7 @@ EBUILD compat-wireless-2.6.37-r7.ebuild 5443 RMD160 629fefa357220ebbad14d4f42979
|
|||
EBUILD compat-wireless-2.6.38.2-r1.ebuild 5641 RMD160 2a7056e079083a3cfd5ce42b8b48b51ccdfd6430 SHA1 ea2b0a1d8ce9298ead5cdca1ec5c0b43140aed32 SHA256 e226115a59b6c8b91585231ca007d8929dc5f3e4ea7e1e4807c81a2e788869a1
|
||||
EBUILD compat-wireless-2.6.38.2.ebuild 5349 RMD160 997fe67289661b4b59f7b0751745a7b186bf2417 SHA1 43983e2a9b924c11590feffa516563ec2a5add1e SHA256 de62ecf3300a5d1eb52780fb4fe784f5c3702c2ecb3d4acaef0b051d0c0ec52d
|
||||
EBUILD compat-wireless-2.6.38.ebuild 5349 RMD160 0ee4a4189fdfcf79549f1322149ca562b4ac8f8a SHA1 d2d22dfa0a7d3fc663779a680d7ac489f02740f5 SHA256 6e842396c1d468750be6a91fd94a784168d56b68513a3e9e660fc0e97c556556
|
||||
EBUILD compat-wireless-2.6.39-r1.ebuild 5452 RMD160 1e94343fe9c6d9838e6f994d6e5658a61c08a798 SHA1 1ad16e6549bc80bfdd5a84eb34e4ca35dfb7605d SHA256 d70143900414fa425e16373d590d446adace3802e8a842b035ea52d7f2f8f0b5
|
||||
EBUILD compat-wireless-2.6.39.ebuild 5382 RMD160 4f1b067f349d834650b408e5cfebc11b79226aec SHA1 a6dadf05bbf97b1ddfdd9eec83be8ed89bac658b SHA256 3bd8be9cfeb76de4967e365b116dff8e13469410aa44f91bcb458f94afdbd259
|
||||
EBUILD compat-wireless-2.6.39_rc1-r1.ebuild 5727 RMD160 86cf72f78c3de95e3a7a619f0094bd1136af792b SHA1 2639c2f356e69321664d507a9ce59e549be3089b SHA256 2a18b6d63c7c4add6b355247feb1228810e4f34914d64d493f374b047aafa0cd
|
||||
EBUILD compat-wireless-2.6.39_rc1.ebuild 5352 RMD160 843acbacc6d8c1c30c873f4e050a757314ab8707 SHA1 ba8ba48bf7acf5d1287faa287022ecafcdec7732 SHA256 9f24ba20c29c1efe402c51e56ca5f716d680b0ebc5507d66132d74552d3cf6b0
|
||||
|
|
@ -72,5 +73,6 @@ EBUILD compat-wireless-3.0_rc4-r1.ebuild 5613 RMD160 f70a05365a265407451eed6a74b
|
|||
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.ebuild 5650 RMD160 bffef5f32337d8eda8d25fd9cc427c3da68c8d97 SHA1 c05e8892f913a642681531977f7b6a18ea528387 SHA256 95d1fdbe4fb38d72bb0ee3f4a814ea6aa9bbee1a4b4da35aa1747605a74c84a3
|
||||
MISC metadata.xml 228 RMD160 cd3fb26b5d8049ab5dba38f21d7654ec033aa0eb SHA1 3148dfbdced7a623a311d21c6f728ab9c7135dae SHA256 8715828d1bff71d5d96b991ba600bae9376c1c80c96f0f102260fc335ca22487
|
||||
|
|
|
|||
137
net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild
Normal file
137
net-wireless/compat-wireless/compat-wireless-2.6.39-r1.ebuild
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
# 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-3)
|
||||
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
|
||||
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
|
||||
CRAZY_VERSIONING="1-sn"
|
||||
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="arm amd64 x86"
|
||||
IUSE="atheros_obey_crda debugfs debug-driver full-debug injection livecd noleds tinyversionoverride"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
|
||||
!livecd? ( >=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"
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
163
net-wireless/compat-wireless/compat-wireless-3.0_rc4-r5.ebuild
Normal file
163
net-wireless/compat-wireless/compat-wireless-3.0_rc4-r5.ebuild
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
# 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
|
||||
}
|
||||
Loading…
Reference in a new issue