summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shvetsov <alexxy@gentoo.org>2011-06-19 15:38:14 +0000
committerAlexey Shvetsov <alexxy@gentoo.org>2011-06-19 15:38:14 +0000
commit5173668c19056262a1fb3e15158a1d6470224b52 (patch)
treec92bfc562ce465778aa0280e31159948ea68441c /net-wireless/wpa_supplicant
parentalpha/ia64/sparc stable wrt #365447 (diff)
downloadgentoo-2-5173668c19056262a1fb3e15158a1d6470224b52.tar.gz
gentoo-2-5173668c19056262a1fb3e15158a1d6470224b52.tar.bz2
gentoo-2-5173668c19056262a1fb3e15158a1d6470224b52.zip
[net-wireless/wpa_supplicant] Fix for nm09 and systemd bug #371875
(Portage version: 2.2.0_alpha41/cvs/Linux x86_64)
Diffstat (limited to 'net-wireless/wpa_supplicant')
-rw-r--r--net-wireless/wpa_supplicant/ChangeLog12
-rw-r--r--net-wireless/wpa_supplicant/files/dbus_path_fix.patch8
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-0.7.3-dbus-api-changes.patch66
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant.service11
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-0.6.10.ebuild245
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-0.7.3-r3.ebuild (renamed from net-wireless/wpa_supplicant/wpa_supplicant-0.7.3.ebuild)32
6 files changed, 115 insertions, 259 deletions
diff --git a/net-wireless/wpa_supplicant/ChangeLog b/net-wireless/wpa_supplicant/ChangeLog
index 6bbd640e72b2..07d94c6d42e1 100644
--- a/net-wireless/wpa_supplicant/ChangeLog
+++ b/net-wireless/wpa_supplicant/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for net-wireless/wpa_supplicant
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/ChangeLog,v 1.155 2011/03/25 10:37:04 xarthisius Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/ChangeLog,v 1.156 2011/06/19 15:38:14 alexxy Exp $
+
+*wpa_supplicant-0.7.3-r3 (19 Jun 2011)
+
+ 19 Jun 2011; Alexey Shvetsov <alexxy@gentoo.org>
+ -wpa_supplicant-0.6.10.ebuild, -wpa_supplicant-0.7.3.ebuild,
+ +wpa_supplicant-0.7.3-r3.ebuild,
+ +files/wpa_supplicant-0.7.3-dbus-api-changes.patch,
+ +files/wpa_supplicant.service, -files/dbus_path_fix.patch:
+ Fix for nm09 and systemd bug #371875
+
25 Mar 2011; Kacper Kowalik <xarthisius@gentoo.org>
wpa_supplicant-0.7.3-r2.ebuild:
diff --git a/net-wireless/wpa_supplicant/files/dbus_path_fix.patch b/net-wireless/wpa_supplicant/files/dbus_path_fix.patch
deleted file mode 100644
index e6348894cccd..000000000000
--- a/net-wireless/wpa_supplicant/files/dbus_path_fix.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- dbus-wpa_supplicant.service.old 2009-04-15 23:16:19.000000000 +0000
-+++ dbus-wpa_supplicant.service 2009-04-15 23:16:29.000000000 +0000
-@@ -1,4 +1,4 @@
- [D-BUS Service]
- Name=fi.epitest.hostap.WPASupplicant
--Exec=/sbin/wpa_supplicant -u
-+Exec=/usr/sbin/wpa_supplicant -u
- User=root
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-0.7.3-dbus-api-changes.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-0.7.3-dbus-api-changes.patch
new file mode 100644
index 000000000000..2ec1a97e9fbc
--- /dev/null
+++ b/net-wireless/wpa_supplicant/files/wpa_supplicant-0.7.3-dbus-api-changes.patch
@@ -0,0 +1,66 @@
+Taken from:
+
+https://bugzilla.gnome.org/show_bug.cgi?id=644634
+
+
+From b80b5639935d37b95d00f86b57f2844a9c775f57 Mon Sep 17 00:00:00 2001
+From: Dan Williams <dcbw@redhat.com>
+Date: Fri, 17 Dec 2010 15:56:01 +0200
+Subject: [PATCH] dbus: Emit property changed events when adding/removing BSSes
+
+The supplicant was not emitting property changed events when the BSSs
+property changed.
+
+Signed-off-by: Dan Williams <dcbw@redhat.com>
+(cherry picked from commit 1e6288df6b07a353a9246b77e0de2a840b5f2c72)
+---
+ wpa_supplicant/dbus/dbus_new.c | 6 ++++++
+ wpa_supplicant/dbus/dbus_new.h | 1 +
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c
+index bdfbbac..c66640a 100644
+--- a/wpa_supplicant/dbus/dbus_new.c
++++ b/wpa_supplicant/dbus/dbus_new.c
+@@ -691,6 +691,10 @@ void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s,
+ wpas_dbus_getter_current_network;
+ prop = "CurrentNetwork";
+ break;
++ case WPAS_DBUS_PROP_BSSS:
++ getter = (WPADBusPropertyAccessor) wpas_dbus_getter_bsss;
++ prop = "BSSs";
++ break;
+ default:
+ wpa_printf(MSG_ERROR, "dbus: %s: Unknown Property value %d",
+ __func__, property);
+@@ -1199,6 +1203,7 @@ int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s,
+ }
+
+ wpas_dbus_signal_bss_removed(wpa_s, bss_obj_path);
++ wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_BSSS);
+
+ return 0;
+ }
+@@ -1263,6 +1268,7 @@ int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s,
+ }
+
+ wpas_dbus_signal_bss_added(wpa_s, bss_obj_path);
++ wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_BSSS);
+
+ return 0;
+
+diff --git a/wpa_supplicant/dbus/dbus_new.h b/wpa_supplicant/dbus/dbus_new.h
+index 80ea98c..9cdefcb 100644
+--- a/wpa_supplicant/dbus/dbus_new.h
++++ b/wpa_supplicant/dbus/dbus_new.h
+@@ -30,6 +30,7 @@ enum wpas_dbus_prop {
+ WPAS_DBUS_PROP_STATE,
+ WPAS_DBUS_PROP_CURRENT_BSS,
+ WPAS_DBUS_PROP_CURRENT_NETWORK,
++ WPAS_DBUS_PROP_BSSS,
+ };
+
+ enum wpas_dbus_bss_prop {
+--
+1.7.4-rc1
+
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant.service b/net-wireless/wpa_supplicant/files/wpa_supplicant.service
new file mode 100644
index 000000000000..4cdf16a4632e
--- /dev/null
+++ b/net-wireless/wpa_supplicant/files/wpa_supplicant.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=WPA supplicant
+
+[Service]
+Type=dbus
+BusName=fi.epitest.hostap.WPASupplicant
+ExecStart=/usr/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -u
+
+[Install]
+WantedBy=network.target
+Alias=dbus-fi.epitest.hostap.WPASupplicant.service
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-0.6.10.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-0.6.10.ebuild
deleted file mode 100644
index 9ed3ee4710fe..000000000000
--- a/net-wireless/wpa_supplicant/wpa_supplicant-0.6.10.ebuild
+++ /dev/null
@@ -1,245 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/wpa_supplicant-0.6.10.ebuild,v 1.8 2010/09/08 17:34:33 gurligebis Exp $
-
-EAPI="2"
-
-inherit eutils toolchain-funcs qt4
-
-DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
-HOMEPAGE="http://hostap.epitest.fi/wpa_supplicant/"
-SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz"
-LICENSE="|| ( GPL-2 BSD )"
-
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 x86 ~x86-fbsd"
-IUSE="dbus debug gnutls eap-sim fasteap madwifi ps3 qt4 readline ssl wps kernel_linux kernel_FreeBSD"
-
-RDEPEND="dbus? ( sys-apps/dbus )
- kernel_linux? (
- eap-sim? ( sys-apps/pcsc-lite )
- madwifi? ( ||
- ( >net-wireless/madwifi-ng-tools-0.9.3
- net-wireless/madwifi-old )
- )
- dev-libs/libnl
- )
- !kernel_linux? ( net-libs/libpcap )
- qt4? ( x11-libs/qt-gui:4
- x11-libs/qt-svg:4 )
- readline? ( sys-libs/ncurses sys-libs/readline )
- ssl? ( dev-libs/openssl )
- !ssl? ( gnutls? ( net-libs/gnutls ) )
- !ssl? ( !gnutls? ( dev-libs/libtommath ) )"
-DEPEND="${RDEPEND}
- dev-util/pkgconfig"
-
-S="${WORKDIR}/${P}/${PN}"
-
-pkg_setup() {
- if use fasteap && (use gnutls || use ssl) ; then
- die "If you use fasteap, you must build with wpa_supplicant's internal TLS implementation. That is, both 'gnutls' and 'ssl' USE flags must be disabled"
- fi
-
- if use gnutls && use ssl ; then
- einfo "You have both 'gnutls' and 'ssl' USE flags enabled: defaulting to USE=\"ssl\""
- fi
-}
-
-src_prepare() {
- # net/bpf.h needed for net-libs/libpcap on Gentoo/FreeBSD
- sed -i \
- -e "s:\(#include <pcap\.h>\):#include <net/bpf.h>\n\1:" \
- ../src/l2_packet/l2_packet_freebsd.c || die
-
- # People seem to take the example configuration file too literally (bug #102361)
- sed -i \
- -e "s:^\(opensc_engine_path\):#\1:" \
- -e "s:^\(pkcs11_engine_path\):#\1:" \
- -e "s:^\(pkcs11_module_path\):#\1:" \
- wpa_supplicant.conf || die
-
- # Change configuration to match Gentoo locations (bug #143750)
- sed -i \
- -e "s:/usr/lib/opensc:/usr/$(get_libdir):" \
- -e "s:/usr/lib/pkcs11:/usr/$(get_libdir):" \
- wpa_supplicant.conf || die
-
- epatch "${FILESDIR}/dbus_path_fix.patch"
-}
-
-src_configure() {
- # Toolchain setup
- echo "CC = $(tc-getCC)" > .config
-
- # Basic setup
- echo "CONFIG_CTRL_IFACE=y" >> .config
- echo "CONFIG_BACKEND=file" >> .config
-
- # Basic authentication methods
- # NOTE: we don't set GPSK or SAKE as they conflict
- # with the below options
- echo "CONFIG_EAP_GTC=y" >> .config
- echo "CONFIG_EAP_MD5=y" >> .config
- echo "CONFIG_EAP_OTP=y" >> .config
- echo "CONFIG_EAP_PAX=y" >> .config
- echo "CONFIG_EAP_PSK=y" >> .config
- echo "CONFIG_EAP_TLV=y" >> .config
- echo "CONFIG_IEEE8021X_EAPOL=y" >> .config
- echo "CONFIG_PKCS12=y" >> .config
- echo "CONFIG_PEERKEY=y" >> .config
- echo "CONFIG_EAP_LEAP=y" >> .config
- echo "CONFIG_EAP_MSCHAPV2=y" >> .config
- echo "CONFIG_EAP_PEAP=y" >> .config
- echo "CONFIG_EAP_TLS=y" >> .config
- echo "CONFIG_EAP_TTLS=y" >> .config
-
- if use dbus ; then
- echo "CONFIG_CTRL_IFACE_DBUS=y" >> .config
- fi
-
- if use debug ; then
- echo "CONFIG_DEBUG_FILE=y" >> .config
- fi
-
- if use eap-sim ; then
- # Smart card authentication
- echo "CONFIG_EAP_SIM=y" >> .config
- echo "CONFIG_EAP_AKA=y" >> .config
- echo "CONFIG_EAP_AKA_PRIME=y" >> .config
- echo "CONFIG_PCSC=y" >> .config
- fi
-
- if use fasteap ; then
- echo "CONFIG_EAP_FAST=y" >> .config
- fi
-
- if use readline ; then
- # readline/history support for wpa_cli
- echo "CONFIG_READLINE=y" >> .config
- fi
-
- # SSL authentication methods
- if use ssl ; then
- echo "CONFIG_TLS=openssl" >> .config
- echo "CONFIG_SMARTCARD=y" >> .config
- elif use gnutls ; then
- echo "CONFIG_TLS=gnutls" >> .config
- echo "CONFIG_GNUTLS_EXTRA=y" >> .config
- else
- echo "CONFIG_TLS=internal" >> .config
- fi
-
- if use kernel_linux ; then
- # Linux specific drivers
- echo "CONFIG_DRIVER_ATMEL=y" >> .config
- #echo "CONFIG_DRIVER_BROADCOM=y" >> .config
- #echo "CONFIG_DRIVER_HERMES=y" >> .config
- echo "CONFIG_DRIVER_HOSTAP=y" >> .config
- echo "CONFIG_DRIVER_IPW=y" >> .config
- echo "CONFIG_DRIVER_NDISWRAPPER=y" >> .config
- echo "CONFIG_DRIVER_NL80211=y" >> .config
- #echo "CONFIG_DRIVER_PRISM54=y" >> .config
- echo "CONFIG_DRIVER_RALINK=y" >> .config
- echo "CONFIG_DRIVER_WEXT=y" >> .config
- echo "CONFIG_DRIVER_WIRED=y" >> .config
-
- if use madwifi ; then
- # Add include path for madwifi-driver headers
- echo "CFLAGS += -I/usr/include/madwifi" >> .config
- echo "CONFIG_DRIVER_MADWIFI=y" >> .config
- fi
-
- if use ps3 ; then
- echo "CONFIG_DRIVER_PS3=y" >> .config
- fi
-
- elif use kernel_FreeBSD ; then
- # FreeBSD specific driver
- echo "CONFIG_DRIVER_BSD=y" >> .config
- fi
-
- # Wi-Fi Protected Setup (WPS)
- if use wps ; then
- echo "CONFIG_WPS=y" >> .config
- fi
-
- # Enable mitigation against certain attacks against TKIP
- echo "CONFIG_DELAYED_MIC_ERROR_REPORT=y" >> .config
-}
-
-src_compile() {
- emake || die "emake failed"
-
- if use qt4 ; then
- cd "${S}"/wpa_gui-qt4
- eqmake4 wpa_gui.pro
- emake || die "Qt4 wpa_gui compilation failed"
- fi
-}
-
-src_install() {
- dosbin wpa_supplicant || die
- dobin wpa_cli wpa_passphrase || die
-
- # baselayout-1 compat
- if has_version "<sys-apps/baselayout-2.0.0"; then
- dodir /sbin
- dosym /usr/sbin/wpa_supplicant /sbin/wpa_supplicant || die
- dodir /bin
- dosym /usr/bin/wpa_cli /bin/wpa_cli || die
- fi
-
- if has_version ">=sys-apps/openrc-0.5.0"; then
- newinitd "${FILESDIR}/${PN}-init.d" wpa_supplicant
- newconfd "${FILESDIR}/${PN}-conf.d" wpa_supplicant
- fi
-
- exeinto /etc/wpa_supplicant/
- newexe "${FILESDIR}/wpa_cli.sh" wpa_cli.sh
-
- dodoc ChangeLog {eap_testing,todo}.txt README{,-WPS} \
- wpa_supplicant.conf || die "dodoc failed"
-
- doman doc/docbook/*.{5,8} || die "doman failed"
-
- if use qt4 ; then
- into /usr
- dobin wpa_gui-qt4/wpa_gui || die
- fi
-
- if use qt4 ; then
- doicon wpa_gui-qt4/icons/wpa_gui.svg || die "Icon not found"
- make_desktop_entry wpa_gui "WPA Supplicant Administration GUI" "wpa_gui" "Qt;Network;"
- fi
-
- if use dbus ; then
- insinto /etc/dbus-1/system.d
- newins dbus-wpa_supplicant.conf wpa_supplicant.conf || die
- insinto /usr/share/dbus-1/system-services
- newins dbus-wpa_supplicant.service 'fi.epitest.hostap.WPASupplicant.service' || die
- keepdir /var/run/wpa_supplicant
- fi
-}
-
-pkg_postinst() {
- einfo "If this is a clean installation of wpa_supplicant, you"
- einfo "have to create a configuration file named"
- einfo "/etc/wpa_supplicant/wpa_supplicant.conf"
- einfo
- einfo "An example configuration file is available for reference in"
- einfo "/usr/share/doc/${PF}/"
-
- if [[ -e ${ROOT}etc/wpa_supplicant.conf ]] ; then
- echo
- ewarn "WARNING: your old configuration file ${ROOT}etc/wpa_supplicant.conf"
- ewarn "needs to be moved to ${ROOT}etc/wpa_supplicant/wpa_supplicant.conf"
- fi
-
- if use madwifi ; then
- echo
- einfo "This package compiles against the headers installed by"
- einfo "madwifi-old, madwifi-ng or madwifi-ng-tools."
- einfo "You should re-emerge ${PN} after upgrading these packages."
- fi
-}
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-0.7.3.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-0.7.3-r3.ebuild
index 223a2a169901..036e6b203fd5 100644
--- a/net-wireless/wpa_supplicant/wpa_supplicant-0.7.3.ebuild
+++ b/net-wireless/wpa_supplicant/wpa_supplicant-0.7.3-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/wpa_supplicant-0.7.3.ebuild,v 1.1 2010/09/08 17:34:33 gurligebis Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/wpa_supplicant-0.7.3-r3.ebuild,v 1.1 2011/06/19 15:38:14 alexxy Exp $
EAPI="2"
-inherit eutils toolchain-funcs qt4-r2
+inherit eutils toolchain-funcs qt4-r2 systemd
DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
HOMEPAGE="http://hostap.epitest.fi/wpa_supplicant/"
@@ -13,7 +13,7 @@ LICENSE="|| ( GPL-2 BSD )"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd"
-IUSE="dbus debug gnutls eap-sim fasteap madwifi ps3 qt4 readline ssl wps kernel_linux kernel_FreeBSD"
+IUSE="dbus debug gnutls eap-sim fasteap madwifi ps3 qt4 readline ssl wimax wps kernel_linux kernel_FreeBSD"
RDEPEND="dbus? ( sys-apps/dbus )
kernel_linux? (
@@ -28,6 +28,7 @@ RDEPEND="dbus? ( sys-apps/dbus )
qt4? ( x11-libs/qt-gui:4
x11-libs/qt-svg:4 )
readline? ( sys-libs/ncurses sys-libs/readline )
+ wimax? ( !net-wireless/libeap )
ssl? ( dev-libs/openssl )
!ssl? ( gnutls? ( net-libs/gnutls ) )
!ssl? ( !gnutls? ( dev-libs/libtommath ) )"
@@ -67,8 +68,15 @@ src_prepare() {
epatch "${FILESDIR}/${P}-dbus_path_fix.patch"
+ if use wimax; then
+ cd "${WORKDIR}/${P}"
+ epatch "${FILESDIR}/${P}-generate-libeap-peer.patch"
+ fi
+
# bug (320097)
epatch "${FILESDIR}/do-not-call-dbus-functions-with-NULL-path.patch"
+ # https://bugzilla.gnome.org/show_bug.cgi?id=644634
+ epatch "${FILESDIR}/${P}-dbus-api-changes.patch"
}
src_configure() {
@@ -99,6 +107,8 @@ src_configure() {
if use dbus ; then
echo "CONFIG_CTRL_IFACE_DBUS=y" >> .config
+ echo "CONFIG_CTRL_IFACE_DBUS_NEW=y" >> .config
+ echo "CONFIG_CTRL_IFACE_DBUS_INTRO=y" >> .config
fi
if use debug ; then
@@ -180,6 +190,11 @@ src_compile() {
einfo "Building wpa_supplicant"
emake || die "emake failed"
+ if use wimax; then
+ emake -C ../src/eap_peer clean || die "emake failed"
+ emake -C ../src/eap_peer || die "emake failed"
+ fi
+
if use qt4 ; then
cd "${S}"/wpa_gui-qt4
einfo "Building wpa_gui"
@@ -219,14 +234,21 @@ src_install() {
make_desktop_entry wpa_gui "WPA Supplicant Administration GUI" "wpa_gui" "Qt;Network;"
fi
+ if use wimax; then
+ emake DESTDIR="${D}" -C ../src/eap_peer install || die
+ fi
+
if use dbus ; then
cd "${S}"/dbus
insinto /etc/dbus-1/system.d
newins dbus-wpa_supplicant.conf wpa_supplicant.conf || die
insinto /usr/share/dbus-1/system-services
- doins fi.epitest.hostap.WPASupplicant.service || die
+ doins fi.epitest.hostap.WPASupplicant.service fi.w1.wpa_supplicant1.service || die
keepdir /var/run/wpa_supplicant
fi
+
+ # SystemD stuff
+ doservice "${FILESDIR}"/wpa_supplicant.service
}
pkg_postinst() {