Fix broken "preserve_libs" commit - ";" is not ":".
[catalyst.git] / modules / netboot2_target.py
index f8fc6b0402fe908e9cf0d642594ef1d550528b51..1ab7e7da5980f2ce3c90b2077c0e5e8166717667 100644 (file)
@@ -1,13 +1,16 @@
-
 """
-Builder class for a netboot build, version 2
+netboot target, version 2
 """
+# NOTE: That^^ docstring has influence catalyst-spec(5) man page generation.
 
 import os,string,types
 from catalyst_support import *
 from generic_stage_target import *
 
 class netboot2_target(generic_stage_target):
+       """
+       Builder class for a netboot build, version 2
+       """
        def __init__(self,spec,addlargs):
                self.required_values=[
                        "boot/kernel"
@@ -19,11 +22,12 @@ class netboot2_target(generic_stage_target):
                        "netboot2/extra_files",
                        "netboot2/overlay",
                        "netboot2/busybox_config",
-                       "netboot2/root_overlay"
+                       "netboot2/root_overlay",
+                       "netboot2/linuxrc"
                ])
 
                try:
-                       if addlargs.has_key("netboot2/packages"):
+                       if "netboot2/packages" in addlargs:
                                if type(addlargs["netboot2/packages"]) == types.StringType:
                                        loopy=[addlargs["netboot2/packages"]]
                                else:
@@ -33,7 +37,7 @@ class netboot2_target(generic_stage_target):
                                        self.valid_values.append("netboot2/packages/"+x+"/files")
                except:
                        raise CatalystError,"configuration error in netboot2/packages."
-               
+
                generic_stage_target.__init__(self,spec,addlargs)
                self.set_build_kernel_vars()
                self.settings["merge_path"]=normpath("/tmp/image/")
@@ -41,7 +45,7 @@ class netboot2_target(generic_stage_target):
        def set_target_path(self):
                self.settings["target_path"]=normpath(self.settings["storedir"]+"/builds/"+\
                        self.settings["target_subpath"]+"/")
-               if self.settings.has_key("AUTORESUME") \
+               if "AUTORESUME" in self.settings \
                        and os.path.exists(self.settings["autoresume_path"]+"setup_target_path"):
                                print "Resume point detected, skipping target path setup operation..."
                else:
@@ -59,24 +63,24 @@ class netboot2_target(generic_stage_target):
                myfiles=[]
 
                # check for autoresume point
-               if self.settings.has_key("AUTORESUME") \
+               if "AUTORESUME" in self.settings \
                        and os.path.exists(self.settings["autoresume_path"]+"copy_files_to_image"):
                                print "Resume point detected, skipping target path setup operation..."
                else:
-                       if self.settings.has_key("netboot2/packages"):
+                       if "netboot2/packages" in self.settings:
                                if type(self.settings["netboot2/packages"]) == types.StringType:
                                        loopy=[self.settings["netboot2/packages"]]
                                else:
                                        loopy=self.settings["netboot2/packages"]
-               
+
                        for x in loopy:
-                               if self.settings.has_key("netboot2/packages/"+x+"/files"):
+                               if "netboot2/packages/"+x+"/files" in self.settings:
                                    if type(self.settings["netboot2/packages/"+x+"/files"]) == types.ListType:
                                            myfiles.extend(self.settings["netboot2/packages/"+x+"/files"])
                                    else:
                                            myfiles.append(self.settings["netboot2/packages/"+x+"/files"])
 
-                       if self.settings.has_key("netboot2/extra_files"):
+                       if "netboot2/extra_files" in self.settings:
                                if type(self.settings["netboot2/extra_files"]) == types.ListType:
                                        myfiles.extend(self.settings["netboot2/extra_files"])
                                else:
@@ -91,13 +95,13 @@ class netboot2_target(generic_stage_target):
 
                        touch(self.settings["autoresume_path"]+"copy_files_to_image")
 
-       def setup_overlay(self):        
-               if self.settings.has_key("AUTORESUME") \
+       def setup_overlay(self):
+               if "AUTORESUME" in self.settings \
                and os.path.exists(self.settings["autoresume_path"]+"setup_overlay"):
                        print "Resume point detected, skipping setup_overlay operation..."
                else:
-                       if self.settings.has_key("netboot2/overlay"):
-                               for x in self.settings["netboot2/overlay"]: 
+                       if "netboot2/overlay" in self.settings:
+                               for x in self.settings["netboot2/overlay"]:
                                        if os.path.exists(x):
                                                cmd("rsync -a "+x+"/ "+\
                                                        self.settings["chroot_path"] + self.settings["merge_path"], "netboot2/overlay: "+x+" copy failed.",env=self.env)
@@ -116,23 +120,23 @@ class netboot2_target(generic_stage_target):
                        raise CatalystError,"Failed to move kernel images!"
 
        def remove(self):
-               if self.settings.has_key("AUTORESUME") \
+               if "AUTORESUME" in self.settings \
                        and os.path.exists(self.settings["autoresume_path"]+"remove"):
                        print "Resume point detected, skipping remove operation..."
                else:
-                       if self.settings.has_key(self.settings["spec_prefix"]+"/rm"):
+                       if self.settings["spec_prefix"]+"/rm" in self.settings:
                                for x in self.settings[self.settings["spec_prefix"]+"/rm"]:
                                        # we're going to shell out for all these cleaning operations,
                                        # so we get easy glob handling
                                        print "netboot2: removing " + x
                                        os.system("rm -rf " + self.settings["chroot_path"] + self.settings["merge_path"] + x)
 
-       def empty(self):                
-               if self.settings.has_key("AUTORESUME") \
+       def empty(self):
+               if "AUTORESUME" in self.settings \
                        and os.path.exists(self.settings["autoresume_path"]+"empty"):
                        print "Resume point detected, skipping empty operation..."
                else:
-                       if self.settings.has_key("netboot2/empty"):
+                       if "netboot2/empty" in self.settings:
                                if type(self.settings["netboot2/empty"])==types.StringType:
                                        self.settings["netboot2/empty"]=self.settings["netboot2/empty"].split()
                                for x in self.settings["netboot2/empty"]: