From 4320d2d1a1d2eaf79d1f35f18ae0a09c5f523e18 Mon Sep 17 00:00:00 2001 From: MATSUU Takuto Date: Fri, 20 May 2011 23:44:05 +0900 Subject: [PATCH] Bug #288597 - Add support for FEATURES=distcc-pump. --- 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 c3cf181..37a3084 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 bec8158..5fe6f06 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 db1d59e..306932f 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 98f3dac..e91c009 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", -- 1.7.5.rc3