Magellan Linux

Contents of /smage/trunk/core/wpa-supplicant/wpa-supplicant-2.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4554 - (show annotations) (download)
Sat Mar 16 20:55:41 2013 UTC (11 years, 2 months ago) by niro
File size: 6527 byte(s)
auto added: ver bump to 2.0-r1
1 # $Id$
2
3 PNAME="wpa-supplicant"
4 PVER="2.0"
5 PBUILD="r1"
6
7 PCAT="net-wlan"
8
9 DESCRIPTION="Linux WPA/WPA2/IEEE 802.1X Supplicant."
10 HOMEPAGE="http://hostap.epitest.fi/wpa_supplicant/"
11
12 DEPEND=">= sys-apps/dbus-1.6
13 >= dev-libs/libnl3-3.2.18
14 >= dev-libs/libtommath-0.42"
15
16 SRCFILE="${PNAME/-/_}-${PVER}.tar.gz"
17 SRCDIR="${BUILDDIR}/${PNAME/-/_}-${PVER}"
18
19 # confd cvs revision
20 CONF_CVS_REV=1.3
21 SKEL_CVS_REV=1.3
22
23 ALX_PKG_KEEP="etc/conf.d
24 usr/sbin/wpa_supplicant
25 usr/bin/wpa_cli
26 usr/bin/wpa_passphrase
27 etc/dbus-1/system.d
28 usr/share/dbus-1/system-services"
29
30 sminclude mtools alx-split
31
32 SRC_URI=(
33 http://hostap.epitest.fi/releases/${SRCFILE}
34 mirror://${PNAME}/${SRCFILE}
35 mirror://${PNAME}/confd-wpa_supplicant.skel-${SKEL_CVS_REV}
36 mirror://${PNAME}/confd-wpa_supplicant-${CONF_CVS_REV}
37 )
38
39 # latest stable branch
40 UP2TAG="stable"
41 # latest devel branch
42 #UP2TAG="development"
43 UP2DATE="updatecmd ${HOMEPAGE} | grep -A1 'Latest ${UP2TAG}' | sed -n 's/.*-\(.*\).tar.*/\1/;$ p'"
44
45 src_prepare()
46 {
47 local CONFIG=${SRCDIR}/wpa_supplicant/.config
48 munpack ${SRCFILE} || die
49 cd ${SRCDIR}/wpa_supplicant
50
51 # broken Makefile
52 sed -i 's@/usr/local@$(PREFIX)@g' Makefile
53
54
55 # basic setup
56 echo "CONFIG_CTRL_IFACE=y" >> ${CONFIG} || die
57 echo "CONFIG_BACKEND=file" >> ${CONFIG} || die
58 echo "CONFIG_NO_RANDOM_POOL=y" >> ${CONFIG} || die
59
60 # dbus support
61 echo "CONFIG_CTRL_IFACE_DBUS=y" >> ${CONFIG}
62 # Add support for new DBus control interface
63 # (fi.w1.hostap.wpa_supplicant1)
64 echo "CONFIG_CTRL_IFACE_DBUS_NEW=y" >> ${CONFIG}
65 # Add introspection support for new DBus control interface
66 echo "CONFIG_CTRL_IFACE_DBUS_INTRO=y" >> ${CONFIG}
67
68 # not for alx
69 # # readline
70 # echo "CONFIG_READLINE=y" >> ${CONFIG}
71
72 # libnl-3.2
73 echo "CONFIG_LIBNL32=y" >> ${CONFIG}
74
75 # wi-fi protected setup (WPS) support
76 echo "CONFIG_WPS=y" >> ${CONFIG} || die
77 # enable WPS support with NFC config method
78 echo "CONFIG_WPS_NFC=y" >> ${CONFIG} || die
79
80 # # enable mitigation against certain attacks against TKIP
81 # echo "CONFIG_DELAYED_MIC_ERROR_REPORT=y" >> ${CONFIG} || die
82
83 # # no debug
84 # echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG} || die
85
86 # add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
87 echo "CONFIG_DEBUG_FILE=y" >> ${CONFIG} || die
88
89 # support HT overrides (disable HT/HT40, mask MCS rates, etc.)
90 echo "CONFIG_HT_OVERRIDES=y" >> ${CONFIG} || die
91
92 # AP mode operations
93 echo "CONFIG_AP=y" >> ${CONFIG} || die
94
95 # P2P (Wi-Fi Direct)
96 echo "CONFIG_P2P=y" >> ${CONFIG} || die
97
98 # autoscan
99 echo "CONFIG_AUTOSCAN_EXPONENTIAL=y" >> ${CONFIG} || die
100 # for periodic module:
101 echo "CONFIG_AUTOSCAN_PERIODIC=y" >> ${CONFIG} || die
102
103 # RSN IBSS/AdHoc support
104 echo "CONFIG_IBSS_RSN=y" >> ${CONFIG} || die
105
106 # simple background scan
107 echo "CONFIG_BGSCAN_SIMPLE=y" >> ${CONFIG} || die
108
109 # basic authentication methods
110 echo "CONFIG_EAP_GTC=y" >> ${CONFIG} || die
111 echo "CONFIG_EAP_MD5=y" >> ${CONFIG} || die
112 echo "CONFIG_EAP_OTP=y" >> ${CONFIG} || die
113 # echo "CONFIG_EAP_PSK=y" >> ${CONFIG} || die
114 echo "CONFIG_IEEE8021X_EAPOL=y" >> ${CONFIG} || die
115 echo "CONFIG_PKCS12=y" >> ${CONFIG} || die
116 # echo "CONFIG_PAX=y" >> ${CONFIG} || die
117 # echo "CONFIG_TLV=y" >> ${CONFIG} || die
118 echo "CONFIG_PEERKEY=y" >> ${CONFIG} || die
119 # echo "CONFIG_EAP_PAX=y" >> ${CONFIG} || die
120 # echo "CONFIG_EAP_TLV=y" >> ${CONFIG} || die
121
122 # ssl authentication methods
123 # alx has no openssl but libtommath
124 # echo "CONFIG_TLS=openssl" >> ${CONFIG} || die
125 # needs libtommath but is a very small replacement for openssl
126 echo "CONFIG_TLS=internal" >> ${CONFIG} || die
127 echo "CONFIG_EAP_LEAP=y" >> ${CONFIG} || die
128 echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} || die
129 echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} || die
130 echo "CONFIG_EAP_TLS=y" >> ${CONFIG} || die
131 echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} || die
132 echo "CONFIG_SMARTCARD=y" >> ${CONFIG} || die
133
134 # linux specific drivers
135 # echo "CONFIG_WIRELESS_EXTENSION=y" >> ${CONFIG} || die
136 # echo "CONFIG_DRIVER_ATMEL=y" >> ${CONFIG} || die
137 # echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} || die
138 # echo "CONFIG_DRIVER_IPW=y" >> ${CONFIG} || die
139 # echo "CONFIG_DRIVER_NDISWRAPPER=y" >> ${CONFIG} || die
140 echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} || die
141 # echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} || die
142 # echo "CONFIG_DRIVER_RALINK=y" >> ${CONFIG} || die
143 echo "CONFIG_DRIVER_WEXT=y" >> ${CONFIG} || die
144 echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} || die
145 # echo "CONFIG_DRIVER_BROADCOM=y" >> ${CONFIG} || die
146 # echo "CONFIG_DRIVER_HERMES=y" >> ${CONFIG} || die
147 # needs madwifi headers
148 # echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} || die
149 }
150
151 src_compile()
152 {
153 cd ${SRCDIR}/wpa_supplicant
154 mmake PREFIX=/usr BINDIR=/usr/bin LIBDIR=/usr/$(mlibdir) || die
155 }
156
157 alx_generic_src_install()
158 {
159 cd ${SRCDIR}/wpa_supplicant
160 make PREFIX=/usr BINDIR=/usr/bin LIBDIR=/usr/$(mlibdir) DESTDIR=${BINDIR} install || die
161
162 # config
163 minstalldir /etc/wpa_supplicant
164 minstallfile wpa_supplicant.conf /etc/wpa_supplicant/ || die
165
166 # skeletons
167 minstallconf confd-wpa_supplicant.skel-${SKEL_CVS_REV} wpa_supplicant.skel || die
168
169 # rc-config
170 minstallconf confd-wpa_supplicant-${CONF_CVS_REV} wpa_supplicant || die
171
172 # dbus
173 minstalldir /etc/dbus-1/system.d || die
174 minstallfile dbus/dbus-wpa_supplicant.conf /etc/dbus-1/system.d/wpa_supplicant.conf || die
175 minstalldir /usr/share/dbus-1/system-services || die
176 minstallfile dbus/fi.epitest.hostap.WPASupplicant.service /usr/share/dbus-1/system-services/ || die
177 minstallfile dbus/fi.w1.wpa_supplicant1.service /usr/share/dbus-1/system-services/ || die
178
179 # systemd services
180 local i
181 for i in systemd/*.service
182 do
183 minstallunit "${i}" || die "${i}"
184 done
185
186 # man pages
187 minstallman doc/docbook/*.8 || die
188 minstallman doc/docbook/*.5 || die
189 # but not priv pages
190 rm -f ${BINDIR}/usr/share/man/man8/wpa_{priv,gui}.8 || die
191
192 minstalldocs COPYING wpa_supplicant/ChangeLog wpa_supplicant/README* || die
193 }
194
195 preinstall()
196 {
197 add_conf_prot_mask /etc/conf.d
198 }
199
200 postinstall()
201 {
202 if [ -f ${MROOT}/etc/wpa_supplicant.conf.example ]
203 then
204 rm ${MROOT}/etc/wpa_supplicant.conf.example
205 fi
206
207 # migrate config
208 if [ -f ${MROOT}/etc/wpa_supplicant.auto ]
209 then
210 if [ -f ${MROOT}/etc/wpa_supplicant/wpa_supplicant.auto ]
211 then
212 rm ${MROOT}/etc/wpa_supplicant.auto
213 else
214 mv ${MROOT}/etc/wpa_supplicant.auto ${MROOT}/etc/wpa_supplicant/
215 sed -i 's:/var/run/wpa_supplicant:/run/wpa_supplicant:g' \
216 ${MROOT}/etc/wpa_supplicant/wpa_supplicant.auto
217 fi
218 fi
219
220 mreloadunit dbus.service
221 mstartunit wpa_supplicant.service
222 }
223
224 postremove()
225 {
226 mreloadunit dbus.service
227 mstopunit wpa_supplicant.service
228 }