aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/_emerge')
-rw-r--r--lib/_emerge/EbuildBuild.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/_emerge/EbuildBuild.py b/lib/_emerge/EbuildBuild.py
index 2ed16537b..6d290e116 100644
--- a/lib/_emerge/EbuildBuild.py
+++ b/lib/_emerge/EbuildBuild.py
@@ -343,9 +343,24 @@ class EbuildBuild(CompositeTask):
and opts.buildpkg != "n"
)
+ # Do not build binary cache for packages from volatile sources.
+ # For volatile sources (eg., git), the PROPERTIES parameter in
+ # the ebuild is set to 'live'.
+
+ # The default behavior is to build binary cache for all pkgs.
+ # "buildpkg-live" is a FEATURE that is enabled by default.
+ # To not build binary cache for live pkgs, we disable it by
+ # specifying FEATURES="-buildpkg-live"
+
+ buildpkg_live = "buildpkg-live" in features
+ live_ebuild = "live" in self.settings.get("PROPERTIES", "").split()
+ buildpkg_live_disabled = live_ebuild and not buildpkg_live
+
if (
- "buildpkg" in features or self._issyspkg
- ) and not self.opts.buildpkg_exclude.findAtomForPackage(pkg):
+ ("buildpkg" in features or self._issyspkg)
+ and not buildpkg_live_disabled
+ and not self.opts.buildpkg_exclude.findAtomForPackage(pkg)
+ ):
self._buildpkg = True