Gentoo Archives: gentoo-catalyst

From: Matt Turner <mattst88@g.o>
To: gentoo-catalyst@l.g.o
Cc: Matt Turner <mattst88@g.o>
Subject: [gentoo-catalyst] [PATCH 04/12] catalyst: Move action_sequence out of self.settings[]
Date: Thu, 29 Oct 2020 16:16:44
Message-Id: 20201029161632.146732-4-mattst88@gentoo.org
In Reply to: [gentoo-catalyst] [PATCH 01/12] catalyst: Replace pathcompare() by Matt Turner
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