Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>, Mike Frysinger <vapier@g.o>
Subject: [gentoo-portage-dev] [PATCH 1/7] prepstrip: Disable parallel work
Date: Sun, 25 Mar 2018 20:32:14
Message-Id: 20180325202826.7827-2-zmedico@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH 0/7] Add dostrip for EAPI 7 by Zac Medico
1 From: Michał Górny <mgorny@g.o>
2
3 ---
4 bin/ebuild-helpers/prepstrip | 20 +++-----------------
5 1 file changed, 3 insertions(+), 17 deletions(-)
6
7 diff --git a/bin/ebuild-helpers/prepstrip b/bin/ebuild-helpers/prepstrip
8 index 2136e0d4d..74ab52c5b 100755
9 --- a/bin/ebuild-helpers/prepstrip
10 +++ b/bin/ebuild-helpers/prepstrip
11 @@ -2,7 +2,7 @@
12 # Copyright 1999-2018 Gentoo Foundation
13 # Distributed under the terms of the GNU General Public License v2
14
15 -source "${PORTAGE_BIN_PATH}"/helper-functions.sh || exit 1
16 +source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
17
18 # avoid multiple calls to `has`. this creates things like:
19 # FEATURES_foo=false
20 @@ -99,8 +99,6 @@ fi
21 [[ ${debugedit} ]] && debugedit_found=true || debugedit_found=false
22 debugedit_warned=false
23
24 -__multijob_init
25 -
26 # Setup $T filesystem layout that we care about.
27 tmpdir="${T}/prepstrip"
28 rm -rf "${tmpdir}"
29 @@ -256,8 +254,6 @@ if ! ${RESTRICT_binchecks} && ! ${RESTRICT_strip} ; then
30 # parallel though.
31 log=${tmpdir}/scanelf-already-stripped.log
32 scanelf -yqRBF '#k%F' -k '!.symtab' "$@" | sed -e "s#^${ED%/}/##" > "${log}"
33 - (
34 - __multijob_child_init
35 qa_var="QA_PRESTRIPPED_${ARCH/-/_}"
36 [[ -n ${!qa_var} ]] && QA_PRESTRIPPED="${!qa_var}"
37 if [[ -n ${QA_PRESTRIPPED} && -s ${log} && \
38 @@ -278,8 +274,6 @@ if ! ${RESTRICT_binchecks} && ! ${RESTRICT_strip} ; then
39 else
40 rm -f "${log}"
41 fi
42 - ) &
43 - __multijob_post_fork
44 fi
45
46 # Since strip creates a new inode, we need to know the initial set of
47 @@ -313,10 +307,8 @@ do
48 banner=true
49 fi
50
51 - (
52 - __multijob_child_init
53 - f=$(file "${x}") || exit 0
54 - [[ -z ${f} ]] && exit 0
55 + f=$(file "${x}") || continue
56 + [[ -z ${f} ]] && continue
57
58 if ! ${SKIP_STRIP} ; then
59 # The noglob funk is to support STRIP_MASK="/*/booga" and to keep
60 @@ -368,16 +360,10 @@ do
61 if ${was_not_writable} ; then
62 chmod u-w "${x}"
63 fi
64 - ) &
65 - __multijob_post_fork
66
67 done < "${inode_link}"
68 done
69
70 -# With a bit more work, we could run the rsync processes below in
71 -# parallel, but not sure that'd be an overall improvement.
72 -__multijob_finish
73 -
74 cd "${tmpdir}"/sources/ && cat * > "${tmpdir}/debug.sources" 2>/dev/null
75 if [[ -s ${tmpdir}/debug.sources ]] && \
76 ${FEATURES_installsources} && \
77 --
78 2.13.6