Gentoo Archives: gentoo-commits

From: Andrey Utkin <andrey_utkin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-wireless/hostapd/
Date: Tue, 11 Dec 2018 15:01:57
Message-Id: 1544540485.bea60d2300899cb8002f13d7cf71800d7be52f95.andrey_utkin@gentoo
1 commit: bea60d2300899cb8002f13d7cf71800d7be52f95
2 Author: Andrey Utkin <andrey_utkin <AT> gentoo <DOT> org>
3 AuthorDate: Tue Dec 11 14:05:35 2018 +0000
4 Commit: Andrey Utkin <andrey_utkin <AT> gentoo <DOT> org>
5 CommitDate: Tue Dec 11 15:01:25 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bea60d23
7
8 net-wireless/hostapd: add new revision 2.7-r1
9
10 Cloned from 2.7 verbatim, for further changes.
11
12 Package-Manager: Portage-2.3.49, Repoman-2.3.12
13 Signed-off-by: Andrey Utkin <andrey_utkin <AT> gentoo.org>
14
15 net-wireless/hostapd/hostapd-2.7-r1.ebuild | 262 +++++++++++++++++++++++++++++
16 1 file changed, 262 insertions(+)
17
18 diff --git a/net-wireless/hostapd/hostapd-2.7-r1.ebuild b/net-wireless/hostapd/hostapd-2.7-r1.ebuild
19 new file mode 100644
20 index 00000000000..6e23c9c8295
21 --- /dev/null
22 +++ b/net-wireless/hostapd/hostapd-2.7-r1.ebuild
23 @@ -0,0 +1,262 @@
24 +# Copyright 1999-2018 Gentoo Authors
25 +# Distributed under the terms of the GNU General Public License v2
26 +
27 +EAPI="6"
28 +
29 +inherit toolchain-funcs eutils systemd savedconfig
30 +
31 +DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon"
32 +HOMEPAGE="http://w1.fi"
33 +EXTRAS_VER="2.6-r5"
34 +EXTRAS_NAME="${CATEGORY}_${PN}_${EXTRAS_VER}_extras"
35 +SRC_URI="https://dev.gentoo.org/~andrey_utkin/distfiles/${EXTRAS_NAME}.tar.xz"
36 +
37 +if [[ $PV == 9999 ]]; then
38 + inherit git-r3
39 + EGIT_REPO_URI="https://w1.fi/hostap.git"
40 +else
41 + if [[ $PV =~ ^.*_p[0-9]{8}$ ]]; then
42 + SRC_URI+=" https://dev.gentoo.org/~andrey_utkin/distfiles/${P}.tar.xz"
43 + else
44 + SRC_URI+=" https://w1.fi/releases/${P}.tar.gz"
45 + fi
46 + # Never stabilize snapshot ebuilds please
47 + KEYWORDS="~amd64 ~arm ~mips ~ppc ~x86"
48 +fi
49 +
50 +LICENSE="BSD"
51 +SLOT="0"
52 +IUSE="internal-tls ipv6 libressl logwatch netlink sqlite +wps +crda"
53 +
54 +DEPEND="
55 + libressl? ( dev-libs/libressl:0= )
56 + !libressl? (
57 + internal-tls? ( dev-libs/libtommath )
58 + !internal-tls? ( dev-libs/openssl:0=[-bindist] )
59 + )
60 + kernel_linux? (
61 + dev-libs/libnl:3
62 + crda? ( net-wireless/crda )
63 + )
64 + netlink? ( net-libs/libnfnetlink )
65 + sqlite? ( >=dev-db/sqlite-3 )"
66 +
67 +RDEPEND="${DEPEND}"
68 +
69 +S="${S}/${PN}"
70 +
71 +pkg_pretend() {
72 + if use internal-tls; then
73 + if use libressl; then
74 + elog "libressl flag takes precedence over internal-tls"
75 + else
76 + ewarn "internal-tls implementation is experimental and provides fewer features"
77 + fi
78 + fi
79 +}
80 +
81 +src_unpack() {
82 + # Override default one because we need the SRC_URI ones even in case of 9999 ebuilds
83 + default
84 + if [[ ${PV} == 9999 ]] ; then
85 + git-r3_src_unpack
86 + fi
87 +}
88 +
89 +src_prepare() {
90 + # Allow users to apply patches to src/drivers for example,
91 + # i.e. anything outside ${S}/${PN}
92 + pushd ../ >/dev/null || die
93 + default
94 + popd >/dev/null || die
95 +
96 + sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \
97 + "${S}/hostapd.conf" || die
98 +}
99 +
100 +src_configure() {
101 + local CONFIG="${S}/.config"
102 +
103 + restore_config "${CONFIG}"
104 + if [[ -f "${CONFIG}" ]]; then
105 + default_src_configure
106 + return 0
107 + fi
108 +
109 + # toolchain setup
110 + echo "CC = $(tc-getCC)" > ${CONFIG}
111 +
112 + # EAP authentication methods
113 + echo "CONFIG_EAP=y" >> ${CONFIG}
114 + echo "CONFIG_ERP=y" >> ${CONFIG}
115 + echo "CONFIG_EAP_MD5=y" >> ${CONFIG}
116 +
117 + if use internal-tls && ! use libressl; then
118 + echo "CONFIG_TLS=internal" >> ${CONFIG}
119 + else
120 + # SSL authentication methods
121 + echo "CONFIG_EAP_FAST=y" >> ${CONFIG}
122 + echo "CONFIG_EAP_TLS=y" >> ${CONFIG}
123 + echo "CONFIG_EAP_TTLS=y" >> ${CONFIG}
124 + echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG}
125 + echo "CONFIG_EAP_PEAP=y" >> ${CONFIG}
126 + echo "CONFIG_TLSV11=y" >> ${CONFIG}
127 + echo "CONFIG_TLSV12=y" >> ${CONFIG}
128 + echo "CONFIG_EAP_PWD=y" >> ${CONFIG}
129 + fi
130 +
131 + if use wps; then
132 + # Enable Wi-Fi Protected Setup
133 + echo "CONFIG_WPS=y" >> ${CONFIG}
134 + echo "CONFIG_WPS2=y" >> ${CONFIG}
135 + echo "CONFIG_WPS_UPNP=y" >> ${CONFIG}
136 + echo "CONFIG_WPS_NFC=y" >> ${CONFIG}
137 + einfo "Enabling Wi-Fi Protected Setup support"
138 + fi
139 +
140 + echo "CONFIG_EAP_IKEV2=y" >> ${CONFIG}
141 + echo "CONFIG_EAP_TNC=y" >> ${CONFIG}
142 + echo "CONFIG_EAP_GTC=y" >> ${CONFIG}
143 + echo "CONFIG_EAP_SIM=y" >> ${CONFIG}
144 + echo "CONFIG_EAP_AKA=y" >> ${CONFIG}
145 + echo "CONFIG_EAP_AKA_PRIME=y" >> ${CONFIG}
146 + echo "CONFIG_EAP_EKE=y" >> ${CONFIG}
147 + echo "CONFIG_EAP_PAX=y" >> ${CONFIG}
148 + echo "CONFIG_EAP_PSK=y" >> ${CONFIG}
149 + echo "CONFIG_EAP_SAKE=y" >> ${CONFIG}
150 + echo "CONFIG_EAP_GPSK=y" >> ${CONFIG}
151 + echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG}
152 +
153 + einfo "Enabling drivers: "
154 +
155 + # drivers
156 + echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG}
157 + einfo " HostAP driver enabled"
158 + echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG}
159 + einfo " Wired driver enabled"
160 + echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG}
161 + einfo " None driver enabled"
162 +
163 + einfo " nl80211 driver enabled"
164 + echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG}
165 +
166 + # epoll
167 + echo "CONFIG_ELOOP_EPOLL=y" >> ${CONFIG}
168 +
169 + # misc
170 + echo "CONFIG_DEBUG_FILE=y" >> ${CONFIG}
171 + echo "CONFIG_PKCS12=y" >> ${CONFIG}
172 + echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG}
173 + echo "CONFIG_IAPP=y" >> ${CONFIG}
174 + echo "CONFIG_IEEE80211R=y" >> ${CONFIG}
175 + echo "CONFIG_IEEE80211W=y" >> ${CONFIG}
176 + echo "CONFIG_IEEE80211N=y" >> ${CONFIG}
177 + echo "CONFIG_IEEE80211AC=y" >> ${CONFIG}
178 + echo "CONFIG_PEERKEY=y" >> ${CONFIG}
179 + echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG}
180 + echo "CONFIG_INTERWORKING=y" >> ${CONFIG}
181 + echo "CONFIG_FULL_DYNAMIC_VLAN=y" >> ${CONFIG}
182 + echo "CONFIG_HS20=y" >> ${CONFIG}
183 + echo "CONFIG_WNM=y" >> ${CONFIG}
184 + echo "CONFIG_FST=y" >> ${CONFIG}
185 + echo "CONFIG_FST_TEST=y" >> ${CONFIG}
186 + echo "CONFIG_ACS=y" >> ${CONFIG}
187 +
188 + if use netlink; then
189 + # Netlink support
190 + echo "CONFIG_VLAN_NETLINK=y" >> ${CONFIG}
191 + fi
192 +
193 + if use ipv6; then
194 + # IPv6 support
195 + echo "CONFIG_IPV6=y" >> ${CONFIG}
196 + fi
197 +
198 + if use sqlite; then
199 + # Sqlite support
200 + echo "CONFIG_SQLITE=y" >> ${CONFIG}
201 + fi
202 +
203 + # If we are using libnl 2.0 and above, enable support for it
204 + # Removed for now, since the 3.2 version is broken, and we don't
205 + # support it.
206 + if has_version ">=dev-libs/libnl-3.2"; then
207 + echo "CONFIG_LIBNL32=y" >> .config
208 + fi
209 +
210 + # TODO: Add support for BSD drivers
211 +
212 + default_src_configure
213 +}
214 +
215 +src_compile() {
216 + emake V=1
217 +
218 + if use libressl || ! use internal-tls; then
219 + emake V=1 nt_password_hash
220 + emake V=1 hlr_auc_gw
221 + fi
222 +}
223 +
224 +src_install() {
225 + insinto /etc/${PN}
226 + doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk}
227 +
228 + fperms -R 600 /etc/${PN}
229 +
230 + dosbin ${PN}
231 + dobin ${PN}_cli
232 +
233 + if use libressl || ! use internal-tls; then
234 + dobin nt_password_hash hlr_auc_gw
235 + fi
236 +
237 + newinitd "${WORKDIR}/${EXTRAS_NAME}"/${PN}-init.d ${PN}
238 + newconfd "${WORKDIR}/${EXTRAS_NAME}"/${PN}-conf.d ${PN}
239 + systemd_dounit "${WORKDIR}/${EXTRAS_NAME}"/${PN}.service
240 +
241 + doman ${PN}{.8,_cli.1}
242 +
243 + dodoc ChangeLog README
244 + use wps && dodoc README-WPS
245 +
246 + docinto examples
247 + dodoc wired.conf
248 +
249 + if use logwatch; then
250 + insinto /etc/log.d/conf/services/
251 + doins logwatch/${PN}.conf
252 +
253 + exeinto /etc/log.d/scripts/services/
254 + doexe logwatch/${PN}
255 + fi
256 +
257 + save_config .config
258 +}
259 +
260 +pkg_postinst() {
261 + einfo
262 + einfo "If you are running openRC you need to follow this instructions:"
263 + einfo "In order to use ${PN} you need to set up your wireless card"
264 + einfo "for master mode in /etc/conf.d/net and then start"
265 + einfo "/etc/init.d/${PN}."
266 + einfo
267 + einfo "Example configuration:"
268 + einfo
269 + einfo "config_wlan0=( \"192.168.1.1/24\" )"
270 + einfo "channel_wlan0=\"6\""
271 + einfo "essid_wlan0=\"test\""
272 + einfo "mode_wlan0=\"master\""
273 + einfo
274 + #if [ -e "${KV_DIR}"/net/mac80211 ]; then
275 + # einfo "This package now compiles against the headers installed by"
276 + # einfo "the kernel source for the mac80211 driver. You should "
277 + # einfo "re-emerge ${PN} after upgrading your kernel source."
278 + #fi
279 +
280 + if use wps; then
281 + einfo "You have enabled Wi-Fi Protected Setup support, please"
282 + einfo "read the README-WPS file in /usr/share/doc/${P}"
283 + einfo "for info on how to use WPS"
284 + fi
285 +}