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 |