summaryrefslogtreecommitdiffstats
path: root/pyanaconda/installclass.py
diff options
context:
space:
mode:
authorMartin Sivak <msivak@redhat.com>2012-05-23 16:19:08 +0200
committerMartin Sivak <msivak@redhat.com>2012-05-24 10:46:45 +0200
commit17ed92de4218290cd5c57847ec605e5f994479ee (patch)
tree5b9b5fd9bef9620cc952b388f85a4fae3c1c99d4 /pyanaconda/installclass.py
parent40056b6190080b4a422c41a12eb81bbe1af7db8d (diff)
downloadanaconda-17ed92de4218290cd5c57847ec605e5f994479ee.tar.gz
anaconda-17ed92de4218290cd5c57847ec605e5f994479ee.tar.xz
anaconda-17ed92de4218290cd5c57847ec605e5f994479ee.zip
Improve the runspoke.py tool and make it callable from make
make runspoke SPOKE_MODULE=source or make runspoke SPOKE_MODULE=source SPOKE_CLASS=InstallSource - runspoke now accepts the name of the module containing the spoke the user wants to run on command line and will find the spoke automatically - as an optional second argument, the script accepts the name of the spoke class - install classes and gi introspection files are looked for in anaconda sources first, so there is no need to install the anaconda-widgets package to the system - anaconda should use ANACONDA_DATA, ANACONDA_WIDGETS_DATA and ANACONDA_INSTALL_CLASSES env variables to look for data files if those variables are defined - there was a circular dependency between yuminstall, backend and kickstart modules, which caused import yuminstall to fail, because: yuminstall called backend, which called kickstart, which requested NoSuchGroup from yuminstall. NoSuchGroup was present in the source, but much later, so it hadn't been evaluated yet and the import failed with missing symbol error.
Diffstat (limited to 'pyanaconda/installclass.py')
-rw-r--r--pyanaconda/installclass.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/pyanaconda/installclass.py b/pyanaconda/installclass.py
index 7e8aca125..75a039853 100644
--- a/pyanaconda/installclass.py
+++ b/pyanaconda/installclass.py
@@ -245,7 +245,11 @@ def availableClasses(showHidden=0):
path = []
- for dir in ["installclasses",
+ env_path = []
+ if "ANACONDA_INSTALL_CLASSES" in os.environ:
+ env_path += os.environ["ANACONDA_INSTALL_CLASSES"].split(":")
+
+ for dir in env_path + ["installclasses",
"/tmp/updates/pyanaconda/installclasses",
"/tmp/product/pyanaconda/installclasses",
"%s/pyanaconda/installclasses" % get_python_lib(plat_specific=1) ]:
@@ -316,6 +320,7 @@ def getBaseInstallClass():
# figure out what installclass we should base on.
allavail = availableClasses(showHidden = 1)
avail = availableClasses(showHidden = 0)
+
if len(avail) == 1:
(cname, cobject, clogo) = avail[0]
log.info("using only installclass %s" %(cname,))