1 |
commit: 13d714d9ba25377b2d071ed17c2a301814321d3b |
2 |
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Oct 29 03:08:04 2020 +0000 |
4 |
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Oct 29 03:23:26 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=13d714d9 |
7 |
|
8 |
catalyst: Split action_sequence into prepare/build/finish |
9 |
|
10 |
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> |
11 |
|
12 |
catalyst/base/stagebase.py | 24 +++++++++++++++--------- |
13 |
catalyst/targets/embedded.py | 6 +++++- |
14 |
catalyst/targets/livecd_stage1.py | 6 +++++- |
15 |
catalyst/targets/livecd_stage2.py | 10 +++++++--- |
16 |
catalyst/targets/netboot.py | 6 +++++- |
17 |
catalyst/targets/stage1.py | 12 ++++++------ |
18 |
catalyst/targets/stage4.py | 6 +++++- |
19 |
7 files changed, 48 insertions(+), 22 deletions(-) |
20 |
|
21 |
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py |
22 |
index 2e06a988..cdc5a8a9 100644 |
23 |
--- a/catalyst/base/stagebase.py |
24 |
+++ b/catalyst/base/stagebase.py |
25 |
@@ -63,7 +63,9 @@ class StageBase(TargetBase, ClearBase, GenBase): |
26 |
"portage_overlay", |
27 |
"portage_prefix", |
28 |
]) |
29 |
- self.action_sequence = [] |
30 |
+ self.prepare_sequence = [] |
31 |
+ self.build_sequence = [] |
32 |
+ self.finish_sequence = [] |
33 |
|
34 |
self.set_valid_build_kernel_vars(addlargs) |
35 |
TargetBase.__init__(self, myspec, addlargs) |
36 |
@@ -477,36 +479,40 @@ class StageBase(TargetBase, ClearBase, GenBase): |
37 |
Or it calls the normal set_action_sequence() for the target stage. |
38 |
""" |
39 |
if "purgeonly" in self.settings["options"]: |
40 |
- self.action_sequence.append("remove_chroot") |
41 |
+ self.build_sequence.append("remove_chroot") |
42 |
return |
43 |
self.set_action_sequence() |
44 |
|
45 |
def set_action_sequence(self): |
46 |
"""Set basic stage1, 2, 3 action sequences""" |
47 |
- self.action_sequence.extend([ |
48 |
+ self.prepare_sequence.extend([ |
49 |
"unpack", |
50 |
"setup_confdir", |
51 |
"portage_overlay", |
52 |
+ ]) |
53 |
+ self.build_sequence.extend([ |
54 |
"bind", |
55 |
"chroot_setup", |
56 |
"setup_environment", |
57 |
"run_local", |
58 |
"preclean", |
59 |
"unbind", |
60 |
+ ]) |
61 |
+ self.finish_sequence.extend([ |
62 |
"clean", |
63 |
]) |
64 |
self.set_completion_action_sequences() |
65 |
|
66 |
def set_completion_action_sequences(self): |
67 |
if "fetch" not in self.settings["options"]: |
68 |
- self.action_sequence.append("capture") |
69 |
+ self.finish_sequence.append("capture") |
70 |
if "keepwork" in self.settings["options"]: |
71 |
- self.action_sequence.append("clear_autoresume") |
72 |
+ self.finish_sequence.append("clear_autoresume") |
73 |
elif "seedcache" in self.settings["options"]: |
74 |
- self.action_sequence.append("remove_autoresume") |
75 |
+ self.finish_sequence.append("remove_autoresume") |
76 |
else: |
77 |
- self.action_sequence.append("remove_autoresume") |
78 |
- self.action_sequence.append("remove_chroot") |
79 |
+ self.finish_sequence.append("remove_autoresume") |
80 |
+ self.finish_sequence.append("remove_chroot") |
81 |
|
82 |
def set_use(self): |
83 |
use = self.settings["spec_prefix"] + "/use" |
84 |
@@ -1368,7 +1374,7 @@ class StageBase(TargetBase, ClearBase, GenBase): |
85 |
self.purge() |
86 |
|
87 |
failure = False |
88 |
- for x in self.action_sequence: |
89 |
+ for x in self.prepare_sequence + self.build_sequence + self.finish_sequence: |
90 |
log.notice('--- Running action sequence: %s', x) |
91 |
sys.stdout.flush() |
92 |
try: |
93 |
|
94 |
diff --git a/catalyst/targets/embedded.py b/catalyst/targets/embedded.py |
95 |
index 75eb68e4..1314ce7c 100644 |
96 |
--- a/catalyst/targets/embedded.py |
97 |
+++ b/catalyst/targets/embedded.py |
98 |
@@ -41,11 +41,13 @@ class embedded(StageBase): |
99 |
StageBase.__init__(self, spec, addlargs) |
100 |
|
101 |
def set_action_sequence(self): |
102 |
- self.action_sequence.extend([ |
103 |
+ self.prepare_sequence.extend([ |
104 |
"unpack", |
105 |
"config_profile_link", |
106 |
"setup_confdir", |
107 |
"portage_overlay", |
108 |
+ ]) |
109 |
+ self.build_sequence.extend([ |
110 |
"bind", |
111 |
"chroot_setup", |
112 |
"setup_environment", |
113 |
@@ -55,6 +57,8 @@ class embedded(StageBase): |
114 |
"fsscript", |
115 |
"unmerge", |
116 |
"unbind", |
117 |
+ ]) |
118 |
+ self.finish_sequence.extend([ |
119 |
"remove", |
120 |
"empty", |
121 |
"clean", |
122 |
|
123 |
diff --git a/catalyst/targets/livecd_stage1.py b/catalyst/targets/livecd_stage1.py |
124 |
index 9dbfa506..81367053 100644 |
125 |
--- a/catalyst/targets/livecd_stage1.py |
126 |
+++ b/catalyst/targets/livecd_stage1.py |
127 |
@@ -23,16 +23,20 @@ class livecd_stage1(StageBase): |
128 |
StageBase.__init__(self, spec, addlargs) |
129 |
|
130 |
def set_action_sequence(self): |
131 |
- self.action_sequence.extend([ |
132 |
+ self.prepare_sequence.extend([ |
133 |
"unpack", |
134 |
"config_profile_link", |
135 |
"setup_confdir", |
136 |
"portage_overlay", |
137 |
+ ]) |
138 |
+ self.build_sequence.extend([ |
139 |
"bind", |
140 |
"chroot_setup", |
141 |
"setup_environment", |
142 |
"build_packages", |
143 |
"unbind", |
144 |
+ ]) |
145 |
+ self.finish_sequence.extend([ |
146 |
"clean", |
147 |
]) |
148 |
self.set_completion_action_sequences() |
149 |
|
150 |
diff --git a/catalyst/targets/livecd_stage2.py b/catalyst/targets/livecd_stage2.py |
151 |
index c9b5ce08..f6c14919 100644 |
152 |
--- a/catalyst/targets/livecd_stage2.py |
153 |
+++ b/catalyst/targets/livecd_stage2.py |
154 |
@@ -87,11 +87,13 @@ class livecd_stage2(StageBase): |
155 |
print_traceback=True) |
156 |
|
157 |
def set_action_sequence(self): |
158 |
- self.action_sequence.extend([ |
159 |
+ self.prepare_sequence.extend([ |
160 |
"unpack", |
161 |
"config_profile_link", |
162 |
"setup_confdir", |
163 |
"portage_overlay", |
164 |
+ ]) |
165 |
+ self.build_sequence.extend([ |
166 |
"bind", |
167 |
"chroot_setup", |
168 |
"setup_environment", |
169 |
@@ -99,7 +101,7 @@ class livecd_stage2(StageBase): |
170 |
"build_kernel" |
171 |
]) |
172 |
if "fetch" not in self.settings["options"]: |
173 |
- self.action_sequence.extend([ |
174 |
+ self.build_sequence.extend([ |
175 |
"bootloader", |
176 |
"preclean", |
177 |
"livecd_update", |
178 |
@@ -108,6 +110,8 @@ class livecd_stage2(StageBase): |
179 |
"rcupdate", |
180 |
"unmerge", |
181 |
"unbind", |
182 |
+ ]) |
183 |
+ self.finish_sequence.extend([ |
184 |
"remove", |
185 |
"empty", |
186 |
"clean", |
187 |
@@ -115,4 +119,4 @@ class livecd_stage2(StageBase): |
188 |
"setup_overlay", |
189 |
"create_iso", |
190 |
]) |
191 |
- self.action_sequence.append("clear_autoresume") |
192 |
+ self.finish_sequence.append("clear_autoresume") |
193 |
|
194 |
diff --git a/catalyst/targets/netboot.py b/catalyst/targets/netboot.py |
195 |
index e5c6d43c..9a0a4156 100644 |
196 |
--- a/catalyst/targets/netboot.py |
197 |
+++ b/catalyst/targets/netboot.py |
198 |
@@ -160,11 +160,13 @@ class netboot(StageBase): |
199 |
self.resume.enable("empty") |
200 |
|
201 |
def set_action_sequence(self): |
202 |
- self.action_sequence.extend([ |
203 |
+ self.prepare_sequence.extend([ |
204 |
"unpack", |
205 |
"config_profile_link", |
206 |
"setup_confdir", |
207 |
"portage_overlay", |
208 |
+ ]) |
209 |
+ self.build_sequence.extend([ |
210 |
"bind", |
211 |
"chroot_setup", |
212 |
"setup_environment", |
213 |
@@ -177,6 +179,8 @@ class netboot(StageBase): |
214 |
"remove", |
215 |
"empty", |
216 |
"unbind", |
217 |
+ ]) |
218 |
+ self.finish_sequence.extend([ |
219 |
"clean", |
220 |
"clear_autoresume", |
221 |
]) |
222 |
|
223 |
diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py |
224 |
index 89b30fe1..be3eae93 100644 |
225 |
--- a/catalyst/targets/stage1.py |
226 |
+++ b/catalyst/targets/stage1.py |
227 |
@@ -87,15 +87,15 @@ class stage1(StageBase): |
228 |
chroot for re-use in stage2 without the need to unpack it. |
229 |
''' |
230 |
if "fetch" not in self.settings["options"]: |
231 |
- self.action_sequence.append("capture") |
232 |
+ self.finish_sequence.append("capture") |
233 |
if "keepwork" in self.settings["options"]: |
234 |
- self.action_sequence.append("clear_autoresume") |
235 |
+ self.finish_sequence.append("clear_autoresume") |
236 |
elif "seedcache" in self.settings["options"]: |
237 |
- self.action_sequence.append("remove_autoresume") |
238 |
- self.action_sequence.append("clean_stage1") |
239 |
+ self.finish_sequence.append("remove_autoresume") |
240 |
+ self.finish_sequence.append("clean_stage1") |
241 |
else: |
242 |
- self.action_sequence.append("remove_autoresume") |
243 |
- self.action_sequence.append("remove_chroot") |
244 |
+ self.finish_sequence.append("remove_autoresume") |
245 |
+ self.finish_sequence.append("remove_chroot") |
246 |
|
247 |
def clean_stage1(self): |
248 |
'''seedcache is enabled, so salvage the /tmp/stage1root, |
249 |
|
250 |
diff --git a/catalyst/targets/stage4.py b/catalyst/targets/stage4.py |
251 |
index bb20be79..78a5c780 100644 |
252 |
--- a/catalyst/targets/stage4.py |
253 |
+++ b/catalyst/targets/stage4.py |
254 |
@@ -39,11 +39,13 @@ class stage4(StageBase): |
255 |
self.settings["cleanables"].remove('/etc/resolv.conf') |
256 |
|
257 |
def set_action_sequence(self): |
258 |
- self.action_sequence.extend([ |
259 |
+ self.prepare_sequence.extend([ |
260 |
"unpack", |
261 |
"config_profile_link", |
262 |
"setup_confdir", |
263 |
"portage_overlay", |
264 |
+ ]) |
265 |
+ self.build_sequence.extend([ |
266 |
"bind", |
267 |
"chroot_setup", |
268 |
"setup_environment", |
269 |
@@ -56,6 +58,8 @@ class stage4(StageBase): |
270 |
"rcupdate", |
271 |
"unmerge", |
272 |
"unbind", |
273 |
+ ]) |
274 |
+ self.finish_sequence.extend([ |
275 |
"remove", |
276 |
"empty", |
277 |
"clean", |