1 |
This self.settings[] dictionary is very similar to the god object |
2 |
anti-pattern. Moving action_sequence out it starts us down the road of |
3 |
fixing this. |
4 |
|
5 |
Signed-off-by: Matt Turner <mattst88@g.o> |
6 |
--- |
7 |
catalyst/base/stagebase.py | 17 +++++++++-------- |
8 |
catalyst/targets/embedded.py | 2 +- |
9 |
catalyst/targets/livecd_stage1.py | 2 +- |
10 |
catalyst/targets/livecd_stage2.py | 6 +++--- |
11 |
catalyst/targets/netboot.py | 2 +- |
12 |
catalyst/targets/stage1.py | 12 ++++++------ |
13 |
catalyst/targets/stage4.py | 2 +- |
14 |
7 files changed, 22 insertions(+), 21 deletions(-) |
15 |
|
16 |
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py |
17 |
index 73eacfbe..801df2fb 100644 |
18 |
--- a/catalyst/base/stagebase.py |
19 |
+++ b/catalyst/base/stagebase.py |
20 |
@@ -64,6 +64,7 @@ class StageBase(TargetBase, ClearBase, GenBase): |
21 |
"portage_overlay", |
22 |
"portage_prefix", |
23 |
]) |
24 |
+ self.action_sequence = [] |
25 |
|
26 |
self.set_valid_build_kernel_vars(addlargs) |
27 |
TargetBase.__init__(self, myspec, addlargs) |
28 |
@@ -477,13 +478,13 @@ class StageBase(TargetBase, ClearBase, GenBase): |
29 |
Or it calls the normal set_action_sequence() for the target stage. |
30 |
""" |
31 |
if "purgeonly" in self.settings["options"]: |
32 |
- self.settings["action_sequence"] = ["remove_chroot"] |
33 |
+ self.action_sequence = ["remove_chroot"] |
34 |
return |
35 |
self.set_action_sequence() |
36 |
|
37 |
def set_action_sequence(self): |
38 |
"""Set basic stage1, 2, 3 action sequences""" |
39 |
- self.settings['action_sequence'] = [ |
40 |
+ self.action_sequence = [ |
41 |
"unpack", |
42 |
"setup_confdir", |
43 |
"portage_overlay", |
44 |
@@ -499,14 +500,14 @@ class StageBase(TargetBase, ClearBase, GenBase): |
45 |
|
46 |
def set_completion_action_sequences(self): |
47 |
if "fetch" not in self.settings["options"]: |
48 |
- self.settings["action_sequence"].append("capture") |
49 |
+ self.action_sequence.append("capture") |
50 |
if "keepwork" in self.settings["options"]: |
51 |
- self.settings["action_sequence"].append("clear_autoresume") |
52 |
+ self.action_sequence.append("clear_autoresume") |
53 |
elif "seedcache" in self.settings["options"]: |
54 |
- self.settings["action_sequence"].append("remove_autoresume") |
55 |
+ self.action_sequence.append("remove_autoresume") |
56 |
else: |
57 |
- self.settings["action_sequence"].append("remove_autoresume") |
58 |
- self.settings["action_sequence"].append("remove_chroot") |
59 |
+ self.action_sequence.append("remove_autoresume") |
60 |
+ self.action_sequence.append("remove_chroot") |
61 |
|
62 |
def set_use(self): |
63 |
use = self.settings["spec_prefix"] + "/use" |
64 |
@@ -1380,7 +1381,7 @@ class StageBase(TargetBase, ClearBase, GenBase): |
65 |
self.purge() |
66 |
|
67 |
failure = False |
68 |
- for x in self.settings["action_sequence"]: |
69 |
+ for x in self.action_sequence: |
70 |
log.notice('--- Running action sequence: %s', x) |
71 |
sys.stdout.flush() |
72 |
try: |
73 |
diff --git a/catalyst/targets/embedded.py b/catalyst/targets/embedded.py |
74 |
index 99739512..3899cf1b 100644 |
75 |
--- a/catalyst/targets/embedded.py |
76 |
+++ b/catalyst/targets/embedded.py |
77 |
@@ -41,7 +41,7 @@ class embedded(StageBase): |
78 |
StageBase.__init__(self, spec, addlargs) |
79 |
|
80 |
def set_action_sequence(self): |
81 |
- self.settings['action_sequence'] = [ |
82 |
+ self.action_sequence = [ |
83 |
"unpack", |
84 |
"config_profile_link", |
85 |
"setup_confdir", |
86 |
diff --git a/catalyst/targets/livecd_stage1.py b/catalyst/targets/livecd_stage1.py |
87 |
index f0b6be8b..b8c26cb1 100644 |
88 |
--- a/catalyst/targets/livecd_stage1.py |
89 |
+++ b/catalyst/targets/livecd_stage1.py |
90 |
@@ -23,7 +23,7 @@ class livecd_stage1(StageBase): |
91 |
StageBase.__init__(self, spec, addlargs) |
92 |
|
93 |
def set_action_sequence(self): |
94 |
- self.settings['action_sequence'] = [ |
95 |
+ self.action_sequence = [ |
96 |
"unpack", |
97 |
"config_profile_link", |
98 |
"setup_confdir", |
99 |
diff --git a/catalyst/targets/livecd_stage2.py b/catalyst/targets/livecd_stage2.py |
100 |
index 88c0d95c..cac16b6e 100644 |
101 |
--- a/catalyst/targets/livecd_stage2.py |
102 |
+++ b/catalyst/targets/livecd_stage2.py |
103 |
@@ -87,7 +87,7 @@ class livecd_stage2(StageBase): |
104 |
print_traceback=True) |
105 |
|
106 |
def set_action_sequence(self): |
107 |
- self.settings['action_sequence'] = [ |
108 |
+ self.action_sequence = [ |
109 |
"unpack", |
110 |
"config_profile_link", |
111 |
"setup_confdir", |
112 |
@@ -99,7 +99,7 @@ class livecd_stage2(StageBase): |
113 |
"build_kernel" |
114 |
] |
115 |
if "fetch" not in self.settings["options"]: |
116 |
- self.settings['action_sequence'] += [ |
117 |
+ self.action_sequence += [ |
118 |
"bootloader", |
119 |
"preclean", |
120 |
"livecd_update", |
121 |
@@ -115,4 +115,4 @@ class livecd_stage2(StageBase): |
122 |
"setup_overlay", |
123 |
"create_iso", |
124 |
] |
125 |
- self.settings["action_sequence"].append("clear_autoresume") |
126 |
+ self.action_sequence.append("clear_autoresume") |
127 |
diff --git a/catalyst/targets/netboot.py b/catalyst/targets/netboot.py |
128 |
index 5620e0d3..61583f0d 100644 |
129 |
--- a/catalyst/targets/netboot.py |
130 |
+++ b/catalyst/targets/netboot.py |
131 |
@@ -160,7 +160,7 @@ class netboot(StageBase): |
132 |
self.resume.enable("empty") |
133 |
|
134 |
def set_action_sequence(self): |
135 |
- self.settings['action_sequence'] = [ |
136 |
+ self.action_sequence = [ |
137 |
"unpack", |
138 |
"config_profile_link", |
139 |
"setup_confdir", |
140 |
diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py |
141 |
index 2c09a41f..89b30fe1 100644 |
142 |
--- a/catalyst/targets/stage1.py |
143 |
+++ b/catalyst/targets/stage1.py |
144 |
@@ -87,15 +87,15 @@ class stage1(StageBase): |
145 |
chroot for re-use in stage2 without the need to unpack it. |
146 |
''' |
147 |
if "fetch" not in self.settings["options"]: |
148 |
- self.settings["action_sequence"].append("capture") |
149 |
+ self.action_sequence.append("capture") |
150 |
if "keepwork" in self.settings["options"]: |
151 |
- self.settings["action_sequence"].append("clear_autoresume") |
152 |
+ self.action_sequence.append("clear_autoresume") |
153 |
elif "seedcache" in self.settings["options"]: |
154 |
- self.settings["action_sequence"].append("remove_autoresume") |
155 |
- self.settings["action_sequence"].append("clean_stage1") |
156 |
+ self.action_sequence.append("remove_autoresume") |
157 |
+ self.action_sequence.append("clean_stage1") |
158 |
else: |
159 |
- self.settings["action_sequence"].append("remove_autoresume") |
160 |
- self.settings["action_sequence"].append("remove_chroot") |
161 |
+ self.action_sequence.append("remove_autoresume") |
162 |
+ self.action_sequence.append("remove_chroot") |
163 |
|
164 |
def clean_stage1(self): |
165 |
'''seedcache is enabled, so salvage the /tmp/stage1root, |
166 |
diff --git a/catalyst/targets/stage4.py b/catalyst/targets/stage4.py |
167 |
index 346c0845..eef24a73 100644 |
168 |
--- a/catalyst/targets/stage4.py |
169 |
+++ b/catalyst/targets/stage4.py |
170 |
@@ -39,7 +39,7 @@ class stage4(StageBase): |
171 |
self.settings["cleanables"].remove('/etc/resolv.conf') |
172 |
|
173 |
def set_action_sequence(self): |
174 |
- self.settings['action_sequence'] = [ |
175 |
+ self.action_sequence = [ |
176 |
"unpack", |
177 |
"config_profile_link", |
178 |
"setup_confdir", |
179 |
-- |
180 |
2.26.2 |