Add FEATURES=distcc-pump support.
authorMATSUU Takuto <matsuu@gentoo.org>
Fri, 20 May 2011 19:20:58 +0000 (12:20 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 20 May 2011 19:20:58 +0000 (12:20 -0700)
This will fix bug #288597.

bin/ebuild.sh
man/make.conf.5
pym/_emerge/EbuildPhase.py
pym/portage/const.py

index c3cf18164cf16db254152829dcf6aa96b6f53a23..37a30848106b03098f6a0fc7d2e77b8fc7804212 100755 (executable)
@@ -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 ..."
index bec815850d6a626360844c498e32ddf7818d5eac..86ac46231769919cada83ed142b74d66ae4a9782 100644 (file)
@@ -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
index db1d59e622e7c637e857efb754112c3c645f3613..306932f42f68ead788c51679002a29eac738567c 100644 (file)
@@ -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",
index 98f3dac6df977caade89553a00c1fb8555e679bd..e91c009890ef065ad3abedb2871c4adbac524472 100644 (file)
@@ -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",