diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2013-03-12 03:30:04 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-06-29 16:28:47 +0200 |
commit | 321e1d752c220f11465cf047c8af322a03eff9f8 (patch) | |
tree | 55b8effb947eadb7a3f5fcc91452831136ce5fd6 /src/lib/Bcfg2/Server/Plugins/Packages/Portage.py | |
parent | 05fd77a8e307dd35aa382fb31e59acdd6cc3be08 (diff) | |
download | bcfg2-321e1d752c220f11465cf047c8af322a03eff9f8.tar.gz bcfg2-321e1d752c220f11465cf047c8af322a03eff9f8.tar.bz2 bcfg2-321e1d752c220f11465cf047c8af322a03eff9f8.zip |
Plugins/Packages/Layman: add support for layman overlays
In combination with the PortageCollection the Packages plugin could now handle
layman overlays. The Portage collection evaluates the dependencies with
respect to the configured overlays.
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/Portage.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Portage.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py b/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py index 934619500..02bcfa5a2 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py @@ -5,6 +5,7 @@ import os import lxml.etree import Bcfg2.Server.Plugin from Bcfg2.Server.Plugins.Packages.Collection import Collection +from Bcfg2.Server.Plugins.Packages.Layman import LaymanSource _portage_python = '/usr/lib/portage/pym/' @@ -170,6 +171,13 @@ class PortageCollection(Collection): env = portage.settings.configdict['backupenv'] + # add layman overlays + env['PORTDIR_OVERLAY'] = '' + for overlay in self.sources: + if isinstance(overlay, LaymanSource): + env['PORTDIR_OVERLAY'] += ' ' + env['PORTDIR_OVERLAY'] += overlay.dir + portage.settings = portage.package.ebuild.config.config( config_root=portage.settings['PORTAGE_CONFIGROOT'], target_root=portage.settings['ROOT'], |