Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4554 - (hide 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 niro 4554 # $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     }