Magellan Linux

Annotation of /branches/R11-stable/core/wpa-supplicant/wpa-supplicant-2.0-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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