Gentoo Archives: gentoo-portage-dev

From: Matt Turner <mattst88@g.o>
To: gentoo-portage-dev@l.g.o
Cc: "Wolfgang E. Sanyer" <WolfgangESanyer@×××××.com>, Matt Turner <mattst88@g.o>
Subject: [gentoo-portage-dev] [PATCH 3/4] portage.eapi: move None check to helper functions
Date: Thu, 24 Feb 2022 04:15:15
Message-Id: 20220224041449.3746627-3-mattst88@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH 1/4] portage.dep.Atom: Clean up __new__ parameters by Matt Turner
1 From: "Wolfgang E. Sanyer" <WolfgangESanyer@×××××.com>
2
3 Reviewed-by: Matt Turner <mattst88@g.o>
4 Signed-off-by: Wolfgang E. Sanyer <WolfgangESanyer@×××××.com>
5 ---
6 lib/portage/eapi.py | 162 +++++++++++++++++++++++++++++++++-----------
7 1 file changed, 121 insertions(+), 41 deletions(-)
8
9 diff --git a/lib/portage/eapi.py b/lib/portage/eapi.py
10 index 18069b04b..56e64620a 100644
11 --- a/lib/portage/eapi.py
12 +++ b/lib/portage/eapi.py
13 @@ -9,26 +9,44 @@ from portage import eapi_is_supported
14
15
16 def eapi_has_iuse_defaults(eapi):
17 + if eapi is None:
18 + return True
19 +
20 return eapi != "0"
21
22
23 def eapi_has_iuse_effective(eapi):
24 + if eapi is None:
25 + return False
26 +
27 return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi")
28
29
30 def eapi_has_slot_deps(eapi):
31 + if eapi is None:
32 + return True
33 +
34 return eapi != "0"
35
36
37 def eapi_has_slot_operator(eapi):
38 + if eapi is None:
39 + return True
40 +
41 return eapi not in ("0", "1", "2", "3", "4", "4-python")
42
43
44 def eapi_has_src_uri_arrows(eapi):
45 + if eapi is None:
46 + return True
47 +
48 return eapi not in ("0", "1")
49
50
51 def eapi_has_selective_src_uri_restriction(eapi):
52 + if eapi is None:
53 + return True
54 +
55 return eapi not in (
56 "0",
57 "1",
58 @@ -45,10 +63,16 @@ def eapi_has_selective_src_uri_restriction(eapi):
59
60
61 def eapi_has_use_deps(eapi):
62 + if eapi is None:
63 + return True
64 +
65 return eapi not in ("0", "1")
66
67
68 def eapi_has_strong_blocks(eapi):
69 + if eapi is None:
70 + return True
71 +
72 return eapi not in ("0", "1")
73
74
75 @@ -57,30 +81,51 @@ def eapi_has_src_prepare_and_src_configure(eapi):
76
77
78 def eapi_supports_prefix(eapi):
79 + if eapi is None:
80 + return True
81 +
82 return eapi not in ("0", "1", "2")
83
84
85 def eapi_exports_AA(eapi):
86 + if eapi is None:
87 + return False
88 +
89 return eapi in ("0", "1", "2", "3")
90
91
92 def eapi_exports_KV(eapi):
93 + if eapi is None:
94 + return False
95 +
96 return eapi in ("0", "1", "2", "3")
97
98
99 def eapi_exports_merge_type(eapi):
100 + if eapi is None:
101 + return True
102 +
103 return eapi not in ("0", "1", "2", "3")
104
105
106 def eapi_exports_replace_vars(eapi):
107 + if eapi is None:
108 + return True
109 +
110 return eapi not in ("0", "1", "2", "3")
111
112
113 def eapi_exports_EBUILD_PHASE_FUNC(eapi):
114 + if eapi is None:
115 + return True
116 +
117 return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi")
118
119
120 def eapi_exports_PORTDIR(eapi):
121 + if eapi is None:
122 + return True
123 +
124 return eapi in (
125 "0",
126 "1",
127 @@ -96,6 +141,9 @@ def eapi_exports_PORTDIR(eapi):
128
129
130 def eapi_exports_ECLASSDIR(eapi):
131 + if eapi is None:
132 + return False
133 +
134 return eapi in (
135 "0",
136 "1",
137 @@ -127,18 +175,30 @@ def eapi_has_dosed_dohard(eapi):
138
139
140 def eapi_has_required_use(eapi):
141 + if eapi is None:
142 + return True
143 +
144 return eapi not in ("0", "1", "2", "3")
145
146
147 def eapi_has_required_use_at_most_one_of(eapi):
148 + if eapi is None:
149 + return True
150 +
151 return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi")
152
153
154 def eapi_has_use_dep_defaults(eapi):
155 + if eapi is None:
156 + return True
157 +
158 return eapi not in ("0", "1", "2", "3")
159
160
161 def eapi_requires_posixish_locale(eapi):
162 + if eapi is None:
163 + return False
164 +
165 return eapi not in (
166 "0",
167 "1",
168 @@ -153,14 +213,23 @@ def eapi_requires_posixish_locale(eapi):
169
170
171 def eapi_has_repo_deps(eapi):
172 + if eapi is None:
173 + return True
174 +
175 return eapi in ("4-python", "5-progress")
176
177
178 def eapi_allows_dots_in_PN(eapi):
179 + if eapi is None:
180 + return True
181 +
182 return eapi in ("4-python", "5-progress")
183
184
185 def eapi_allows_dots_in_use_flags(eapi):
186 + if eapi is None:
187 + return True
188 +
189 return eapi in ("4-python", "5-progress")
190
191
192 @@ -181,6 +250,9 @@ def eapi_has_automatic_unpack_dependencies(eapi):
193
194
195 def eapi_allows_package_provided(eapi):
196 + if eapi is None:
197 + return True
198 +
199 return eapi in (
200 "0",
201 "1",
202 @@ -196,6 +268,9 @@ def eapi_allows_package_provided(eapi):
203
204
205 def eapi_has_bdepend(eapi):
206 + if eapi is None:
207 + return False
208 +
209 return eapi not in (
210 "0",
211 "1",
212 @@ -211,6 +286,9 @@ def eapi_has_bdepend(eapi):
213
214
215 def eapi_has_idepend(eapi):
216 + if eapi is None:
217 + return False
218 +
219 return eapi not in (
220 "0",
221 "1",
222 @@ -227,6 +305,9 @@ def eapi_has_idepend(eapi):
223
224
225 def eapi_empty_groups_always_true(eapi):
226 + if eapi is None:
227 + return False
228 +
229 return eapi in (
230 "0",
231 "1",
232 @@ -242,6 +323,9 @@ def eapi_empty_groups_always_true(eapi):
233
234
235 def eapi_path_variables_end_with_trailing_slash(eapi):
236 + if eapi is None:
237 + return False
238 +
239 return eapi in (
240 "0",
241 "1",
242 @@ -257,6 +341,9 @@ def eapi_path_variables_end_with_trailing_slash(eapi):
243
244
245 def eapi_has_broot(eapi):
246 + if eapi is None:
247 + return True
248 +
249 return eapi not in (
250 "0",
251 "1",
252 @@ -272,6 +359,9 @@ def eapi_has_broot(eapi):
253
254
255 def eapi_has_sysroot(eapi):
256 + if eapi is None:
257 + return True
258 +
259 return eapi not in (
260 "0",
261 "1",
262 @@ -387,49 +477,39 @@ def _get_eapi_attrs(eapi):
263 eapi = None
264
265 eapi_attrs = _eapi_attrs(
266 - allows_package_provided=(
267 - eapi is None or eapi_allows_package_provided.func(eapi)
268 - ),
269 - bdepend=(eapi is not None and eapi_has_bdepend.func(eapi)),
270 - broot=(eapi is None or eapi_has_broot.func(eapi)),
271 - dots_in_PN=(eapi is None or eapi_allows_dots_in_PN.func(eapi)),
272 - dots_in_use_flags=(eapi is None or eapi_allows_dots_in_use_flags.func(eapi)),
273 - empty_groups_always_true=(
274 - eapi is not None and eapi_empty_groups_always_true.func(eapi)
275 - ),
276 - exports_AA=(eapi is not None and eapi_exports_AA.func(eapi)),
277 - exports_EBUILD_PHASE_FUNC=(
278 - eapi is None or eapi_exports_EBUILD_PHASE_FUNC.func(eapi)
279 - ),
280 - exports_ECLASSDIR=(eapi is not None and eapi_exports_ECLASSDIR.func(eapi)),
281 - exports_KV=(eapi is not None and eapi_exports_KV.func(eapi)),
282 - exports_merge_type=(eapi is None or eapi_exports_merge_type.func(eapi)),
283 - exports_PORTDIR=(eapi is None or eapi_exports_PORTDIR.func(eapi)),
284 - exports_replace_vars=(eapi is None or eapi_exports_replace_vars.func(eapi)),
285 + allows_package_provided=eapi_allows_package_provided.func(eapi),
286 + bdepend=eapi_has_bdepend.func(eapi),
287 + broot=eapi_has_broot.func(eapi),
288 + dots_in_PN=eapi_allows_dots_in_PN.func(eapi),
289 + dots_in_use_flags=eapi_allows_dots_in_use_flags.func(eapi),
290 + empty_groups_always_true=eapi_empty_groups_always_true.func(eapi),
291 + exports_AA=eapi_exports_AA.func(eapi),
292 + exports_EBUILD_PHASE_FUNC=eapi_exports_EBUILD_PHASE_FUNC.func(eapi),
293 + exports_ECLASSDIR=eapi_exports_ECLASSDIR.func(eapi),
294 + exports_KV=eapi_exports_KV.func(eapi),
295 + exports_merge_type=eapi_exports_merge_type.func(eapi),
296 + exports_PORTDIR=eapi_exports_PORTDIR.func(eapi),
297 + exports_replace_vars=eapi_exports_replace_vars.func(eapi),
298 feature_flag_test=False,
299 - idepend=(eapi is not None and eapi_has_idepend.func(eapi)),
300 - iuse_defaults=(eapi is None or eapi_has_iuse_defaults.func(eapi)),
301 - iuse_effective=(eapi is not None and eapi_has_iuse_effective.func(eapi)),
302 - path_variables_end_with_trailing_slash=(
303 - eapi is not None and eapi_path_variables_end_with_trailing_slash.func(eapi)
304 - ),
305 - posixish_locale=(eapi is not None and eapi_requires_posixish_locale.func(eapi)),
306 - prefix=(eapi is None or eapi_supports_prefix.func(eapi)),
307 - repo_deps=(eapi is None or eapi_has_repo_deps.func(eapi)),
308 - required_use=(eapi is None or eapi_has_required_use.func(eapi)),
309 - required_use_at_most_one_of=(
310 - eapi is None or eapi_has_required_use_at_most_one_of.func(eapi)
311 - ),
312 - selective_src_uri_restriction=(
313 - eapi is None or eapi_has_selective_src_uri_restriction.func(eapi)
314 + idepend=eapi_has_idepend.func(eapi),
315 + iuse_defaults=eapi_has_iuse_defaults.func(eapi),
316 + iuse_effective=eapi_has_iuse_effective.func(eapi),
317 + path_variables_end_with_trailing_slash=eapi_path_variables_end_with_trailing_slash.func(
318 + eapi
319 ),
320 - slot_deps=(eapi is None or eapi_has_slot_deps.func(eapi)),
321 - slot_operator=(eapi is None or eapi_has_slot_operator.func(eapi)),
322 - src_uri_arrows=(eapi is None or eapi_has_src_uri_arrows.func(eapi)),
323 - strong_blocks=(eapi is None or eapi_has_strong_blocks.func(eapi)),
324 - sysroot=(eapi is None or eapi_has_sysroot.func(eapi)),
325 - use_deps=(eapi is None or eapi_has_use_deps.func(eapi)),
326 - use_dep_defaults=(eapi is None or eapi_has_use_dep_defaults.func(eapi)),
327 + posixish_locale=eapi_requires_posixish_locale.func(eapi),
328 + prefix=eapi_supports_prefix.func(eapi),
329 + repo_deps=eapi_has_repo_deps.func(eapi),
330 + required_use=eapi_has_required_use.func(eapi),
331 + required_use_at_most_one_of=eapi_has_required_use_at_most_one_of.func(eapi),
332 + selective_src_uri_restriction=eapi_has_selective_src_uri_restriction.func(eapi),
333 + slot_deps=eapi_has_slot_deps.func(eapi),
334 + slot_operator=eapi_has_slot_operator.func(eapi),
335 + src_uri_arrows=eapi_has_src_uri_arrows.func(eapi),
336 + strong_blocks=eapi_has_strong_blocks.func(eapi),
337 + sysroot=eapi_has_sysroot.func(eapi),
338 + use_deps=eapi_has_use_deps.func(eapi),
339 + use_dep_defaults=eapi_has_use_dep_defaults.func(eapi),
340 )
341
342 _eapi_attrs_cache[orig_eapi] = eapi_attrs
343 --
344 2.34.1