From 729531f12e097f8bcbbe12d86bad169f27aa8aca Mon Sep 17 00:00:00 2001 From: MATSUU Takuto Date: Fri, 20 May 2011 12:20:58 -0700 Subject: Add FEATURES=distcc-pump support. This will fix bug #288597. --- bin/ebuild.sh | 7 +++++++ man/make.conf.5 | 3 +++ pym/_emerge/EbuildPhase.py | 2 +- pym/portage/const.py | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bin/ebuild.sh b/bin/ebuild.sh index c3cf18164..37a308481 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -1071,6 +1071,13 @@ dyn_compile() { trap abort_compile SIGINT SIGQUIT + if hasq distcc $FEATURES && hasq distcc-pump $FEATURES ; then + if [[ -z $INCLUDE_SERVER_PORT ]] || [[ ! -w $INCLUDE_SERVER_PORT ]] ; then + eval $(/usr/bin/pump --startup) + trap "/usr/bin/pump --shutdown" EXIT + fi + fi + ebuild_phase pre_src_compile vecho ">>> Compiling source in $PWD ..." diff --git a/man/make.conf.5 b/man/make.conf.5 index bec815850..86ac46231 100644 --- a/man/make.conf.5 +++ b/man/make.conf.5 @@ -257,6 +257,9 @@ will be reused whenever they are available. .B distcc Enable portage support for the distcc package. .TP +.B distcc\-pump +Enable portage support for the distcc package with pump mode. +.TP .B distlocks Portage uses lockfiles to ensure competing instances don't clobber each other's files. This feature is enabled by default but may cause diff --git a/pym/_emerge/EbuildPhase.py b/pym/_emerge/EbuildPhase.py index db1d59e62..306932f42 100644 --- a/pym/_emerge/EbuildPhase.py +++ b/pym/_emerge/EbuildPhase.py @@ -33,7 +33,7 @@ class EbuildPhase(CompositeTask): ("_ebuild_lock",) # FEATURES displayed prior to setup phase - _features_display = ("ccache", "distcc", "fakeroot", + _features_display = ("ccache", "distcc", "distcc-pump", "fakeroot", "installsources", "keeptemp", "keepwork", "nostrip", "preserve-libs", "sandbox", "selinux", "sesandbox", "splitdebug", "suidctl", "test", "userpriv", diff --git a/pym/portage/const.py b/pym/portage/const.py index 98f3dac6d..e91c00989 100644 --- a/pym/portage/const.py +++ b/pym/portage/const.py @@ -88,7 +88,7 @@ EBUILD_PHASES = ("pretend", "setup", "unpack", "prepare", "configure" SUPPORTED_FEATURES = frozenset([ "assume-digests", "binpkg-logs", "buildpkg", "buildsyspkg", "candy", "ccache", "chflags", "collision-protect", "compress-build-logs", - "digest", "distcc", "distlocks", "ebuild-locks", "fakeroot", + "digest", "distcc", "distcc-pump", "distlocks", "ebuild-locks", "fakeroot", "fail-clean", "fixpackages", "force-mirror", "getbinpkg", "installsources", "keeptemp", "keepwork", "fixlafiles", "lmirror", "metadata-transfer", "mirror", "multilib-strict", "news", -- cgit v1.2.3-1-g7c22