Gentoo Archives: gentoo-commits

From: Ben Kohler <bkohler@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-wireless/iwd/files/, net-wireless/iwd/
Date: Mon, 23 Aug 2021 14:31:44
Message-Id: 1629729093.01388a7d944b57d042b104c42d3c0967937c1a83.bkohler@gentoo
1 commit: 01388a7d944b57d042b104c42d3c0967937c1a83
2 Author: Ben Kohler <bkohler <AT> gentoo <DOT> org>
3 AuthorDate: Mon Aug 23 14:09:11 2021 +0000
4 Commit: Ben Kohler <bkohler <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 23 14:31:33 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01388a7d
7
8 net-wireless/iwd: bump to 1.17
9
10 Includes one extra commit from upstream to fix tests.
11
12 Package-Manager: Portage-3.0.22, Repoman-3.0.3
13 Signed-off-by: Ben Kohler <bkohler <AT> gentoo.org>
14
15 net-wireless/iwd/Manifest | 1 +
16 net-wireless/iwd/files/iwd-1.17-fix-tests.patch | 35 +++++
17 net-wireless/iwd/iwd-1.17.ebuild | 185 ++++++++++++++++++++++++
18 3 files changed, 221 insertions(+)
19
20 diff --git a/net-wireless/iwd/Manifest b/net-wireless/iwd/Manifest
21 index 572d903cf8a..0582bb4f341 100644
22 --- a/net-wireless/iwd/Manifest
23 +++ b/net-wireless/iwd/Manifest
24 @@ -1,3 +1,4 @@
25 DIST iwd-1.14.tar.xz 933764 BLAKE2B edc6a925872afb6b98f5bbe16fc1cb6b8459a1aff33ec1f9e2d6bd45e605e34debaffa3048b6506cd3e8006c57d6efc9ae341f73050668454ad85fe7e6b4f256 SHA512 bff9b5a744e8eb4e285f28d976e9335d2c85b57fc1eb023c3aa9442e451523b3b9f080d2c02fc5432735c398857b64d115ed2929dd4bb910925cbf18df0b0874
26 DIST iwd-1.15.tar.xz 940724 BLAKE2B 6dae8a71e15136bcc9d8bb44cc6b152848207d89af2f447f48e834a3feda72a0a018dd1db3cb3a0e92c834cb2a19d8f9e4a9c900d91f96df378772d220205d65 SHA512 71e1f5f1b9d4e09a158b9bf801cee8af5ed8a19a3e80ad677e28ccab29ae10a79ebb7dbeaed60dd24283b6a40dbda8c212400b6d5ac659ed6056588a8663f0d4
27 DIST iwd-1.16.tar.xz 949692 BLAKE2B 6063f0fe79cfe61f68fd2d1acc4c67cd9b907bcf728da072b5845a60c6032db472428fa5ea7f203d840a7934c58fcb73d23805c5f3d4336a7ebb795575233260 SHA512 4cbf548421f7f5be6e73cea29802cf5757aece92fa2ce36257a608346bca0280338130915a974c895d3b865e0621a3ffe22228487d2552e407dacdd7d7eb9109
28 +DIST iwd-1.17.tar.xz 954428 BLAKE2B 2758b7c82afa94a90d2cb067e6ef63699e99e92101e35174d6976eee11a6057ce4d2324eda103a07f102a4d07d274d7f78888a5929928adcaefebe450b00298e SHA512 1dd04959a82c6a96b273479d604c989e246dea557190e3c936a21eea3041c3370c4c29b963171664e5e11fc43d0daf2ab5b62f325edc96f62a5a47259a733ed1
29
30 diff --git a/net-wireless/iwd/files/iwd-1.17-fix-tests.patch b/net-wireless/iwd/files/iwd-1.17-fix-tests.patch
31 new file mode 100644
32 index 00000000000..cf3de4c1d38
33 --- /dev/null
34 +++ b/net-wireless/iwd/files/iwd-1.17-fix-tests.patch
35 @@ -0,0 +1,35 @@
36 +From ed10b00afa3f4c087b46d7ba0b60a47bd05d8b39 Mon Sep 17 00:00:00 2001
37 +From: Denis Kenzior <denkenz@×××××.com>
38 +Date: Mon, 23 Aug 2021 08:51:35 -0500
39 +Subject: unit: Fix eapol IP Allocation test failure
40 +
41 +This test was failing due to a change introduced in commit
42 +5c9de0cf23f9 which changed handshake state storage of IPs from host
43 +order to network byte order. Update the test to set IPs in network
44 +byte-order.
45 +
46 +Fixes: 5c9de0cf23f9 ("eapol: Store IP address in network byte order")
47 +---
48 + unit/test-eapol.c | 6 +++---
49 + 1 file changed, 3 insertions(+), 3 deletions(-)
50 +
51 +diff --git a/unit/test-eapol.c b/unit/test-eapol.c
52 +index b6a6adcb..470e0e9f 100644
53 +--- a/unit/test-eapol.c
54 ++++ b/unit/test-eapol.c
55 +@@ -3802,9 +3802,9 @@ static void eapol_ap_sta_handshake_ip_alloc_ok_test(const void *data)
56 + handshake_state_set_ssid(s.ap_hs, (void *) ssid, strlen(ssid));
57 + handshake_state_set_pmk(s.ap_hs, psk, 32);
58 + s.ap_hs->support_ip_allocation = true;
59 +- s.ap_hs->client_ip_addr = 0x01020304;
60 +- s.ap_hs->subnet_mask = 0xffff0000;
61 +- s.ap_hs->go_ip_addr = 0x01020305;
62 ++ s.ap_hs->client_ip_addr = L_CPU_TO_BE32(0x01020304);
63 ++ s.ap_hs->subnet_mask = L_CPU_TO_BE32(0xffff0000);
64 ++ s.ap_hs->go_ip_addr = L_CPU_TO_BE32(0x01020305);
65 +
66 + handshake_state_set_authenticator(s.sta_hs, false);
67 + handshake_state_set_event_func(s.sta_hs, test_ap_sta_hs_event, &s);
68 +--
69 +cgit 1.2.3-1.el7
70 +
71
72 diff --git a/net-wireless/iwd/iwd-1.17.ebuild b/net-wireless/iwd/iwd-1.17.ebuild
73 new file mode 100644
74 index 00000000000..91b133c1eb3
75 --- /dev/null
76 +++ b/net-wireless/iwd/iwd-1.17.ebuild
77 @@ -0,0 +1,185 @@
78 +# Copyright 1999-2021 Gentoo Authors
79 +# Distributed under the terms of the GNU General Public License v2
80 +
81 +EAPI=7
82 +inherit flag-o-matic linux-info systemd
83 +
84 +#Set this variable to the required external ell version
85 +ELL_REQ="0.43"
86 +
87 +if [[ ${PV} == *9999* ]]; then
88 + inherit autotools git-r3
89 + IWD_EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/wireless/iwd.git"
90 + ELL_EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
91 +else
92 + SRC_URI="https://www.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
93 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
94 + MYRST2MAN="RST2MAN=:"
95 +fi
96 +
97 +DESCRIPTION="Wireless daemon for linux"
98 +HOMEPAGE="https://git.kernel.org/pub/scm/network/wireless/iwd.git/"
99 +
100 +LICENSE="GPL-2"
101 +SLOT="0"
102 +IUSE="+client +crda +monitor ofono wired cpu_flags_x86_aes cpu_flags_x86_ssse3
103 +standalone systemd"
104 +
105 +DEPEND="
106 + sys-apps/dbus
107 + client? ( sys-libs/readline:0= )
108 +"
109 +
110 +[[ -z "${ELL_REQ}" ]] || DEPEND+=" ~dev-libs/ell-${ELL_REQ}"
111 +
112 +RDEPEND="
113 + ${DEPEND}
114 + net-wireless/wireless-regdb
115 + crda? ( net-wireless/crda )
116 + standalone? (
117 + systemd? ( sys-apps/systemd )
118 + !systemd? ( virtual/resolvconf )
119 + )
120 +"
121 +
122 +BDEPEND="
123 + virtual/pkgconfig
124 +"
125 +
126 +[[ ${PV} == *9999* ]] && BDEPEND+=" dev-python/docutils"
127 +
128 +PATCHES=( "${FILESDIR}"/iwd-1.17-fix-tests.patch )
129 +
130 +pkg_setup() {
131 + CONFIG_CHECK="
132 + ~ASYMMETRIC_KEY_TYPE
133 + ~ASYMMETRIC_PUBLIC_KEY_SUBTYPE
134 + ~CFG80211
135 + ~CRYPTO_AES
136 + ~CRYPTO_CBC
137 + ~CRYPTO_CMAC
138 + ~CRYPTO_DES
139 + ~CRYPTO_ECB
140 + ~CRYPTO_HMAC
141 + ~CRYPTO_MD4
142 + ~CRYPTO_MD5
143 + ~CRYPTO_RSA
144 + ~CRYPTO_SHA1
145 + ~CRYPTO_SHA256
146 + ~CRYPTO_SHA512
147 + ~CRYPTO_USER_API_HASH
148 + ~CRYPTO_USER_API_SKCIPHER
149 + ~KEY_DH_OPERATIONS
150 + ~PKCS7_MESSAGE_PARSER
151 + ~RFKILL
152 + ~X509_CERTIFICATE_PARSER
153 + "
154 + if use crda;then
155 + CONFIG_CHECK="${CONFIG_CHECK} ~CFG80211_CRDA_SUPPORT"
156 + WARNING_CFG80211_CRDA_SUPPORT="REGULATORY DOMAIN PROBLEM: please enable CFG80211_CRDA_SUPPORT for proper regulatory domain support"
157 + fi
158 +
159 + if use amd64;then
160 + CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_DES3_EDE_X86_64"
161 + WARNING_CRYPTO_DES3_EDE_X86_64="CRYPTO_DES3_EDE_X86_64: enable for increased performance"
162 + fi
163 +
164 + if use cpu_flags_x86_aes;then
165 + CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_AES_NI_INTEL"
166 + WARNING_CRYPTO_AES_NI_INTEL="CRYPTO_AES_NI_INTEL: enable for increased performance"
167 + fi
168 +
169 + if use cpu_flags_x86_ssse3 && use amd64; then
170 + CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_SHA1_SSSE3 ~CRYPTO_SHA256_SSSE3 ~CRYPTO_SHA512_SSSE3"
171 + WARNING_CRYPTO_SHA1_SSSE3="CRYPTO_SHA1_SSSE3: enable for increased performance"
172 + WARNING_CRYPTO_SHA256_SSSE3="CRYPTO_SHA256_SSSE3: enable for increased performance"
173 + WARNING_CRYPTO_SHA512_SSSE3="CRYPTO_SHA512_SSSE3: enable for increased performance"
174 + fi
175 +
176 + if use kernel_linux && kernel_is -ge 4 20; then
177 + CONFIG_CHECK="${CONFIG_CHECK} ~PKCS8_PRIVATE_KEY_PARSER"
178 + fi
179 +
180 + check_extra_config
181 +
182 + if ! use crda; then
183 + if use kernel_linux && kernel_is -lt 4 15; then
184 + ewarn "POSSIBLE REGULATORY DOMAIN PROBLEM:"
185 + ewarn "Regulatory domain support for kernels older than 4.15 requires crda."
186 + fi
187 + if linux_config_exists && linux_chkconfig_builtin CFG80211 &&
188 + [[ $(linux_chkconfig_string EXTRA_FIRMWARE) != *regulatory.db* ]]
189 + then
190 + ewarn ""
191 + ewarn "REGULATORY DOMAIN PROBLEM:"
192 + ewarn "With CONFIG_CFG80211=y (built-in), the driver won't be able to load regulatory.db from"
193 + ewarn " /lib/firmware, resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m"
194 + ewarn " or add regulatory.db and regulatory.db.p7s to CONFIG_EXTRA_FIRMWARE."
195 + ewarn ""
196 + fi
197 + fi
198 +}
199 +
200 +src_unpack() {
201 + if [[ ${PV} == *9999* ]] ; then
202 + EGIT_REPO_URI=${IWD_EGIT_REPO_URI} git-r3_src_unpack
203 + EGIT_REPO_URI=${ELL_EGIT_REPO_URI} EGIT_CHECKOUT_DIR=${WORKDIR}/ell git-r3_src_unpack
204 + else
205 + default
206 + fi
207 +}
208 +
209 +src_prepare() {
210 + default
211 + if [[ ${PV} == *9999* ]] ; then
212 + eautoreconf
213 + fi
214 +}
215 +
216 +src_configure() {
217 + append-cflags "-fsigned-char"
218 + local myeconfargs=(
219 + --sysconfdir="${EPREFIX}"/etc/iwd --localstatedir="${EPREFIX}"/var
220 + $(use_enable client)
221 + $(use_enable monitor)
222 + $(use_enable ofono)
223 + $(use_enable wired)
224 + --enable-systemd-service
225 + --with-systemd-unitdir="$(systemd_get_systemunitdir)"
226 + --with-systemd-modloaddir="${EPREFIX}/usr/lib/modules-load.d"
227 + --with-systemd-networkdir="$(systemd_get_utildir)/network"
228 + )
229 + [[ ${PV} == *9999* ]] || myeconfargs+=(--enable-external-ell)
230 + econf "${myeconfargs[@]}"
231 +}
232 +
233 +src_compile() {
234 + emake ${MYRST2MAN}
235 +}
236 +
237 +src_install() {
238 + emake DESTDIR="${D}" ${MYRST2MAN} install
239 + keepdir /var/lib/${PN}
240 +
241 + newinitd "${FILESDIR}/iwd.initd-r1" iwd
242 +
243 + if use wired;then
244 + newinitd "${FILESDIR}/ead.initd" ead
245 + fi
246 +
247 + if [[ ${PV} == *9999* ]] ; then
248 + exeinto /usr/share/iwd/scripts/
249 + doexe test/*
250 + fi
251 +
252 + if use standalone ; then
253 + local iwdconf="${ED}/etc/iwd/main.conf"
254 + dodir /etc/iwd
255 + echo "[General]" > "${iwdconf}"
256 + echo "EnableNetworkConfiguration=true" >> "${iwdconf}"
257 + echo "[Network]" >> "${iwdconf}"
258 + echo "NameResolvingService=$(usex systemd systemd resolvconf)" >> "${iwdconf}"
259 + dodir /etc/conf.d
260 + echo "rc_provide=\"net\"" > ${ED}/etc/conf.d/iwd
261 + fi
262 +}