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] Disarm FEATURES=distcc-pump
Date: Mon, 16 Jul 2018 09:26:14
Message-Id: 20180716092603.14050-1-mgorny@gentoo.org
1 The pump mode of distcc has been causing issues for years now,
2 and upstream does even attempt to fix it. Disarm the FEATURES so that
3 people do not have to do that themselves after discovering all the bugs.
4 ---
5 bin/phase-functions.sh | 17 -----------------
6 man/make.conf.5 | 5 ++++-
7 pym/_emerge/EbuildPhase.py | 2 +-
8 3 files changed, 5 insertions(+), 19 deletions(-)
9
10 diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
11 index 1f9faaa41..9c6f9cbd5 100644
12 --- a/bin/phase-functions.sh
13 +++ b/bin/phase-functions.sh
14 @@ -402,19 +402,6 @@ __dyn_prepare() {
15 trap - SIGINT SIGQUIT
16 }
17
18 -# @FUNCTION: __start_distcc
19 -# @DESCRIPTION:
20 -# Start distcc-pump if necessary.
21 -__start_distcc() {
22 - if has distcc $FEATURES && has distcc-pump $FEATURES ; then
23 - if [[ -z $INCLUDE_SERVER_PORT ]] || [[ ! -w $INCLUDE_SERVER_PORT ]] ; then
24 - # adding distcc to PATH repeatedly results in fatal distcc recursion :)
25 - eval $(pump --startup | grep -v PATH)
26 - trap "pump --shutdown >/dev/null" EXIT
27 - fi
28 - fi
29 -}
30 -
31 __dyn_configure() {
32
33 if [[ -e $PORTAGE_BUILDDIR/.configured ]] ; then
34 @@ -434,7 +421,6 @@ __dyn_configure() {
35 fi
36
37 trap __abort_configure SIGINT SIGQUIT
38 - __start_distcc
39
40 __ebuild_phase pre_src_configure
41
42 @@ -468,7 +454,6 @@ __dyn_compile() {
43 fi
44
45 trap __abort_compile SIGINT SIGQUIT
46 - __start_distcc
47
48 __ebuild_phase pre_src_compile
49
50 @@ -492,7 +477,6 @@ __dyn_test() {
51 fi
52
53 trap "__abort_test" SIGINT SIGQUIT
54 - __start_distcc
55
56 if [ -d "${S}" ]; then
57 cd "${S}"
58 @@ -536,7 +520,6 @@ __dyn_install() {
59 return 0
60 fi
61 trap "__abort_install" SIGINT SIGQUIT
62 - __start_distcc
63
64 # Handle setting QA_* based on QA_PREBUILT
65 # Those variables shouldn't be needed before src_install()
66 diff --git a/man/make.conf.5 b/man/make.conf.5
67 index cb0f00237..9487991d9 100644
68 --- a/man/make.conf.5
69 +++ b/man/make.conf.5
70 @@ -385,7 +385,10 @@ will be reused whenever they are available.
71 Enable portage support for the distcc package.
72 .TP
73 .B distcc\-pump
74 -Enable portage support for the distcc package with pump mode.
75 +Ignored. In the past it used to enable distcc pump mode support
76 +but it has been removed due to causing numerous issues (including build
77 +failures, incorrect configure results and even silent miscompilations),
78 +and being unmaintained upstream.
79 .TP
80 .B distlocks
81 Portage uses lockfiles to ensure competing instances don't clobber
82 diff --git a/pym/_emerge/EbuildPhase.py b/pym/_emerge/EbuildPhase.py
83 index 4104cefa7..50e3dd1f4 100644
84 --- a/pym/_emerge/EbuildPhase.py
85 +++ b/pym/_emerge/EbuildPhase.py
86 @@ -49,7 +49,7 @@ class EbuildPhase(CompositeTask):
87
88 # FEATURES displayed prior to setup phase
89 _features_display = (
90 - "ccache", "compressdebug", "distcc", "distcc-pump", "fakeroot",
91 + "ccache", "compressdebug", "distcc", "fakeroot",
92 "installsources", "keeptemp", "keepwork", "network-sandbox",
93 "network-sandbox-proxy", "nostrip", "preserve-libs", "sandbox",
94 "selinux", "sesandbox", "splitdebug", "suidctl", "test",
95 --
96 2.18.0

Replies

Subject Author
Re: [gentoo-portage-dev] [PATCH] Disarm FEATURES=distcc-pump Zac Medico <zmedico@g.o>