summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Jacquin <beber@meleeweb.net>2013-06-12 19:26:11 +0200
committerBertrand Jacquin <beber@meleeweb.net>2013-06-12 19:26:11 +0200
commit6d89328d6ae0fd0854be1b2a020c69d48a1b2132 (patch)
tree9edd174ec044fd56b9ed7ede8dbbbb24b3861350
parentnet-wireless/hostapd: Refresh with upstream v2.0, remove old and live ebuild (diff)
downloadportage-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.06
-rw-r--r--net-wireless/hostapd/ChangeLog3
-rw-r--r--net-wireless/hostapd/Manifest4
-rw-r--r--net-wireless/hostapd/hostapd-2.0.ebuild147
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}