aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/catalyst46
-rw-r--r--catalyst/__init__.py (renamed from modules/__init__.py)0
-rw-r--r--catalyst/arch/__init__.py1
-rw-r--r--catalyst/arch/alpha.py (renamed from arch/alpha.py)0
-rw-r--r--catalyst/arch/amd64.py (renamed from arch/amd64.py)0
-rw-r--r--catalyst/arch/arm.py (renamed from arch/arm.py)0
-rw-r--r--catalyst/arch/hppa.py (renamed from arch/hppa.py)0
-rw-r--r--catalyst/arch/ia64.py (renamed from arch/ia64.py)0
-rw-r--r--catalyst/arch/m68k.py (renamed from arch/m68k.py)0
-rw-r--r--catalyst/arch/mips.py (renamed from arch/mips.py)0
-rw-r--r--catalyst/arch/powerpc.py (renamed from arch/powerpc.py)0
-rw-r--r--catalyst/arch/s390.py (renamed from arch/s390.py)0
-rw-r--r--catalyst/arch/sh.py (renamed from arch/sh.py)0
-rw-r--r--catalyst/arch/sparc.py (renamed from arch/sparc.py)0
-rw-r--r--catalyst/arch/x86.py (renamed from arch/x86.py)0
-rw-r--r--catalyst/config.py (renamed from modules/catalyst/config.py)0
-rw-r--r--[-rwxr-xr-x]catalyst/main.py (renamed from catalyst)48
-rw-r--r--catalyst/modules/__init__.py1
-rw-r--r--catalyst/modules/builder.py (renamed from modules/builder.py)0
-rw-r--r--catalyst/modules/catalyst_lock.py (renamed from modules/catalyst_lock.py)0
-rw-r--r--catalyst/modules/catalyst_support.py (renamed from modules/catalyst_support.py)0
-rw-r--r--catalyst/modules/embedded_target.py (renamed from modules/embedded_target.py)0
-rw-r--r--catalyst/modules/generic_stage_target.py (renamed from modules/generic_stage_target.py)15
-rw-r--r--catalyst/modules/generic_target.py (renamed from modules/generic_target.py)0
-rw-r--r--catalyst/modules/grp_target.py (renamed from modules/grp_target.py)0
-rw-r--r--catalyst/modules/livecd_stage1_target.py (renamed from modules/livecd_stage1_target.py)0
-rw-r--r--catalyst/modules/livecd_stage2_target.py (renamed from modules/livecd_stage2_target.py)0
-rw-r--r--catalyst/modules/netboot2_target.py (renamed from modules/netboot2_target.py)0
-rw-r--r--catalyst/modules/netboot_target.py (renamed from modules/netboot_target.py)0
-rw-r--r--catalyst/modules/snapshot_target.py (renamed from modules/snapshot_target.py)0
-rw-r--r--catalyst/modules/stage1_target.py (renamed from modules/stage1_target.py)0
-rw-r--r--catalyst/modules/stage2_target.py (renamed from modules/stage2_target.py)0
-rw-r--r--catalyst/modules/stage3_target.py (renamed from modules/stage3_target.py)0
-rw-r--r--catalyst/modules/stage4_target.py (renamed from modules/stage4_target.py)0
-rw-r--r--catalyst/modules/tinderbox_target.py (renamed from modules/tinderbox_target.py)0
-rw-r--r--catalyst/util.py (renamed from modules/catalyst/util.py)0
-rw-r--r--modules/catalyst/__init__.py0
37 files changed, 84 insertions, 27 deletions
diff --git a/bin/catalyst b/bin/catalyst
new file mode 100755
index 00000000..ace43fc7
--- /dev/null
+++ b/bin/catalyst
@@ -0,0 +1,46 @@
+#!/usr/bin/python2 -OO
+
+# Maintained in full by:
+# Catalyst Team <catalyst@gentoo.org>
+# Release Engineering Team <releng@gentoo.org>
+# Andrew Gaffney <agaffney@gentoo.org>
+# Chris Gianelloni <wolf31o2@wolf31o2.org>
+# $Id$
+
+
+from __future__ import print_function
+
+import sys
+
+__maintainer__="Catalyst <catalyst@gentoo.org>"
+__version__="2.0.12.2"
+
+
+# This block ensures that ^C interrupts are handled quietly.
+try:
+ import signal
+
+ def exithandler(signum,frame):
+ signal.signal(signal.SIGINT, signal.SIG_IGN)
+ signal.signal(signal.SIGTERM, signal.SIG_IGN)
+ print()
+ sys.exit(1)
+
+ signal.signal(signal.SIGINT, exithandler)
+ signal.signal(signal.SIGTERM, exithandler)
+ signal.signal(signal.SIGPIPE, signal.SIG_DFL)
+
+except KeyboardInterrupt:
+ print()
+ sys.exit(1)
+
+
+from catalyst.main import main
+
+try:
+ main()
+except KeyboardInterrupt:
+ print("Aborted.")
+ sys.exit(130)
+sys.exit(0)
+
diff --git a/modules/__init__.py b/catalyst/__init__.py
index e69de29b..e69de29b 100644
--- a/modules/__init__.py
+++ b/catalyst/__init__.py
diff --git a/catalyst/arch/__init__.py b/catalyst/arch/__init__.py
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/catalyst/arch/__init__.py
@@ -0,0 +1 @@
+
diff --git a/arch/alpha.py b/catalyst/arch/alpha.py
index f0fc95a5..f0fc95a5 100644
--- a/arch/alpha.py
+++ b/catalyst/arch/alpha.py
diff --git a/arch/amd64.py b/catalyst/arch/amd64.py
index 262b55a9..262b55a9 100644
--- a/arch/amd64.py
+++ b/catalyst/arch/amd64.py
diff --git a/arch/arm.py b/catalyst/arch/arm.py
index 2de39429..2de39429 100644
--- a/arch/arm.py
+++ b/catalyst/arch/arm.py
diff --git a/arch/hppa.py b/catalyst/arch/hppa.py
index f804398f..f804398f 100644
--- a/arch/hppa.py
+++ b/catalyst/arch/hppa.py
diff --git a/arch/ia64.py b/catalyst/arch/ia64.py
index 825af704..825af704 100644
--- a/arch/ia64.py
+++ b/catalyst/arch/ia64.py
diff --git a/arch/m68k.py b/catalyst/arch/m68k.py
index 37b26a4a..37b26a4a 100644
--- a/arch/m68k.py
+++ b/catalyst/arch/m68k.py
diff --git a/arch/mips.py b/catalyst/arch/mips.py
index b3730fa1..b3730fa1 100644
--- a/arch/mips.py
+++ b/catalyst/arch/mips.py
diff --git a/arch/powerpc.py b/catalyst/arch/powerpc.py
index e9f611bf..e9f611bf 100644
--- a/arch/powerpc.py
+++ b/catalyst/arch/powerpc.py
diff --git a/arch/s390.py b/catalyst/arch/s390.py
index bf22f668..bf22f668 100644
--- a/arch/s390.py
+++ b/catalyst/arch/s390.py
diff --git a/arch/sh.py b/catalyst/arch/sh.py
index 2fc95315..2fc95315 100644
--- a/arch/sh.py
+++ b/catalyst/arch/sh.py
diff --git a/arch/sparc.py b/catalyst/arch/sparc.py
index 5eb5344c..5eb5344c 100644
--- a/arch/sparc.py
+++ b/catalyst/arch/sparc.py
diff --git a/arch/x86.py b/catalyst/arch/x86.py
index 0391b792..0391b792 100644
--- a/arch/x86.py
+++ b/catalyst/arch/x86.py
diff --git a/modules/catalyst/config.py b/catalyst/config.py
index 726bf747..726bf747 100644
--- a/modules/catalyst/config.py
+++ b/catalyst/config.py
diff --git a/catalyst b/catalyst/main.py
index cb6c0226..f6a3e511 100755..100644
--- a/catalyst
+++ b/catalyst/main.py
@@ -1,4 +1,3 @@
-#!/usr/bin/python2 -OO
# Maintained in full by:
# Catalyst Team <catalyst@gentoo.org>
@@ -15,8 +14,14 @@ import getopt
import pdb
import os.path
-import modules.catalyst.config
-import modules.catalyst.util
+__selfpath__ = os.path.abspath(os.path.dirname(__file__))
+
+sys.path.append(__selfpath__ + "/modules")
+
+import catalyst.config
+import catalyst.util
+from catalyst.modules.catalyst_support import (required_build_targets,
+ valid_build_targets, CatalystError, hash_map, find_binary, LockInUse)
__maintainer__="Catalyst <catalyst@gentoo.org>"
__version__="2.0.15"
@@ -102,7 +107,7 @@ def parse_config(myconfig):
# now, try and parse the config file "config_file"
try:
# execfile(config_file, myconf, myconf)
- myconfig = modules.catalyst.config.ConfigParser(config_file)
+ myconfig = catalyst.config.ConfigParser(config_file)
myconf.update(myconfig.get_values())
except:
@@ -118,6 +123,9 @@ def parse_config(myconfig):
print "Setting",x,"to default value \""+confdefaults[x]+"\""
conf_values[x]=confdefaults[x]
+ # add our python base directory to use for loading target arch's
+ conf_values["PythonDir"] = __selfpath__
+
# parse out the rest of the options from the config file
if "autoresume" in string.split(conf_values["options"]):
print "Autoresuming support enabled."
@@ -191,30 +199,32 @@ def import_modules():
targetmap={}
try:
+ module_dir = __selfpath__ + "/modules/"
for x in required_build_targets:
try:
- fh=open(conf_values["sharedir"]+"/modules/"+x+".py")
- module=imp.load_module(x,fh,"modules/"+x+".py",(".py","r",imp.PY_SOURCE))
+ fh=open(module_dir + x + ".py")
+ module=imp.load_module(x, fh,"modules/" + x + ".py",
+ (".py", "r", imp.PY_SOURCE))
fh.close()
except IOError:
- raise CatalystError,"Can't find "+x+".py plugin in "+\
- conf_values["sharedir"]+"/modules/"
-
+ raise CatalystError, "Can't find " + x + ".py plugin in " + \
+ module_dir
for x in valid_build_targets:
try:
- fh=open(conf_values["sharedir"]+"/modules/"+x+".py")
- module=imp.load_module(x,fh,"modules/"+x+".py",(".py","r",imp.PY_SOURCE))
+ fh=open(module_dir + x + ".py")
+ module=imp.load_module(x, fh, "modules/" + x + ".py",
+ (".py", "r", imp.PY_SOURCE))
module.register(targetmap)
fh.close()
except IOError:
- raise CatalystError,"Can't find "+x+".py plugin in "+\
- conf_values["sharedir"]+"/modules/"
+ raise CatalystError,"Can't find " + x + ".py plugin in " + \
+ module_dir
except ImportError:
print "!!! catalyst: Python modules not found in "+\
- conf_values["sharedir"]+"/modules; exiting."
+ module_dir + "; exiting."
sys.exit(1)
return targetmap
@@ -229,11 +239,11 @@ def build_target(addlargs, targetmap):
mytarget.run()
except:
- modules.catalyst.util.print_traceback()
+ catalyst.util.print_traceback()
print "!!! catalyst: Error encountered during run of target " + addlargs["target"]
sys.exit(1)
-if __name__ == "__main__":
+def main():
targetmap={}
version()
@@ -334,8 +344,6 @@ if __name__ == "__main__":
# import configuration file and import our main module using those settings
parse_config(myconfig)
- sys.path.append(conf_values["sharedir"]+"/modules")
- from catalyst_support import *
# Start checking that digests are valid now that the hash_map was imported
# from catalyst_support
@@ -382,12 +390,12 @@ if __name__ == "__main__":
addlargs={}
if myspecfile:
- spec = modules.catalyst.config.SpecParser(myspecfile)
+ spec = catalyst.config.SpecParser(myspecfile)
addlargs.update(spec.get_values())
if mycmdline:
try:
- cmdline = modules.catalyst.config.ConfigParser()
+ cmdline = catalyst.config.ConfigParser()
cmdline.parse_lines(mycmdline)
addlargs.update(cmdline.get_values())
except CatalystError:
diff --git a/catalyst/modules/__init__.py b/catalyst/modules/__init__.py
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/catalyst/modules/__init__.py
@@ -0,0 +1 @@
+
diff --git a/modules/builder.py b/catalyst/modules/builder.py
index ad27d783..ad27d783 100644
--- a/modules/builder.py
+++ b/catalyst/modules/builder.py
diff --git a/modules/catalyst_lock.py b/catalyst/modules/catalyst_lock.py
index 5311cf84..5311cf84 100644
--- a/modules/catalyst_lock.py
+++ b/catalyst/modules/catalyst_lock.py
diff --git a/modules/catalyst_support.py b/catalyst/modules/catalyst_support.py
index 316dfa3d..316dfa3d 100644
--- a/modules/catalyst_support.py
+++ b/catalyst/modules/catalyst_support.py
diff --git a/modules/embedded_target.py b/catalyst/modules/embedded_target.py
index f38ea00d..f38ea00d 100644
--- a/modules/embedded_target.py
+++ b/catalyst/modules/embedded_target.py
diff --git a/modules/generic_stage_target.py b/catalyst/modules/generic_stage_target.py
index 89b891bb..f04b186d 100644
--- a/modules/generic_stage_target.py
+++ b/catalyst/modules/generic_stage_target.py
@@ -78,16 +78,18 @@ class generic_stage_target(generic_target):
self.archmap = {}
self.subarchmap = {}
machinemap = {}
- for x in [x[:-3] for x in os.listdir(self.settings["sharedir"]+\
- "/arch/") if x.endswith(".py")]:
+ arch_dir = self.settings["PythonDir"] + "/arch/"
+ for x in [x[:-3] for x in os.listdir(arch_dir) if x.endswith(".py")]:
+ if x == "__init__":
+ continue
try:
- fh=open(self.settings["sharedir"]+"/arch/"+x+".py")
+ fh=open(arch_dir + x + ".py")
"""
This next line loads the plugin as a module and assigns it to
archmap[x]
"""
- self.archmap[x]=imp.load_module(x,fh,"arch/"+x+\
- ".py",(".py","r",imp.PY_SOURCE))
+ self.archmap[x]=imp.load_module(x,fh,"../arch/" + x + ".py",
+ (".py", "r", imp.PY_SOURCE))
"""
This next line registers all the subarches supported in the
plugin
@@ -105,8 +107,7 @@ class generic_stage_target(generic_target):
the dir should load just fine. If it doesn't, it's probably a
syntax error in the module
"""
- msg("Can't find/load "+x+".py plugin in "+\
- self.settings["sharedir"]+"/arch/")
+ msg("Can't find/load " + x + ".py plugin in " + arch_dir)
if "chost" in self.settings:
hostmachine = self.settings["chost"].split("-")[0]
diff --git a/modules/generic_target.py b/catalyst/modules/generic_target.py
index fe96bd73..fe96bd73 100644
--- a/modules/generic_target.py
+++ b/catalyst/modules/generic_target.py
diff --git a/modules/grp_target.py b/catalyst/modules/grp_target.py
index 69415222..69415222 100644
--- a/modules/grp_target.py
+++ b/catalyst/modules/grp_target.py
diff --git a/modules/livecd_stage1_target.py b/catalyst/modules/livecd_stage1_target.py
index 59de9bb8..59de9bb8 100644
--- a/modules/livecd_stage1_target.py
+++ b/catalyst/modules/livecd_stage1_target.py
diff --git a/modules/livecd_stage2_target.py b/catalyst/modules/livecd_stage2_target.py
index 5be8fd23..5be8fd23 100644
--- a/modules/livecd_stage2_target.py
+++ b/catalyst/modules/livecd_stage2_target.py
diff --git a/modules/netboot2_target.py b/catalyst/modules/netboot2_target.py
index 1ab7e7da..1ab7e7da 100644
--- a/modules/netboot2_target.py
+++ b/catalyst/modules/netboot2_target.py
diff --git a/modules/netboot_target.py b/catalyst/modules/netboot_target.py
index ff2c81fb..ff2c81fb 100644
--- a/modules/netboot_target.py
+++ b/catalyst/modules/netboot_target.py
diff --git a/modules/snapshot_target.py b/catalyst/modules/snapshot_target.py
index ba1bab55..ba1bab55 100644
--- a/modules/snapshot_target.py
+++ b/catalyst/modules/snapshot_target.py
diff --git a/modules/stage1_target.py b/catalyst/modules/stage1_target.py
index 5f4ffa0e..5f4ffa0e 100644
--- a/modules/stage1_target.py
+++ b/catalyst/modules/stage1_target.py
diff --git a/modules/stage2_target.py b/catalyst/modules/stage2_target.py
index 6083e2bb..6083e2bb 100644
--- a/modules/stage2_target.py
+++ b/catalyst/modules/stage2_target.py
diff --git a/modules/stage3_target.py b/catalyst/modules/stage3_target.py
index 4d3a008c..4d3a008c 100644
--- a/modules/stage3_target.py
+++ b/catalyst/modules/stage3_target.py
diff --git a/modules/stage4_target.py b/catalyst/modules/stage4_target.py
index ce41b2da..ce41b2da 100644
--- a/modules/stage4_target.py
+++ b/catalyst/modules/stage4_target.py
diff --git a/modules/tinderbox_target.py b/catalyst/modules/tinderbox_target.py
index ca556108..ca556108 100644
--- a/modules/tinderbox_target.py
+++ b/catalyst/modules/tinderbox_target.py
diff --git a/modules/catalyst/util.py b/catalyst/util.py
index ff12086d..ff12086d 100644
--- a/modules/catalyst/util.py
+++ b/catalyst/util.py
diff --git a/modules/catalyst/__init__.py b/modules/catalyst/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/modules/catalyst/__init__.py
+++ /dev/null