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 |
+} |