diff options
author | Bertrand Jacquin <beber@meleeweb.net> | 2013-06-12 19:26:11 +0200 |
---|---|---|
committer | Bertrand Jacquin <beber@meleeweb.net> | 2013-06-12 19:26:11 +0200 |
commit | 6d89328d6ae0fd0854be1b2a020c69d48a1b2132 (patch) | |
tree | 9edd174ec044fd56b9ed7ede8dbbbb24b3861350 | |
parent | net-wireless/hostapd: Refresh with upstream v2.0, remove old and live ebuild (diff) | |
download | portage-6d89328d6ae0fd0854be1b2a020c69d48a1b2132.tar.xz |
net-wireless/hostapd: Implement savedconfig, see #473124
Package-Manager: portage-2.1.12.4
-rw-r--r-- | metadata/md5-cache/net-wireless/hostapd-2.0 | 6 | ||||
-rw-r--r-- | net-wireless/hostapd/ChangeLog | 3 | ||||
-rw-r--r-- | net-wireless/hostapd/Manifest | 4 | ||||
-rw-r--r-- | net-wireless/hostapd/hostapd-2.0.ebuild | 147 |
4 files changed, 83 insertions, 77 deletions
diff --git a/metadata/md5-cache/net-wireless/hostapd-2.0 b/metadata/md5-cache/net-wireless/hostapd-2.0 index f9f2228d..9f0ba680 100644 --- a/metadata/md5-cache/net-wireless/hostapd-2.0 +++ b/metadata/md5-cache/net-wireless/hostapd-2.0 @@ -3,11 +3,11 @@ DEPEND=ssl? ( dev-libs/openssl ) kernel_linux? ( dev-libs/libnl:3 crda? ( net-wi DESCRIPTION=IEEE 802.11 wireless LAN Host AP daemon EAPI=4 HOMEPAGE=http://hostap.epitest.fi -IUSE=ipv6 logwatch madwifi +ssl +wps +crda +IUSE=ipv6 logwatch madwifi +ssl +wps +crda savedconfig KEYWORDS=amd64 ~mips ppc x86 LICENSE=|| ( GPL-2 BSD ) RDEPEND=ssl? ( dev-libs/openssl ) kernel_linux? ( dev-libs/libnl:3 crda? ( net-wireless/crda ) ) madwifi? ( || ( >net-wireless/madwifi-ng-tools-0.9.3 net-wireless/madwifi-old ) ) SLOT=0 SRC_URI=http://hostap.epitest.fi/releases/hostapd-2.0.tar.gz -_eclasses_=eutils f31a0ec0d081047cbf9c0bbb4822d831 multilib 892e597faee02a5b94eb02ab512e7622 toolchain-funcs 7ffd28a8c7eea27218865352bfd3ab2f user d0a4d0735a6c0183d707ca919bd72f28 -_md5_=b46f03d2db39006d10965eba5fe89ca9 +_eclasses_=eutils f31a0ec0d081047cbf9c0bbb4822d831 flag-o-matic d900015de4e092f26d8c0a18b6bd60de multilib 892e597faee02a5b94eb02ab512e7622 portability 536c5e70c5fb252ed3b769e04aa3f05b savedconfig 5313100f525c41f6c72c6e04edeb4f65 toolchain-funcs 7ffd28a8c7eea27218865352bfd3ab2f user d0a4d0735a6c0183d707ca919bd72f28 +_md5_=ac9ee11f7a2e95c5e5e79c12779f9739 diff --git a/net-wireless/hostapd/ChangeLog b/net-wireless/hostapd/ChangeLog index 5e87a3ef..38bed2f0 100644 --- a/net-wireless/hostapd/ChangeLog +++ b/net-wireless/hostapd/ChangeLog @@ -2,6 +2,9 @@ # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 12 Jun 2013; Bertrand Jacquin <beber@meleeweb.net> hostapd-2.0.ebuild: + net-wireless/hostapd: Implement savedconfig, see #473124 + *hostapd-2.0 (12 Jun 2013) 12 Jun 2013; Bertrand Jacquin <beber@meleeweb.net> +files/hostapd-2.0-tls_length_fix.patch, diff --git a/net-wireless/hostapd/Manifest b/net-wireless/hostapd/Manifest index ae8e869a..5e00a83e 100644 --- a/net-wireless/hostapd/Manifest +++ b/net-wireless/hostapd/Manifest @@ -2,6 +2,6 @@ AUX hostapd-2.0-tls_length_fix.patch 1859 SHA256 bbca0422a0babbf9d7fad2b758ecdda AUX hostapd-conf.d 245 SHA256 916f4b14095ee4ec8a510391c883e9f01868e18d79a3d5cbeb13a104a793d45d WHIRLPOOL 0ab1dbd8e04df9e7b8ae875dfdfdcdd770e4fcb62197bb81e47588a9ecf0b8bb715adbde34f2be82d630fdd536e9f888f463dd12cab0c06220c345b0093a3dd5 AUX hostapd-init.d 1022 SHA256 a220058841e66a11603df8e968ccc68945f01e1d11c1ae498922d0e01f6fa804 WHIRLPOOL e86f507cff5712ff2590f39c58989a379b81feb40cedcd424188e055ac38f772a7bb9c1089efabd6ff104078257aa2a20a82790e17b085c03264d35b6f4e274d DIST hostapd-2.0.tar.gz 1376203 SHA256 262ce394b930bccc3d65fb99ee380f28d36444978f524c845a98e8e29f4e9d35 WHIRLPOOL e5ae2e760770d2f307b1c4235c9b0c9d25e1719a1d174efa30ce6bbbc07b5c46d5f7babc087b8f450f3b485fb640728ddd23761fb292bcd535ef38dc10ac1d45 -EBUILD hostapd-2.0.ebuild 5370 SHA256 041e10f0d8b99b5c45c430b84536e1d2123fe3d91dd890cec26aef0d3a4e98b4 WHIRLPOOL dd51c7e03560e8b567b4a171285d6bf1b3bc4bf65c557736a445069ed96c32c3416618c72af1a3f8ed0ecd0d145ba223c6a4a54c249a40db0908402e1f4b2825 -MISC ChangeLog 1232 SHA256 0c48460c4cba163e7b117ec7a46df696326d1080983739d970a6955f5d05be12 WHIRLPOOL 7bfac5e18730973cc63cf630d570840a7007a656ff9b465174f52081f0ac0f9f6970413a6931d01f3f8c27d0c5064a8953c506bc2e37b2af8ce3b7a72e27e7db +EBUILD hostapd-2.0.ebuild 5502 SHA256 3349c9ddb691b6ca40d75d16af34b6f790b967d23bb06af6f1be408ca868ba35 WHIRLPOOL 57d059963e4cb566f5209c311e95d75300d1c2fcadd7f6713138a96bebb0d1e10a2ff6ff49467b41300ce05c56802217d8913b5edfb4be28e83135a9c25a8a4b +MISC ChangeLog 1365 SHA256 19c4a14738e270463f1e25abc8d841fb2b8de63a38492524db91fca2f37f7167 WHIRLPOOL cd66d11bbb9104c2e06b4d42deea264680550284b6cf31c8580c61eb197bf593159bfcf0d44b28cfd15b45f6e9d3394803deaf47bf774cc2eac86185138540be MISC metadata.xml 820 SHA256 ccdd3f08f7a60f9c685389b6b6cdc7171fab3547abe77329441c92acd64205f3 WHIRLPOOL 882cc3f01cf8f006e46f30332ebb02c44224e741aead2c619536970199805ff7724dfc8f8013e91e22afc21ea6cef3f002036d7d2662cf97843d9d71f562b84a diff --git a/net-wireless/hostapd/hostapd-2.0.ebuild b/net-wireless/hostapd/hostapd-2.0.ebuild index 8366a210..b1d328cb 100644 --- a/net-wireless/hostapd/hostapd-2.0.ebuild +++ b/net-wireless/hostapd/hostapd-2.0.ebuild @@ -4,7 +4,7 @@ EAPI="4" -inherit toolchain-funcs eutils +inherit toolchain-funcs eutils savedconfig flag-o-matic DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" HOMEPAGE="http://hostap.epitest.fi" @@ -35,95 +35,96 @@ src_prepare() { "${S}/hostapd.conf" || die } -src_configure() { - local CONFIG="${S}/.config" - - # toolchain setup - echo "CC = $(tc-getCC)" > ${CONFIG} - - # EAP authentication methods - echo "CONFIG_EAP=y" >> ${CONFIG} - echo "CONFIG_EAP_MD5=y" >> ${CONFIG} +hostapd_config_option() { + local key="$1" ; shift + local val="$@" - if use ssl; then - # SSL authentication methods - echo "CONFIG_EAP_TLS=y" >> ${CONFIG} - echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} - echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} - echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} + if ! grep -qE "^(#| )*CONFIG_${key}[ =]" "${CONFIG}" ; then + eqawarn "CONFIG_${key} is missing in defconfig" + echo >> "${CONFIG}" + echo "# .config imported from ${S}/defconfig is missing CONFIG_${key}" >> "${CONFIG}" + echo "# CONFIG_${key} is not set" >> "${CONFIG}" fi - if use wps; then - # Enable Wi-Fi Protected Setup - echo "CONFIG_WPS=y" >> ${CONFIG} - echo "CONFIG_WPS2=y" >> ${CONFIG} - echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} - einfo "Enabling Wi-Fi Protected Setup support" + if [[ ${val} == "n" ]] ; then + sed -i -re "s:^(#| )*CONFIG_${key}[ =].*:# CONFIG_${key} is not set:" "${CONFIG}" + else + sed -i -re "s:^(#| )*CONFIG_${key}[ =].*:CONFIG_${key}=${val}:" "${CONFIG}" fi - echo "CONFIG_EAP_GTC=y" >> ${CONFIG} - echo "CONFIG_EAP_SIM=y" >> ${CONFIG} - echo "CONFIG_EAP_AKA=y" >> ${CONFIG} - echo "CONFIG_EAP_PAX=y" >> ${CONFIG} - echo "CONFIG_EAP_PSK=y" >> ${CONFIG} - echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} + einfo $(grep -E "^(#| )*CONFIG_${key}[ =]" "${CONFIG}") +} - einfo "Enabling drivers: " +src_configure() { + tc-export CC - # drivers - echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} - einfo " HostAP driver enabled" - echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} - einfo " Wired driver enabled" - echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} - einfo " Prism54 driver enabled" - echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} - einfo " None driver enabled" + #append-libs -L/usr/lib + # Add include path for madwifi-driver headers + use madwifi && append-cflags -I/usr/include/madwifi - if use madwifi; then - # Add include path for madwifi-driver headers - einfo " Madwifi driver enabled" - echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG} - echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} - else - einfo " Madwifi driver disabled" - fi + CONFIG="${S}/.config" + restore_config "${CONFIG}" - einfo " nl80211 driver enabled" - echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} - echo "LIBS += -L/usr/lib" >> ${CONFIG} + [[ -f "${CONFIG}" ]] && return 0 + + einfo "Generating configuration based on defconfig" + cp "${S}/defconfig" "${CONFIG}" + + # EAP authentication methods + hostapd_config_option EAP y + hostapd_config_option EAP_MD5 y + + # SSL authentication methods + hostapd_config_option EAP_TLS $(usex ssl y n) + hostapd_config_option EAP_TTLS $(usex ssl y n) + hostapd_config_option EAP_MSCHAPV2 $(usex ssl y n) + hostapd_config_option EAP_PEAP $(usex ssl y n) + + # Enable Wi-Fi Protected Setup + hostapd_config_option WPS $(usex wps y n) + hostapd_config_option WPS2 $(usex wps y n) + hostapd_config_option WPS_UPNP $(usex wps y n) + + hostapd_config_option EAP_GTC y + hostapd_config_option EAP_SIM y + hostapd_config_option EAP_AKA y + hostapd_config_option EAP_PAX y + hostapd_config_option EAP_PSK y + hostapd_config_option EAP_SAKE y + hostapd_config_option EAP_GPSK y + hostapd_config_option EAP_GPSK_SHA256 y + + # drivers + # TODO: Add support for BSD drivers + hostapd_config_option DRIVER_HOSTAP y + hostapd_config_option DRIVER_WIRED y + hostapd_config_option DRIVER_NONE y + hostapd_config_option DRIVER_MADWIFI $(usex madwifi y n) + hostapd_config_option DRIVER_NL80211 y # misc - echo "CONFIG_PKCS12=y" >> ${CONFIG} - echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} - echo "CONFIG_IAPP=y" >> ${CONFIG} - echo "CONFIG_IEEE80211R=y" >> ${CONFIG} - echo "CONFIG_IEEE80211W=y" >> ${CONFIG} - echo "CONFIG_IEEE80211N=y" >> ${CONFIG} - echo "CONFIG_PEERKEY=y" >> ${CONFIG} - echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} - echo "CONFIG_INTERWORKING=y" >> ${CONFIG} - - if use ipv6; then - # IPv6 support - echo "CONFIG_IPV6=y" >> ${CONFIG} - fi + hostapd_config_option PKCS12 y + hostapd_config_option RADIUS_SERVER y + hostapd_config_option IAPP y + hostapd_config_option IEEE80211R y + hostapd_config_option IEEE80211W y + hostapd_config_option IEEE80211N y + hostapd_config_option PEERKEY y + hostapd_config_option RSN_PREAUTH y + hostapd_config_option INTERWORKING y + + # IPv6 support + hostapd_config_option IPV6 $(usex ipv6 y n) # If we are using libnl 2.0 and above, enable support for it # Removed for now, since the 3.2 version is broken, and we don't # support it. if has_version ">=dev-libs/libnl-3.2"; then - echo "CONFIG_LIBNL32=y" >> .config + hostapd_config_option LIBNL32 y + else + hostapd_config_option LIBNL32 n fi - echo "CONFIG_VLAN_NETLINK=y" >> ${CONFIG} -# echo "CFLAGS+=-I${ROOT}usr/include/libnl3" >> ${CONFIG} - echo "CONFIG_FULL_DYNAMIC_VLAN=y" >> ${CONFIG} - - # TODO: Add support for BSD drivers - default_src_configure } @@ -137,6 +138,8 @@ src_compile() { } src_install() { + save_config "${CONFIG}" + insinto /etc/${PN} doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk} |