Gentoo Archives: gentoo-portage-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-portage-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-portage-dev] [PATCH] Clean up remnants of eapi5-hdepend, HDEPEND and targetroot
Date: Thu, 26 Dec 2019 10:37:38
Message-Id: 20191226103707.103741-1-mgorny@gentoo.org
1 Signed-off-by: Michał Górny <mgorny@g.o>
2 ---
3 bin/eapi.sh | 46 +++++++++----------
4 bin/ebuild.sh | 23 +++-------
5 bin/phase-functions.sh | 4 +-
6 doc/package/ebuild.docbook | 1 -
7 doc/package/ebuild/eapi/5-hdepend.docbook | 32 -------------
8 doc/portage.docbook | 1 -
9 lib/_emerge/Package.py | 6 +--
10 lib/_emerge/actions.py | 1 -
11 lib/_emerge/depgraph.py | 12 +----
12 lib/portage/__init__.py | 2 +-
13 lib/portage/cache/metadata.py | 2 +-
14 lib/portage/dbapi/bintree.py | 7 ++-
15 lib/portage/dbapi/porttree.py | 2 +-
16 lib/portage/dbapi/vartree.py | 2 +-
17 lib/portage/dep/_slot_operator.py | 3 --
18 lib/portage/eapi.py | 18 ++------
19 .../ebuild/_config/special_env_vars.py | 2 +-
20 lib/portage/package/ebuild/config.py | 13 +-----
21 man/emerge.1 | 10 ++--
22 repoman/cnf/repository/linechecks.yaml | 1 -
23 .../modules/linechecks/patches/patches.py | 2 +-
24 21 files changed, 53 insertions(+), 137 deletions(-)
25 delete mode 100644 doc/package/ebuild/eapi/5-hdepend.docbook
26
27 diff --git a/bin/eapi.sh b/bin/eapi.sh
28 index 4eafc1c87..29dfb008c 100644
29 --- a/bin/eapi.sh
30 +++ b/bin/eapi.sh
31 @@ -31,19 +31,15 @@ ___eapi_has_prefix_variables() {
32 }
33
34 ___eapi_has_BROOT() {
35 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress|6)$ ]]
36 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress|6)$ ]]
37 }
38
39 ___eapi_has_SYSROOT() {
40 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress|6)$ ]]
41 -}
42 -
43 -___eapi_has_HDEPEND() {
44 - [[ ${1-${EAPI-0}} =~ ^(5-hdepend)$ ]]
45 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress|6)$ ]]
46 }
47
48 ___eapi_has_BDEPEND() {
49 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress|6)$ ]]
50 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress|6)$ ]]
51 }
52
53 ___eapi_has_RDEPEND_DEPEND_fallback() {
54 @@ -65,11 +61,11 @@ ___eapi_has_dosed() {
55 }
56
57 ___eapi_has_einstall() {
58 - [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
59 + [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
60 }
61
62 ___eapi_has_dohtml() {
63 - [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress|6)$ ]]
64 + [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress|6)$ ]]
65 }
66
67 ___eapi_has_dohtml_deprecated() {
68 @@ -77,7 +73,7 @@ ___eapi_has_dohtml_deprecated() {
69 }
70
71 ___eapi_has_dolib_libopts() {
72 - [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress|6)$ ]]
73 + [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress|6)$ ]]
74 }
75
76 ___eapi_has_docompress() {
77 @@ -85,7 +81,7 @@ ___eapi_has_docompress() {
78 }
79
80 ___eapi_has_dostrip() {
81 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress|6)$ ]]
82 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress|6)$ ]]
83 }
84
85 ___eapi_has_nonfatal() {
86 @@ -101,23 +97,23 @@ ___eapi_has_usex() {
87 }
88
89 ___eapi_has_get_libdir() {
90 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
91 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
92 }
93
94 ___eapi_has_einstalldocs() {
95 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
96 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
97 }
98
99 ___eapi_has_eapply() {
100 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
101 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
102 }
103
104 ___eapi_has_eapply_user() {
105 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
106 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
107 }
108
109 ___eapi_has_in_iuse() {
110 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
111 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
112 }
113
114 ___eapi_has_version_functions() {
115 @@ -167,7 +163,7 @@ ___eapi_unpack_supports_xz() {
116 }
117
118 ___eapi_unpack_supports_txz() {
119 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
120 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
121 }
122
123 ___eapi_econf_passes_--disable-dependency-tracking() {
124 @@ -179,7 +175,7 @@ ___eapi_econf_passes_--disable-silent-rules() {
125 }
126
127 ___eapi_econf_passes_--docdir_and_--htmldir() {
128 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
129 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
130 }
131
132 ___eapi_econf_passes_--with-sysroot() {
133 @@ -207,29 +203,29 @@ ___eapi_helpers_can_die() {
134 }
135
136 ___eapi_unpack_is_case_sensitive() {
137 - [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend)$ ]]
138 + [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5)$ ]]
139 }
140
141 ___eapi_unpack_supports_absolute_paths() {
142 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend)$ ]]
143 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5)$ ]]
144 }
145
146 ___eapi_die_can_respect_nonfatal() {
147 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
148 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
149 }
150
151 ___eapi_domo_respects_into() {
152 - [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress|6)$ ]]
153 + [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress|6)$ ]]
154 }
155
156 ___eapi_has_DESTTREE_INSDESTTREE() {
157 - [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress|6)$ ]]
158 + [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress|6)$ ]]
159 }
160
161 # OTHERS
162
163 ___eapi_enables_failglob_in_global_scope() {
164 - [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
165 + [[ ! ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
166 }
167
168 ___eapi_enables_globstar() {
169 @@ -237,7 +233,7 @@ ___eapi_enables_globstar() {
170 }
171
172 ___eapi_bash_3_2() {
173 - [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
174 + [[ ${1-${EAPI-0}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-progress)$ ]]
175 }
176
177 ___eapi_bash_4_2() {
178 diff --git a/bin/ebuild.sh b/bin/ebuild.sh
179 index 5bd727aed..cfcf6eba3 100755
180 --- a/bin/ebuild.sh
181 +++ b/bin/ebuild.sh
182 @@ -254,7 +254,6 @@ inherit() {
183 local B_DEPEND
184 local B_RDEPEND
185 local B_PDEPEND
186 - local B_HDEPEND
187 local B_BDEPEND
188 while [ "$1" ]; do
189 location=""
190 @@ -300,16 +299,14 @@ inherit() {
191
192 # Retain the old data and restore it later.
193 unset B_IUSE B_REQUIRED_USE B_DEPEND B_RDEPEND B_PDEPEND
194 - unset B_HDEPEND B_BDEPEND
195 + unset B_BDEPEND
196 [ "${IUSE+set}" = set ] && B_IUSE="${IUSE}"
197 [ "${REQUIRED_USE+set}" = set ] && B_REQUIRED_USE="${REQUIRED_USE}"
198 [ "${DEPEND+set}" = set ] && B_DEPEND="${DEPEND}"
199 [ "${RDEPEND+set}" = set ] && B_RDEPEND="${RDEPEND}"
200 [ "${PDEPEND+set}" = set ] && B_PDEPEND="${PDEPEND}"
201 - [ "${HDEPEND+set}" = set ] && B_HDEPEND="${HDEPEND}"
202 [ "${BDEPEND+set}" = set ] && B_BDEPEND="${BDEPEND}"
203 - unset IUSE REQUIRED_USE DEPEND RDEPEND PDEPEND HDEPEND
204 - unset BDEPEND
205 + unset IUSE REQUIRED_USE DEPEND RDEPEND PDEPEND BDEPEND
206 #turn on glob expansion
207 set +f
208 fi
209 @@ -327,7 +324,6 @@ inherit() {
210 [ "${DEPEND+set}" = set ] && E_DEPEND+="${E_DEPEND:+ }${DEPEND}"
211 [ "${RDEPEND+set}" = set ] && E_RDEPEND+="${E_RDEPEND:+ }${RDEPEND}"
212 [ "${PDEPEND+set}" = set ] && E_PDEPEND+="${E_PDEPEND:+ }${PDEPEND}"
213 - [ "${HDEPEND+set}" = set ] && E_HDEPEND+="${E_HDEPEND:+ }${HDEPEND}"
214 [ "${BDEPEND+set}" = set ] && E_BDEPEND+="${E_BDEPEND:+ }${BDEPEND}"
215
216 [ "${B_IUSE+set}" = set ] && IUSE="${B_IUSE}"
217 @@ -345,9 +341,6 @@ inherit() {
218 [ "${B_PDEPEND+set}" = set ] && PDEPEND="${B_PDEPEND}"
219 [ "${B_PDEPEND+set}" = set ] || unset PDEPEND
220
221 - [ "${B_HDEPEND+set}" = set ] && HDEPEND="${B_HDEPEND}"
222 - [ "${B_HDEPEND+set}" = set ] || unset HDEPEND
223 -
224 [ "${B_BDEPEND+set}" = set ] && BDEPEND="${B_BDEPEND}"
225 [ "${B_BDEPEND+set}" = set ] || unset BDEPEND
226
227 @@ -607,9 +600,9 @@ if ! has "$EBUILD_PHASE" clean cleanrm ; then
228 # In order to ensure correct interaction between ebuilds and
229 # eclasses, they need to be unset before this process of
230 # interaction begins.
231 - unset EAPI DEPEND RDEPEND PDEPEND HDEPEND BDEPEND
232 + unset EAPI DEPEND RDEPEND PDEPEND BDEPEND
233 unset INHERITED IUSE REQUIRED_USE ECLASS E_IUSE E_REQUIRED_USE
234 - unset E_DEPEND E_RDEPEND E_PDEPEND E_HDEPEND E_BDEPEND
235 + unset E_DEPEND E_RDEPEND E_PDEPEND E_BDEPEND
236 unset PROVIDES_EXCLUDE REQUIRES_EXCLUDE
237
238 if [[ $PORTAGE_DEBUG != 1 || ${-/x/} != $- ]] ; then
239 @@ -645,12 +638,11 @@ if ! has "$EBUILD_PHASE" clean cleanrm ; then
240 DEPEND+="${DEPEND:+ }${E_DEPEND}"
241 RDEPEND+="${RDEPEND:+ }${E_RDEPEND}"
242 PDEPEND+="${PDEPEND:+ }${E_PDEPEND}"
243 - HDEPEND+="${HDEPEND:+ }${E_HDEPEND}"
244 BDEPEND+="${BDEPEND:+ }${E_BDEPEND}"
245 REQUIRED_USE+="${REQUIRED_USE:+ }${E_REQUIRED_USE}"
246
247 unset ECLASS E_IUSE E_REQUIRED_USE E_DEPEND E_RDEPEND E_PDEPEND
248 - unset E_HDEPEND E_BDEPEND __INHERITED_QA_CACHE
249 + unset E_BDEPEND __INHERITED_QA_CACHE
250
251 # alphabetically ordered by $EBUILD_PHASE value
252 case ${EAPI} in
253 @@ -720,12 +712,9 @@ if [[ $EBUILD_PHASE = depend ]] ; then
254
255 auxdbkeys="DEPEND RDEPEND SLOT SRC_URI RESTRICT HOMEPAGE LICENSE
256 DESCRIPTION KEYWORDS INHERITED IUSE REQUIRED_USE PDEPEND BDEPEND
257 - EAPI PROPERTIES DEFINED_PHASES HDEPEND UNUSED_04
258 + EAPI PROPERTIES DEFINED_PHASES UNUSED_05 UNUSED_04
259 UNUSED_03 UNUSED_02 UNUSED_01"
260
261 - if ! ___eapi_has_HDEPEND; then
262 - unset HDEPEND
263 - fi
264 if ! ___eapi_has_BDEPEND; then
265 unset BDEPEND
266 fi
267 diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
268 index 73f8cee9b..709fd7527 100644
269 --- a/bin/phase-functions.sh
270 +++ b/bin/phase-functions.sh
271 @@ -8,7 +8,7 @@
272 # when portage is upgrading itself.
273
274 PORTAGE_READONLY_METADATA="BDEPEND DEFINED_PHASES DEPEND DESCRIPTION
275 - EAPI HDEPEND HOMEPAGE INHERITED IUSE REQUIRED_USE KEYWORDS LICENSE
276 + EAPI HOMEPAGE INHERITED IUSE REQUIRED_USE KEYWORDS LICENSE
277 PDEPEND RDEPEND REPOSITORY RESTRICT SLOT SRC_URI"
278
279 PORTAGE_READONLY_VARS="D EBUILD EBUILD_PHASE EBUILD_PHASE_FUNC \
280 @@ -915,7 +915,7 @@ __ebuild_phase_funcs() {
281 fi
282
283 # defaults starting with EAPI 6
284 - if ! has ${eapi} 2 3 4 4-python 4-slot-abi 5 5-progress 5-hdepend; then
285 + if ! has ${eapi} 2 3 4 4-python 4-slot-abi 5 5-progress; then
286 [[ ${phase_func} == src_prepare ]] && \
287 default_src_prepare() { __eapi6_src_prepare; }
288 [[ ${phase_func} == src_install ]] && \
289 diff --git a/doc/package/ebuild.docbook b/doc/package/ebuild.docbook
290 index c3b6caca3..98084c8fa 100644
291 --- a/doc/package/ebuild.docbook
292 +++ b/doc/package/ebuild.docbook
293 @@ -13,6 +13,5 @@
294 &package_ebuild_eapi_4_slot_abi;
295 &package_ebuild_eapi_5;
296 &package_ebuild_eapi_5_progress;
297 -&package_ebuild_eapi_5_hdepend;
298 </section>
299 </chapter>
300 diff --git a/doc/package/ebuild/eapi/5-hdepend.docbook b/doc/package/ebuild/eapi/5-hdepend.docbook
301 deleted file mode 100644
302 index 0f568bcdd..000000000
303 --- a/doc/package/ebuild/eapi/5-hdepend.docbook
304 +++ /dev/null
305 @@ -1,32 +0,0 @@
306 -<section id='package-ebuild-eapi-5-hdepend'>
307 -<title>EAPI 5-hdepend</title>
308 -<section id='package-ebuild-eapi-5-hdepend-metadata'>
309 -<title>Metadata</title>
310 -<section id='package-ebuild-eapi-5-hdepend-metadata-dependencies'>
311 -<title>Dependencies</title>
312 -<section id='package-ebuild-eapi-5-hdepend-metadata-dependencies-hdepend'>
313 -<title>HDEPEND</title>
314 -<para>
315 -The HDEPEND variable is used to represent build-time host dependencies. For
316 -build-time target dependencies, use DEPEND (if the host is the target then both
317 -HDEPEND and DEPEND will be installed on it). For EAPIs that support HDEPEND,
318 -the emerge --root-deps option will have no effect, since it is not needed
319 -when build-time dependencies are correctly specified with HDEPEND and DEPEND.
320 -If ebuilds using EAPIs which <emphasis>do not</emphasis> support HDEPEND are
321 -built in the same emerge run as those using EAPIs which <emphasis>do</emphasis>
322 -support HDEPEND, the emerge --root-deps option will only apply to the former.
323 -</para>
324 -</section>
325 -<section id='package-ebuild-eapi-5-hdepend-metadata-dependencies-targetroot'>
326 -<title>Special "targetroot" USE flag</title>
327 -<para>
328 -The special "targetroot" USE flag will be automatically enabled for packages
329 -that are built for installation into a target ROOT, and will otherwise be
330 -automatically disabled. This flag may be used to control conditional
331 -dependencies, and ebuilds that use this flag need to add it to IUSE unless it
332 -happens to be included in the profile's IUSE_IMPLICIT variable.
333 -</para>
334 -</section>
335 -</section>
336 -</section>
337 -</section>
338 diff --git a/doc/portage.docbook b/doc/portage.docbook
339 index 811544f5e..04db26303 100644
340 --- a/doc/portage.docbook
341 +++ b/doc/portage.docbook
342 @@ -24,7 +24,6 @@
343 <!ENTITY package_ebuild_eapi_4_slot_abi SYSTEM "package/ebuild/eapi/4-slot-abi.docbook">
344 <!ENTITY package_ebuild_eapi_5 SYSTEM "package/ebuild/eapi/5.docbook">
345 <!ENTITY package_ebuild_eapi_5_progress SYSTEM "package/ebuild/eapi/5-progress.docbook">
346 - <!ENTITY package_ebuild_eapi_5_hdepend SYSTEM "package/ebuild/eapi/5-hdepend.docbook">
347 <!ENTITY qa SYSTEM "qa.docbook">
348 <!ENTITY config SYSTEM "config.docbook">
349 <!ENTITY config_bashrc SYSTEM "config/bashrc.docbook">
350 diff --git a/lib/_emerge/Package.py b/lib/_emerge/Package.py
351 index 5f34f3d27..3d7df2437 100644
352 --- a/lib/_emerge/Package.py
353 +++ b/lib/_emerge/Package.py
354 @@ -44,14 +44,14 @@ class Package(Task):
355 metadata_keys = [
356 "BDEPEND",
357 "BUILD_ID", "BUILD_TIME", "CHOST", "COUNTER", "DEFINED_PHASES",
358 - "DEPEND", "EAPI", "HDEPEND", "INHERITED", "IUSE", "KEYWORDS",
359 + "DEPEND", "EAPI", "INHERITED", "IUSE", "KEYWORDS",
360 "LICENSE", "MD5", "PDEPEND", "PROVIDES",
361 "RDEPEND", "repository", "REQUIRED_USE",
362 "PROPERTIES", "REQUIRES", "RESTRICT", "SIZE",
363 "SLOT", "USE", "_mtime_"]
364
365 - _dep_keys = ('BDEPEND', 'DEPEND', 'HDEPEND', 'PDEPEND', 'RDEPEND')
366 - _buildtime_keys = ('BDEPEND', 'DEPEND', 'HDEPEND')
367 + _dep_keys = ('BDEPEND', 'DEPEND', 'PDEPEND', 'RDEPEND')
368 + _buildtime_keys = ('BDEPEND', 'DEPEND')
369 _runtime_keys = ('PDEPEND', 'RDEPEND')
370 _use_conditional_misc_keys = ('LICENSE', 'PROPERTIES', 'RESTRICT')
371 UNKNOWN_REPO = _unknown_repo
372 diff --git a/lib/_emerge/actions.py b/lib/_emerge/actions.py
373 index 6f815bff2..31252af16 100644
374 --- a/lib/_emerge/actions.py
375 +++ b/lib/_emerge/actions.py
376 @@ -1362,7 +1362,6 @@ def calc_depclean(settings, trees, ldpath_mtimes,
377 "RDEPEND": runtime,
378 "PDEPEND": runtime_post,
379 "BDEPEND": buildtime,
380 - "HDEPEND": buildtime,
381 "DEPEND": buildtime,
382 }
383
384 diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
385 index dcef06f93..ed7aeccad 100644
386 --- a/lib/_emerge/depgraph.py
387 +++ b/lib/_emerge/depgraph.py
388 @@ -3356,19 +3356,15 @@ class depgraph(object):
389 # dependencies, so it's safe to discard them early.
390 edepend["DEPEND"] = ""
391 edepend["BDEPEND"] = ""
392 - edepend["HDEPEND"] = ""
393 ignore_build_time_deps = True
394
395 ignore_depend_deps = ignore_build_time_deps
396 ignore_bdepend_deps = ignore_build_time_deps
397 - ignore_hdepend_deps = ignore_build_time_deps
398
399 if removal_action:
400 depend_root = myroot
401 else:
402 - if eapi_attrs.hdepend:
403 - depend_root = myroot
404 - elif eapi_attrs.bdepend:
405 + if eapi_attrs.bdepend:
406 depend_root = pkg.root_config.settings["ESYSROOT"]
407 else:
408 depend_root = self._frozen_config._running_root.root
409 @@ -3387,8 +3383,6 @@ class depgraph(object):
410 edepend["DEPEND"] = ""
411 if ignore_bdepend_deps:
412 edepend["BDEPEND"] = ""
413 - if ignore_hdepend_deps:
414 - edepend["HDEPEND"] = ""
415
416 # Since build-time deps tend to be a superset of run-time deps, order
417 # dep processing such that build-time deps are popped from
418 @@ -3403,10 +3397,6 @@ class depgraph(object):
419 self._priority(buildtime=True,
420 optional=(pkg.built or ignore_depend_deps),
421 ignored=ignore_depend_deps)),
422 - (self._frozen_config._running_root.root, edepend["HDEPEND"],
423 - self._priority(buildtime=True,
424 - optional=(pkg.built or ignore_hdepend_deps),
425 - ignored=ignore_hdepend_deps)),
426 (self._frozen_config._running_root.root, edepend["BDEPEND"],
427 self._priority(buildtime=True,
428 optional=(pkg.built or ignore_bdepend_deps),
429 diff --git a/lib/portage/__init__.py b/lib/portage/__init__.py
430 index 71cbdad2e..e11abce0c 100644
431 --- a/lib/portage/__init__.py
432 +++ b/lib/portage/__init__.py
433 @@ -518,7 +518,7 @@ auxdbkeys = (
434 'RESTRICT', 'HOMEPAGE', 'LICENSE', 'DESCRIPTION',
435 'KEYWORDS', 'INHERITED', 'IUSE', 'REQUIRED_USE',
436 'PDEPEND', 'BDEPEND', 'EAPI',
437 - 'PROPERTIES', 'DEFINED_PHASES', 'HDEPEND', 'UNUSED_04',
438 + 'PROPERTIES', 'DEFINED_PHASES', 'UNUSED_05', 'UNUSED_04',
439 'UNUSED_03', 'UNUSED_02', 'UNUSED_01',
440 )
441 auxdbkeylen = len(auxdbkeys)
442 diff --git a/lib/portage/cache/metadata.py b/lib/portage/cache/metadata.py
443 index 59b25b606..45a057d08 100644
444 --- a/lib/portage/cache/metadata.py
445 +++ b/lib/portage/cache/metadata.py
446 @@ -30,7 +30,7 @@ class database(flat_hash.database):
447 'RESTRICT', 'HOMEPAGE', 'LICENSE', 'DESCRIPTION',
448 'KEYWORDS', 'INHERITED', 'IUSE', 'REQUIRED_USE',
449 'PDEPEND', 'BDEPEND', 'EAPI', 'PROPERTIES',
450 - 'DEFINED_PHASES', 'HDEPEND')
451 + 'DEFINED_PHASES')
452
453 autocommits = True
454 serialize_eclasses = False
455 diff --git a/lib/portage/dbapi/bintree.py b/lib/portage/dbapi/bintree.py
456 index 9d3ea039b..311c9a78a 100644
457 --- a/lib/portage/dbapi/bintree.py
458 +++ b/lib/portage/dbapi/bintree.py
459 @@ -94,7 +94,7 @@ class bindbapi(fakedbapi):
460 # Selectively cache metadata in order to optimize dep matching.
461 self._aux_cache_keys = set(
462 ["BDEPEND", "BUILD_ID", "BUILD_TIME", "CHOST", "DEFINED_PHASES",
463 - "DEPEND", "EAPI", "HDEPEND", "IUSE", "KEYWORDS",
464 + "DEPEND", "EAPI", "IUSE", "KEYWORDS",
465 "LICENSE", "MD5", "PDEPEND", "PROPERTIES",
466 "PROVIDES", "RDEPEND", "repository", "REQUIRES", "RESTRICT",
467 "SIZE", "SLOT", "USE", "_mtime_"
468 @@ -394,13 +394,13 @@ class binarytree(object):
469 self._pkgindex_aux_keys = \
470 ["BASE_URI", "BDEPEND", "BUILD_ID", "BUILD_TIME", "CHOST",
471 "DEFINED_PHASES", "DEPEND", "DESCRIPTION", "EAPI",
472 - "HDEPEND", "IUSE", "KEYWORDS", "LICENSE", "PDEPEND",
473 + "IUSE", "KEYWORDS", "LICENSE", "PDEPEND",
474 "PKGINDEX_URI", "PROPERTIES", "PROVIDES",
475 "RDEPEND", "repository", "REQUIRES", "RESTRICT",
476 "SIZE", "SLOT", "USE"]
477 self._pkgindex_aux_keys = list(self._pkgindex_aux_keys)
478 self._pkgindex_use_evaluated_keys = \
479 - ("BDEPEND", "DEPEND", "HDEPEND", "LICENSE", "RDEPEND",
480 + ("BDEPEND", "DEPEND", "LICENSE", "RDEPEND",
481 "PDEPEND", "PROPERTIES", "RESTRICT")
482 self._pkgindex_header = None
483 self._pkgindex_header_keys = set([
484 @@ -417,7 +417,6 @@ class binarytree(object):
485 "DEFINED_PHASES" : "",
486 "DEPEND" : "",
487 "EAPI" : "0",
488 - "HDEPEND" : "",
489 "IUSE" : "",
490 "KEYWORDS": "",
491 "LICENSE" : "",
492 diff --git a/lib/portage/dbapi/porttree.py b/lib/portage/dbapi/porttree.py
493 index e4b688b9a..4bb396a6c 100644
494 --- a/lib/portage/dbapi/porttree.py
495 +++ b/lib/portage/dbapi/porttree.py
496 @@ -315,7 +315,7 @@ class portdbapi(dbapi):
497 self._pregen_auxdb[x] = cache
498 # Selectively cache metadata in order to optimize dep matching.
499 self._aux_cache_keys = set(
500 - ["BDEPEND", "DEPEND", "EAPI", "HDEPEND",
501 + ["BDEPEND", "DEPEND", "EAPI",
502 "INHERITED", "IUSE", "KEYWORDS", "LICENSE",
503 "PDEPEND", "PROPERTIES", "RDEPEND", "repository",
504 "RESTRICT", "SLOT", "DEFINED_PHASES", "REQUIRED_USE"])
505 diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py
506 index 039e520d5..29843656f 100644
507 --- a/lib/portage/dbapi/vartree.py
508 +++ b/lib/portage/dbapi/vartree.py
509 @@ -187,7 +187,7 @@ class vardbapi(dbapi):
510 self.vartree = vartree
511 self._aux_cache_keys = set(
512 ["BDEPEND", "BUILD_TIME", "CHOST", "COUNTER", "DEPEND",
513 - "DESCRIPTION", "EAPI", "HDEPEND", "HOMEPAGE",
514 + "DESCRIPTION", "EAPI", "HOMEPAGE",
515 "BUILD_ID", "IUSE", "KEYWORDS",
516 "LICENSE", "PDEPEND", "PROPERTIES", "RDEPEND",
517 "repository", "RESTRICT" , "SLOT", "USE", "DEFINED_PHASES",
518 diff --git a/lib/portage/dep/_slot_operator.py b/lib/portage/dep/_slot_operator.py
519 index bae94b30a..a9f74382c 100644
520 --- a/lib/portage/dep/_slot_operator.py
521 +++ b/lib/portage/dep/_slot_operator.py
522 @@ -68,9 +68,6 @@ def evaluate_slot_operator_equal_deps(settings, use, trees):
523 if eapi_attrs.bdepend:
524 _eval_deps(deps["BDEPEND"], [running_vardb])
525 _eval_deps(deps["DEPEND"], [target_vardb])
526 - elif eapi_attrs.hdepend:
527 - _eval_deps(deps["HDEPEND"], [running_vardb])
528 - _eval_deps(deps["DEPEND"], [target_vardb])
529 else:
530 if running_vardb is not target_vardb:
531 vardbs.append(running_vardb)
532 diff --git a/lib/portage/eapi.py b/lib/portage/eapi.py
533 index 5e12e976d..aca571ebd 100644
534 --- a/lib/portage/eapi.py
535 +++ b/lib/portage/eapi.py
536 @@ -78,7 +78,7 @@ def eapi_has_use_dep_defaults(eapi):
537
538 def eapi_requires_posixish_locale(eapi):
539 return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi",
540 - "5", "5-progress", "5-hdepend")
541 + "5", "5-progress")
542
543 def eapi_has_repo_deps(eapi):
544 return eapi in ("4-python", "5-progress")
545 @@ -101,9 +101,6 @@ def eapi_has_use_aliases(eapi):
546 def eapi_has_automatic_unpack_dependencies(eapi):
547 return eapi in ("5-progress",)
548
549 -def eapi_has_hdepend(eapi):
550 - return eapi in ("5-hdepend",)
551 -
552 def eapi_allows_package_provided(eapi):
553 return eapi in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi",
554 "5", "5-progress", "6")
555 @@ -112,9 +109,6 @@ def eapi_has_bdepend(eapi):
556 return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi",
557 "5", "5-progress", "6")
558
559 -def eapi_has_targetroot(eapi):
560 - return eapi in ("5-hdepend",)
561 -
562 def eapi_empty_groups_always_true(eapi):
563 return eapi in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi",
564 "5", "5-progress", "6")
565 @@ -125,18 +119,18 @@ def eapi_path_variables_end_with_trailing_slash(eapi):
566
567 def eapi_has_broot(eapi):
568 return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi",
569 - "5", "5-progress", "5-hdepend", "6")
570 + "5", "5-progress", "6")
571
572 def eapi_has_sysroot(eapi):
573 return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi",
574 - "5", "5-progress", "5-hdepend", "6")
575 + "5", "5-progress", "6")
576
577 _eapi_attrs = collections.namedtuple('_eapi_attrs',
578 'allows_package_provided '
579 'bdepend broot dots_in_PN dots_in_use_flags exports_EBUILD_PHASE_FUNC '
580 'exports_PORTDIR exports_ECLASSDIR '
581 - 'feature_flag_test feature_flag_targetroot '
582 - 'hdepend iuse_defaults iuse_effective posixish_locale '
583 + 'feature_flag_test '
584 + 'iuse_defaults iuse_effective posixish_locale '
585 'path_variables_end_with_trailing_slash '
586 'repo_deps required_use required_use_at_most_one_of slot_operator slot_deps '
587 'src_uri_arrows strong_blocks use_deps use_dep_defaults '
588 @@ -171,8 +165,6 @@ def _get_eapi_attrs(eapi):
589 exports_PORTDIR = (eapi is None or eapi_exports_PORTDIR(eapi)),
590 exports_ECLASSDIR = (eapi is not None and eapi_exports_ECLASSDIR(eapi)),
591 feature_flag_test = False,
592 - feature_flag_targetroot = (eapi is not None and eapi_has_targetroot(eapi)),
593 - hdepend = (eapi is not None and eapi_has_hdepend(eapi)),
594 iuse_defaults = (eapi is None or eapi_has_iuse_defaults(eapi)),
595 iuse_effective = (eapi is not None and eapi_has_iuse_effective(eapi)),
596 path_variables_end_with_trailing_slash = (eapi is not None and
597 diff --git a/lib/portage/package/ebuild/_config/special_env_vars.py b/lib/portage/package/ebuild/_config/special_env_vars.py
598 index 50e7a9604..5e7ca6d47 100644
599 --- a/lib/portage/package/ebuild/_config/special_env_vars.py
600 +++ b/lib/portage/package/ebuild/_config/special_env_vars.py
601 @@ -19,7 +19,7 @@ env_blacklist = frozenset((
602 "EBUILD_FORCE_TEST", "EBUILD_PHASE",
603 "EBUILD_PHASE_FUNC", "EBUILD_SKIP_MANIFEST",
604 "ED", "EMERGE_FROM", "EPREFIX", "EROOT",
605 - "GREP_OPTIONS", "HDEPEND", "HOMEPAGE",
606 + "GREP_OPTIONS", "HOMEPAGE",
607 "INHERITED", "IUSE", "IUSE_EFFECTIVE",
608 "KEYWORDS", "LICENSE", "MERGE_TYPE",
609 "PDEPEND", "PF", "PKGUSE", "PORTAGE_BACKGROUND",
610 diff --git a/lib/portage/package/ebuild/config.py b/lib/portage/package/ebuild/config.py
611 index 6efb5ae86..47c180c12 100644
612 --- a/lib/portage/package/ebuild/config.py
613 +++ b/lib/portage/package/ebuild/config.py
614 @@ -75,7 +75,7 @@ if sys.hexversion >= 0x3000000:
615 _feature_flags_cache = {}
616
617 def _get_feature_flags(eapi_attrs):
618 - cache_key = (eapi_attrs.feature_flag_test, eapi_attrs.feature_flag_targetroot)
619 + cache_key = (eapi_attrs.feature_flag_test,)
620 flags = _feature_flags_cache.get(cache_key)
621 if flags is not None:
622 return flags
623 @@ -83,8 +83,6 @@ def _get_feature_flags(eapi_attrs):
624 flags = []
625 if eapi_attrs.feature_flag_test:
626 flags.append("test")
627 - if eapi_attrs.feature_flag_targetroot:
628 - flags.append("targetroot")
629
630 flags = frozenset(flags)
631 _feature_flags_cache[cache_key] = flags
632 @@ -160,7 +158,7 @@ class config(object):
633 'PORTAGE_LOGDIR_CLEAN': 'PORT_LOGDIR_CLEAN',
634 'SIGNED_OFF_BY': 'DCO_SIGNED_OFF_BY'}
635
636 - _setcpv_aux_keys = ('BDEPEND', 'DEFINED_PHASES', 'DEPEND', 'EAPI', 'HDEPEND',
637 + _setcpv_aux_keys = ('BDEPEND', 'DEFINED_PHASES', 'DEPEND', 'EAPI',
638 'INHERITED', 'IUSE', 'REQUIRED_USE', 'KEYWORDS', 'LICENSE', 'PDEPEND',
639 'PROPERTIES', 'RDEPEND', 'SLOT',
640 'repository', 'RESTRICT', 'LICENSE',)
641 @@ -1804,13 +1802,6 @@ class config(object):
642 self["FEATURES"] = " ".join(x for x in self.features \
643 if x != "test")
644
645 - if eapi_attrs.feature_flag_targetroot and \
646 - ("targetroot" in explicit_iuse or iuse_implicit_match("targetroot")):
647 - if self["ROOT"] != "/":
648 - use.add("targetroot")
649 - else:
650 - use.discard("targetroot")
651 -
652 # Allow _* flags from USE_EXPAND wildcards to pass through here.
653 use.difference_update([x for x in use \
654 if (x not in explicit_iuse and \
655 diff --git a/man/emerge.1 b/man/emerge.1
656 index df06c54c2..4ce0dbebc 100644
657 --- a/man/emerge.1
658 +++ b/man/emerge.1
659 @@ -963,12 +963,10 @@ of packages for \fBROOT\fR.
660 This option is only meaningful when used together with \fBROOT\fR and it should
661 not be enabled under normal circumstances!
662
663 -Does not affect EAPIs that support \fBBDEPEND\fR or \fBHDEPEND\fR.
664 -\fBEAPI 7\fR introduces \fBBDEPEND\fR and experimental
665 -\fBEAPI 5-hdepend\fR features \fBHDEPEND\fR as a means to adjust
666 -installation into / and \fBROOT\fR. Use the \fBSYSROOT\fR environment
667 -variable to control where \fBDEPEND\fR is installed to under
668 -\fBEAPI 7\fR.
669 +Does not affect EAPIs that support \fBBDEPEND\fR. \fBEAPI 7\fR introduces
670 +\fBBDEPEND\fR as a means to adjust installation into / and \fBROOT\fR. Use
671 +the \fBSYSROOT\fR environment variable to control where \fBDEPEND\fR
672 +is installed to under \fBEAPI 7\fR.
673
674 When ebuilds with different EAPIs feature in the same emerge run, the
675 appropriate behaviour for each EAPI is applied independently to each
676 diff --git a/repoman/cnf/repository/linechecks.yaml b/repoman/cnf/repository/linechecks.yaml
677 index bad7df93d..c323ac1f0 100644
678 --- a/repoman/cnf/repository/linechecks.yaml
679 +++ b/repoman/cnf/repository/linechecks.yaml
680 @@ -248,5 +248,4 @@ in_iuse_supported_eapis:
681 - "4-python"
682 - "4-slot-abi"
683 - "5"
684 - - "5-hdepend"
685 - "5-progress"
686 diff --git a/repoman/lib/repoman/modules/linechecks/patches/patches.py b/repoman/lib/repoman/modules/linechecks/patches/patches.py
687 index 63651cd7c..b360805db 100644
688 --- a/repoman/lib/repoman/modules/linechecks/patches/patches.py
689 +++ b/repoman/lib/repoman/modules/linechecks/patches/patches.py
690 @@ -13,4 +13,4 @@ class EbuildPatches(LineCheck):
691
692 def check_eapi(self, eapi):
693 return eapi in ("0", "1", "2", "3", "4", "4-python",
694 - "4-slot-abi", "5", "5-hdepend", "5-progress")
695 + "4-slot-abi", "5", "5-progress")
696 --
697 2.24.1

Replies