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 1/4] Remove deprecated dbkey support from doebuild/ebuild.sh
Date: Fri, 03 Sep 2021 16:35:42
Message-Id: 20210903163532.2465253-2-mgorny@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH 0/4] Modernize metadata passing & add INHERIT to md5-cache by "Michał Górny"
1 Remove the support for the dbkey logic that used to write metadata into
2 a file. This logic has stopped being used and became deprecated
3 in 2013. If any external tool is still using it, it's probably been
4 broken by changes in metadata itself since, and would definitely
5 be broken by the incoming change in metadata format.
6
7 Signed-off-by: Michał Górny <mgorny@g.o>
8 ---
9 bin/ebuild.sh | 23 ++++-------------------
10 lib/portage/package/ebuild/doebuild.py | 22 +++-------------------
11 2 files changed, 7 insertions(+), 38 deletions(-)
12
13 diff --git a/bin/ebuild.sh b/bin/ebuild.sh
14 index 3042e6c8c..32995d95b 100755
15 --- a/bin/ebuild.sh
16 +++ b/bin/ebuild.sh
17 @@ -754,14 +754,6 @@ if [[ $EBUILD_PHASE = depend ]] ; then
18 export SANDBOX_ON="0"
19 set -f
20
21 - if [ -n "${dbkey}" ] ; then
22 - if [ ! -d "${dbkey%/*}" ]; then
23 - install -d -g ${PORTAGE_GID} -m2775 "${dbkey%/*}"
24 - fi
25 - # Make it group writable. 666&~002==664
26 - umask 002
27 - fi
28 -
29 auxdbkeys="DEPEND RDEPEND SLOT SRC_URI RESTRICT HOMEPAGE LICENSE
30 DESCRIPTION KEYWORDS INHERITED IUSE REQUIRED_USE PDEPEND BDEPEND
31 EAPI PROPERTIES DEFINED_PHASES IDEPEND UNUSED_04
32 @@ -775,17 +767,10 @@ if [[ $EBUILD_PHASE = depend ]] ; then
33 fi
34
35 # The extra $(echo) commands remove newlines.
36 - if [ -n "${dbkey}" ] ; then
37 - > "${dbkey}"
38 - for f in ${auxdbkeys} ; do
39 - echo $(echo ${!f}) >> "${dbkey}" || exit $?
40 - done
41 - else
42 - for f in ${auxdbkeys} ; do
43 - eval "echo \$(echo \${!f}) 1>&${PORTAGE_PIPE_FD}" || exit $?
44 - done
45 - eval "exec ${PORTAGE_PIPE_FD}>&-"
46 - fi
47 + for f in ${auxdbkeys} ; do
48 + eval "echo \$(echo \${!f}) 1>&${PORTAGE_PIPE_FD}" || exit $?
49 + done
50 + eval "exec ${PORTAGE_PIPE_FD}>&-"
51 set +f
52 else
53 # Note: readonly variables interfere with __preprocess_ebuild_env(), so
54 diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py
55 index 366cbb9ca..5115ff6a3 100644
56 --- a/lib/portage/package/ebuild/doebuild.py
57 +++ b/lib/portage/package/ebuild/doebuild.py
58 @@ -568,7 +568,7 @@ _doebuild_commands_without_builddir = (
59 )
60
61 def doebuild(myebuild, mydo, _unused=DeprecationWarning, settings=None, debug=0, listonly=0,
62 - fetchonly=0, cleanup=0, dbkey=DeprecationWarning, use_cache=1, fetchall=0, tree=None,
63 + fetchonly=0, cleanup=0, use_cache=1, fetchall=0, tree=None,
64 mydbapi=None, vartree=None, prev_mtimes=None,
65 fd_pipes=None, returnpid=False):
66 """
67 @@ -591,9 +591,6 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, settings=None, debug=0,
68 @type fetchonly: Boolean
69 @param cleanup: Passed to prepare_build_dirs (TODO: what does it do?)
70 @type cleanup: Boolean
71 - @param dbkey: A file path where metadata generated by the 'depend' phase
72 - will be written.
73 - @type dbkey: String
74 @param use_cache: Enables the cache
75 @type use_cache: Boolean
76 @param fetchall: Used to wrap fetch(), fetches all URIs (even ones invalid due to USE conditionals)
77 @@ -637,11 +634,6 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, settings=None, debug=0,
78 "settings['EROOT'] is used.",
79 DeprecationWarning, stacklevel=2)
80
81 - if dbkey is not DeprecationWarning:
82 - warnings.warn("portage.doebuild() called "
83 - "with deprecated dbkey argument.",
84 - DeprecationWarning, stacklevel=2)
85 -
86 if not tree:
87 writemsg("Warning: tree not specified to doebuild\n")
88 tree = "porttree"
89 @@ -836,16 +828,8 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, settings=None, debug=0,
90
91 # get possible slot information from the deps file
92 if mydo == "depend":
93 - writemsg("!!! DEBUG: dbkey: %s\n" % str(dbkey), 2)
94 - if returnpid:
95 - return _spawn_phase(mydo, mysettings,
96 - fd_pipes=fd_pipes, returnpid=returnpid)
97 - if dbkey and dbkey is not DeprecationWarning:
98 - mysettings["dbkey"] = dbkey
99 - else:
100 - mysettings["dbkey"] = \
101 - os.path.join(mysettings.depcachedir, "aux_db_key_temp")
102 -
103 + if not returnpid:
104 + raise TypeError("returnpid must be True for depend phase")
105 return _spawn_phase(mydo, mysettings,
106 fd_pipes=fd_pipes, returnpid=returnpid)
107
108 --
109 2.33.0