aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--g_octave/config.py12
-rw-r--r--g_octave/package_manager.py10
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):