diff options
-rw-r--r-- | g_octave/config.py | 12 | ||||
-rw-r--r-- | g_octave/package_manager.py | 10 |
2 files changed, 10 insertions, 12 deletions
diff --git a/g_octave/config.py b/g_octave/config.py index ae67556..006813b 100644 --- a/g_octave/config.py +++ b/g_octave/config.py @@ -70,8 +70,6 @@ class Config(object): for dir in [_db, _overlay]: if not os.path.exists(dir) and create_dirs: os.makedirs(dir, 0o755) - - self.overlay_bootstrap() self._cache = {} self._info = {} @@ -100,13 +98,3 @@ class Config(object): return self._config.get(self._section_name, attr) return from_env - - def overlay_bootstrap(self): - pm = self._getattr('package_manager') - overlay = self._getattr('overlay') - if pm == 'portage': - # just insert our overlay dir to the begin of PORTDIR-overlay - os.environ['PORTDIR_OVERLAY'] = overlay - portdir = os.environ.get('PORTDIR_OVERLAY', '') - if portdir != '': - os.environ['PORTDIR_OVERLAY'] += ' ' + portdir diff --git a/g_octave/package_manager.py b/g_octave/package_manager.py index 6de64b1..0d48669 100644 --- a/g_octave/package_manager.py +++ b/g_octave/package_manager.py @@ -22,9 +22,12 @@ import os import pwd import subprocess +from g_octave.config import Config from g_octave.ebuild import Ebuild from g_octave.compat import open +conf = Config(True) + class Base: _client = '' @@ -69,6 +72,7 @@ class Portage(Base): ] def __init__(self, ask=False, verbose=False, pretend=False, nocolor=False): + self.overlay_bootstrap() self._fullcommand = [self._client] ask and self._fullcommand.append('--ask') verbose and self._fullcommand.append('--verbose') @@ -112,6 +116,12 @@ class Portage(Base): return False return True + def overlay_bootstrap(self): + overlay = conf.overlay + portdir_overlay = os.environ.get('PORTDIR_OVERLAY', '') + if overlay not in portdir_overlay: + os.environ['PORTDIR_OVERLAY'] = (portdir_overlay + ' ' + overlay).strip() + class Pkgcore(Base): |