add diff for drobbins to check out
authorBrad House <brad_mssw@gentoo.org>
Thu, 15 Jan 2004 01:48:29 +0000 (01:48 +0000)
committerBrad House <brad_mssw@gentoo.org>
Thu, 15 Jan 2004 01:48:29 +0000 (01:48 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/catalyst/trunk@161 d1e1f19c-881f-0410-ab34-b69fee027534

catalyst-runscript.diff [new file with mode: 0644]

diff --git a/catalyst-runscript.diff b/catalyst-runscript.diff
new file mode 100644 (file)
index 0000000..8fc49b5
--- /dev/null
@@ -0,0 +1,86 @@
+Index: modules/targets.py
+===================================================================
+RCS file: /home/cvsroot/gentoo/src/catalyst/modules/targets.py,v
+retrieving revision 1.60
+diff -u -r1.60 targets.py
+--- modules/targets.py 14 Jan 2004 06:21:56 -0000      1.60
++++ modules/targets.py 15 Jan 2004 01:46:47 -0000
+@@ -309,6 +309,8 @@
+                               os.environ[varname]=string.join(self.settings[x])
+                       
+               self.run_local()
++              if self.settings["target"] in ["livecd-stage3"]:
++                      self.setupfs()
+               if self.settings["target"] in ["stage1","stage2","stage3","livecd-stage3"]:
+                       self.preclean()
+               if self.settings["target"] in ["livecd-stage3"]:
+@@ -426,7 +428,7 @@
+ class livecd_stage2_target(generic_stage_target):
+       def __init__(self,spec,addlargs):
+-              self.required_values=["boot/kernel","livecd/runscript"]
++              self.required_values=["boot/kernel","livecd/archrunscript","livecd/runscript"]
+               if not addlargs.has_key("boot/kernel"):
+                       raise CatalystError, "Required value boot/kernel not specified."
+               if type(addlargs["boot/kernel"]) == types.StringType:
+@@ -456,14 +458,14 @@
+                               self.unbind()
+                               raise CatalystError, "Couldn't copy kernel config: "+self.settings["boot/kernel/"+x+"/config"]
+               try:
+-                      cmd("/bin/bash "+self.settings["livecd/runscript"]+" run "+list_bashify(args),"runscript failed")
++                      cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archrunscript"]+" "+self.settings["livecd/runscript"]+" kernbuild "+list_bashify(args),"runscript kernbuild failed")
+               except CatalystError:
+                       self.unbind()
+                       raise CatalystError,"livecd-stage2 build aborting due to error."
+ class livecd_stage3_target(generic_stage_target):
+       def __init__(self,spec,addlargs):
+-              self.required_values=["boot/kernel","livecd/runscript"]
++              self.required_values=["boot/kernel","livecd/archrunscript","livecd/runscript"]
+               self.valid_values=self.required_values[:]
+               self.valid_values.extend(["livecd/cdtar","livecd/empty","livecd/rm","livecd/unmerge"])
+               generic_stage_target.__init__(self,spec,addlargs)
+@@ -472,6 +474,8 @@
+                               raise CatalystError, "Cannot locate specified livecd/cdtar: "+self.settings["livecd/cdtar"]
+               if not os.path.exists(self.settings["livecd/runscript"]):
+                               raise CatalystError, "Cannot locate specified livecd/runscript: "+self.settings["livecd/runscript"]
++              if not os.path.exists(self.settings["livecd/archrunscript"]):
++                              raise CatalystError, "Cannot locate specified livecd/archrunscript: "+self.settings["livecd/archrunscript"]
+       def unmerge(self):
+               if self.settings["target"]=="livecd-stage3" and self.settings.has_key("livecd/unmerge"):
+@@ -488,17 +492,32 @@
+       def run_local(self):
+               pass
++      def setupfs(self):
++              try:
++                      cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archrunscript"]+" "+self.settings["livecd/runscript"]+" setupfs","setupfs runscript failed.")
++              except:
++                      self.unbind()
++                      raise
++
+       def preclean(self):
+               try:
+-                      cmd("/bin/bash "+self.settings["livecd/runscript"]+" preclean","preclean runscript failed.")
++                      cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archrunscript"]+" "+self.settings["livecd/runscript"]+" preclean","preclean runscript failed.")
+               except:
+                       self.unbind()
+                       raise
++#     def clean(self):
++#             try:
++#                     cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archrunscript"]+" "+self.settings["livecd/runscript"]+" clean","clean runscript failed.")
++#             except:
++#                     self.unbind()
++#                     raise
++
+       def cdroot_setup(self):
+               if not os.path.exists(self.settings["cdroot_path"]):
+                       os.makedirs(self.settings["cdroot_path"])
+-              cmd("/bin/bash "+self.settings["livecd/runscript"]+" cdroot_setup","preclean runscript failed.")
++              cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archrunscript"]+" "+self.settings["livecd/runscript"]+" setup_bootloader","setup_bootloader runscript failed.")
++              cmd("env ARCH_RUNSCRIPT="+self.settings["livecd/archrunscript"]+" "+self.settings["livecd/runscript"]+" loop","loop runscript failed.")
+               print "livecd-stage3: complete!"
+ def register(foo):