[jhbuild/external-deps] Make aliases location configurable



commit 8939b119d7c95a8793e625953a0dec755339b8eb
Author: John Carr <john carr unrouted co uk>
Date:   Sun Jun 7 22:05:55 2009 +0100

    Make aliases location configurable
---
 jhbuild/config.py               |    2 +-
 jhbuild/defaults.jhbuildrc      |    3 +++
 jhbuild/utils/systempackages.py |   15 +++++++--------
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/jhbuild/config.py b/jhbuild/config.py
index f8bc495..23e87fd 100644
--- a/jhbuild/config.py
+++ b/jhbuild/config.py
@@ -55,7 +55,7 @@ _known_keys = [ 'moduleset', 'modules', 'skip', 'tags', 'prefix',
                 'jhbuildbot_dir', 'jhbuildbot_mastercfg',
                 'use_local_modulesets', 'ignore_suggests', 'modulesets_dir',
                 'mirror_policy', 'module_mirror_policy', 'dvcs_mirror_dir',
-                'build_targets',
+                'build_targets', 'aliases_dir',
                 ]
 
 env_prepends = {}
diff --git a/jhbuild/defaults.jhbuildrc b/jhbuild/defaults.jhbuildrc
index badf516..e5a8189 100644
--- a/jhbuild/defaults.jhbuildrc
+++ b/jhbuild/defaults.jhbuildrc
@@ -10,6 +10,9 @@ if 'GTK_PATH' in os.environ.keys():
 # module directory
 modulesets_dir = os.path.join(SRCDIR, 'modulesets')
 
+# aliases directory
+aliases_dir = os.path.join(SRCDIR, 'aliases')
+
 # what modules to build?
 moduleset = 'gnome-2.28'
 modules = [ 'meta-gnome-desktop' ]
diff --git a/jhbuild/utils/systempackages.py b/jhbuild/utils/systempackages.py
index 0a000f2..ef01861 100644
--- a/jhbuild/utils/systempackages.py
+++ b/jhbuild/utils/systempackages.py
@@ -27,10 +27,10 @@ from jhbuild.versioncontrol.tarball import TarballBranch
 
 class SystemPackages(object):
 
-    def __init__(self):
+    def __init__(self, config):
         self.aliases = {}
 
-        af = os.path.join(".", "aliases", self.aliasesfile)
+        af = os.path.join(config.aliases_dir, "aliases", self.aliasesfile)
         tmp = {}
         if os.path.exists(af+'.generated'):
             execfile(af+'.generated', tmp)
@@ -94,9 +94,8 @@ class DebianPackages(SystemPackages):
 
     aliasesfile = "debian.aliases"
 
-    def __init__(self):
-        super(DebianPackages, self).__init__()
-        import apt
+    def __init__(self, config):
+        super(DebianPackages, self).__init__(config)
         self.apt_cache = apt.Cache()
 
     def is_installed(self, name, version=None):
@@ -145,14 +144,14 @@ class DebianPackages(SystemPackages):
 
 system_packages = None
 
-def get_system_packages():
+def get_system_packages(config):
     global system_packages
     if not system_packages:
         for c in SystemPackages.__subclasses__():
             if c.supported():
-                system_packages = c()
+                system_packages = c(config)
                 break
         else:
-            system_packages = SystemPackages()
+            system_packages = SystemPackages(config)
     return system_packages
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]