This patch adds in support for automatically detecting and decompressing
[catalyst.git] / modules / stage4_target.py
1 """
2 stage4 target, builds upon previous stage3/stage4 tarball
3 """
4 # NOTE: That^^ docstring has influence catalyst-spec(5) man page generation.
5
6 from catalyst_support import *
7 from generic_stage_target import *
8
9 class stage4_target(generic_stage_target):
10         """
11         Builder class for stage4.
12         """
13         def __init__(self,spec,addlargs):
14                 self.required_values=["stage4/packages"]
15                 self.valid_values=self.required_values[:]
16                 self.valid_values.extend(["stage4/use","boot/kernel",\
17                                 "stage4/root_overlay","stage4/fsscript",\
18                                 "stage4/gk_mainargs","splash_theme",\
19                                 "portage_overlay","stage4/rcadd","stage4/rcdel",\
20                                 "stage4/linuxrc","stage4/unmerge","stage4/rm","stage4/empty"])
21                 generic_stage_target.__init__(self,spec,addlargs)
22
23         def set_cleanables(self):
24                 self.settings["cleanables"]=["/var/tmp/*","/tmp/*"]
25
26         def set_action_sequence(self):
27                 self.settings["action_sequence"]=["unpack","unpack_snapshot",\
28                                         "config_profile_link","setup_confdir","portage_overlay",\
29                                         "bind","chroot_setup","setup_environment","build_packages",\
30                                         "build_kernel","bootloader","root_overlay","fsscript",\
31                                         "preclean","rcupdate","unmerge","unbind","remove","empty",\
32                                         "clean"]
33
34 #               if self.settings.has_key("TARBALL") or \
35 #                       not self.settings.has_key("FETCH"):
36                 if not self.settings.has_key("FETCH"):
37                         self.settings["action_sequence"].append("capture")
38                 self.settings["action_sequence"].append("clear_autoresume")
39
40 def register(foo):
41         foo.update({"stage4":stage4_target})
42         return foo
43