1 |
Summary: Linux WPA Supplicant (IEEE 802.1X, WPA, WPA2, RSN, IEEE 802.11i) |
2 |
Name: wpa_supplicant |
3 |
Version: 1.1 |
4 |
Release: %mkrel 4 |
5 |
License: GPL |
6 |
Group: Communications/Mobile |
7 |
URL: http://hostap.epitest.fi/wpa_supplicant/ |
8 |
Source0: http://hostap.epitest.fi/releases/wpa_supplicant-%{version}.tar.gz |
9 |
Source1: wpa_supplicant.service |
10 |
Source2: wpa_supplicant.sysconfig |
11 |
Source3: wpa_supplicant.logrotate |
12 |
Source4: wpa_supplicant.tmpfiles |
13 |
Patch1: wpa_supplicant-1.0-mga-defconfig.patch |
14 |
# should be safe to just bump MAX_WEP_KEY_LEN to 32 |
15 |
# http://lists.shmoo.com/pipermail/hostap/2005-October/011787.html |
16 |
Patch2: wpa_supplicant-0.6.3-WEP232.patch |
17 |
Patch5: wpa_supplicant-1.0-mga-dbus-service-file-args.patch |
18 |
Patch7: wpa_supplicant-0.7.3-copy-wpa_scan_results_free-for-wpa_priv.patch |
19 |
# quiet an annoying and frequent syslog message |
20 |
Patch8: wpa_supplicant-quiet-scan-results-message.patch |
21 |
# works around busted drivers by increasing association timeout |
22 |
Patch10: wpa_supplicant-assoc-timeout.patch |
23 |
Patch11: wpa_supplicant-0.7.3-fix-wpa_priv-eloop_signal_handler-casting.patch |
24 |
Patch13: wpa_supplicant-1.0-do-not-call-dbus-functions-with-NULL-path.patch |
25 |
Patch15: wpa_supplicant-1.0-libnl3.patch |
26 |
BuildRequires: dbus-devel |
27 |
BuildRequires: libopenssl-devel |
28 |
BuildRequires: pcsc-lite-devel |
29 |
BuildRequires: readline-devel |
30 |
BuildRequires: ncurses-devel |
31 |
BuildRequires: doxygen |
32 |
BuildRequires: qt4-devel |
33 |
BuildRequires: libnl3-devel |
34 |
Requires(post): systemd >= %{systemd_required_version} |
35 |
|
36 |
%description |
37 |
wpa_supplicant is a WPA Supplicant for Linux, BSD and Windows with |
38 |
support for WPA and WPA2 (IEEE 802.11i / RSN). Supplicant is the IEEE |
39 |
802.1X/WPA component that is used in the client stations. It |
40 |
implements key negotiation with a WPA Authenticator and it controls |
41 |
the roaming and IEEE 802.11 authentication/association of the wlan |
42 |
driver. |
43 |
|
44 |
wpa_supplicant is designed to be a "daemon" program that runs in the |
45 |
background and acts as the backend component controlling the wireless |
46 |
connection. wpa_supplicant supports separate frontend programs and an |
47 |
example text-based frontend, wpa_cli, is included with wpa_supplicant. |
48 |
|
49 |
Supported WPA/IEEE 802.11i features: |
50 |
* WPA-PSK ("WPA-Personal") |
51 |
* WPA with EAP (e.g., with RADIUS authentication server) |
52 |
("WPA-Enterprise") |
53 |
* key management for CCMP, TKIP, WEP104, WEP40 |
54 |
* WPA and full IEEE 802.11i/RSN/WPA2 |
55 |
* RSN: PMKSA caching, pre-authentication |
56 |
|
57 |
See the project web site or the eap_testing.txt file for a complete |
58 |
list of supported EAP methods (IEEE 802.1X Supplicant), supported |
59 |
drivers and interoperability testing. |
60 |
|
61 |
%package gui |
62 |
Group: System/Networking |
63 |
Summary: Graphical tool for wpa_supplicant |
64 |
Obsoletes: wpa_gui |
65 |
Conflicts: wpa_supplicant < 1.0-3 |
66 |
|
67 |
%description gui |
68 |
wpa_gui is a QT frontend for wpa_supplicant. |
69 |
wpa_supplicant is a WPA Supplicant for Linux, BSD and Windows with |
70 |
support for WPA and WPA2 (IEEE 802.11i / RSN). |
71 |
|
72 |
%prep |
73 |
%setup -q |
74 |
%patch1 -p1 -b .conf |
75 |
%patch2 -p1 -b .WEP232 |
76 |
%patch5 -p1 -b .service-file-args |
77 |
%patch7 -p1 -b .wpa_priv_func |
78 |
%patch8 -p1 -b .quiet-scan-results-msg |
79 |
%patch10 -p1 -b .assoc-timeout |
80 |
%patch11 -p1 -b .wpa_priv_cast |
81 |
%patch13 -p1 -b .null |
82 |
%patch15 -p1 |
83 |
|
84 |
pushd wpa_supplicant |
85 |
# (blino) comment all "network = { }" blocks |
86 |
perl -pi -e '$_ = "# $_" if /^\s*network\s*=\s*{/ .. /^\s*}/' wpa_supplicant.conf |
87 |
cp defconfig .config |
88 |
popd |
89 |
|
90 |
%build |
91 |
%setup_compile_flags |
92 |
|
93 |
pushd wpa_supplicant |
94 |
# yes, BINDIR=_sbindir |
95 |
export BINDIR="%{_sbindir}" |
96 |
export LIBDIR="%{_libdir}" |
97 |
%make |
98 |
%make eapol_test |
99 |
|
100 |
pushd wpa_gui-qt4 |
101 |
%qmake_qt4 |
102 |
%make |
103 |
popd |
104 |
popd |
105 |
|
106 |
%install |
107 |
rm -rf %{buildroot} |
108 |
|
109 |
install -D -m 0755 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service |
110 |
install -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name} |
111 |
install -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} |
112 |
install -D -m 0644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/%{name}.conf |
113 |
|
114 |
pushd wpa_supplicant |
115 |
|
116 |
# binaries |
117 |
install -d %{buildroot}%{_sbindir} |
118 |
install -m 755 wpa_supplicant %{buildroot}/%{_sbindir} |
119 |
install -m 755 wpa_cli %{buildroot}/%{_sbindir} |
120 |
install -m 755 wpa_passphrase %{buildroot}/%{_sbindir} |
121 |
install -m 755 eapol_test %{buildroot}%{_sbindir} |
122 |
|
123 |
# gui |
124 |
install -d %{buildroot}%{_bindir} |
125 |
install -m 755 wpa_gui-qt4/wpa_gui %{buildroot}%{_bindir} |
126 |
|
127 |
# config |
128 |
install -d -m 755 %{buildroot}%{_sysconfdir} |
129 |
install -m 600 wpa_supplicant.conf %{buildroot}%{_sysconfdir}/wpa_supplicant.conf |
130 |
|
131 |
# dbus |
132 |
install -d %{buildroot}%{_sysconfdir}/dbus-1/system.d |
133 |
install -d %{buildroot}%{_datadir}/dbus-1/system-services |
134 |
install -m 644 dbus/dbus-wpa_supplicant.conf \ |
135 |
%{buildroot}%{_sysconfdir}/dbus-1/system.d/wpa_supplicant.conf |
136 |
install -m 644 dbus/fi.epitest.hostap.WPASupplicant.service \ |
137 |
%{buildroot}%{_datadir}/dbus-1/system-services |
138 |
install -m 0644 dbus/fi.w1.wpa_supplicant1.service \ |
139 |
%{buildroot}%{_datadir}/dbus-1/system-services |
140 |
|
141 |
# man pages |
142 |
install -d -m 755 %{buildroot}%{_mandir}/man{5,8} |
143 |
install -m 644 doc/docbook/*.8 %{buildroot}%{_mandir}/man8 |
144 |
install -m 644 doc/docbook/*.5 %{buildroot}%{_mandir}/man5 |
145 |
|
146 |
popd |
147 |
|
148 |
%post |
149 |
%_tmpfilescreate %{name} |
150 |
|
151 |
%files |
152 |
%doc wpa_supplicant/ChangeLog wpa_supplicant/README wpa_supplicant/eap_testing.txt wpa_supplicant/todo.txt |
153 |
%doc wpa_supplicant/examples/*.conf |
154 |
%attr(0600,root,daemon) %config(noreplace) %{_sysconfdir}/wpa_supplicant.conf |
155 |
%config(noreplace) %{_sysconfdir}/logrotate.d/wpa_supplicant |
156 |
%config(noreplace) %{_sysconfdir}/sysconfig/wpa_supplicant |
157 |
%{_unitdir}/wpa_supplicant.service |
158 |
%{_tmpfilesdir}/wpa_supplicant.conf |
159 |
%{_sbindir}/wpa_cli |
160 |
%{_sbindir}/wpa_passphrase |
161 |
%{_sbindir}/wpa_supplicant |
162 |
%{_sbindir}/eapol_test |
163 |
%{_sysconfdir}/dbus-1/system.d/wpa_supplicant.conf |
164 |
%{_datadir}/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service |
165 |
# Uncomment after it is enabled |
166 |
%{_datadir}/dbus-1/system-services/fi.w1.wpa_supplicant1.service |
167 |
%{_mandir}/man8/* |
168 |
%exclude %{_mandir}/man8/wpa_gui.8.* |
169 |
%{_mandir}/man5/* |
170 |
|
171 |
%files gui |
172 |
%{_bindir}/wpa_gui |
173 |
%{_mandir}/man8/wpa_gui.8.* |