1 |
From: "W. Trevor King" <wking@×××××××.us> |
2 |
|
3 |
_copy_kernel_config() is one idea with a bunch of error handling. |
4 |
Isolating it in its own function makes _build_kernel() easier to read. |
5 |
--- |
6 |
modules/generic_stage_target.py | 49 ++++++++++++++++++++++------------------- |
7 |
1 file changed, 26 insertions(+), 23 deletions(-) |
8 |
|
9 |
diff --git a/modules/generic_stage_target.py b/modules/generic_stage_target.py |
10 |
index af7cbe7..2c32c00 100644 |
11 |
--- a/modules/generic_stage_target.py |
12 |
+++ b/modules/generic_stage_target.py |
13 |
@@ -1426,29 +1426,7 @@ class generic_stage_target(generic_target): |
14 |
+"build_kernel_"+kname): |
15 |
print "Resume point detected, skipping build_kernel for "+kname+" operation..." |
16 |
else: # TODO: make this not require a kernel config |
17 |
- try: |
18 |
- if not os.path.exists(self.settings["boot/kernel/"+kname+"/config"]): |
19 |
- self.unbind() |
20 |
- raise CatalystError,\ |
21 |
- "Can't find kernel config: "+\ |
22 |
- self.settings["boot/kernel/"+kname+\ |
23 |
- "/config"] |
24 |
- |
25 |
- except TypeError: |
26 |
- raise CatalystError,\ |
27 |
- "Required value boot/kernel/config not specified" |
28 |
- |
29 |
- try: |
30 |
- cmd("cp "+self.settings["boot/kernel/"+kname+\ |
31 |
- "/config"]+" "+\ |
32 |
- self.settings["chroot_path"]+"/var/tmp/"+\ |
33 |
- kname+".config",\ |
34 |
- "Couldn't copy kernel config: "+\ |
35 |
- self.settings["boot/kernel/"+kname+\ |
36 |
- "/config"],env=self.env) |
37 |
- |
38 |
- except CatalystError: |
39 |
- self.unbind() |
40 |
+ self._copy_kernel_config(kname=kname) |
41 |
|
42 |
""" |
43 |
If we need to pass special options to the bootloader |
44 |
@@ -1516,6 +1494,31 @@ class generic_stage_target(generic_target): |
45 |
" post-kmerge ", |
46 |
"Runscript post-kmerge failed",env=self.env) |
47 |
|
48 |
+ def _copy_kernel_config(self, kname): |
49 |
+ try: |
50 |
+ if not os.path.exists(self.settings["boot/kernel/"+kname+"/config"]): |
51 |
+ self.unbind() |
52 |
+ raise CatalystError,\ |
53 |
+ "Can't find kernel config: "+\ |
54 |
+ self.settings["boot/kernel/"+kname+\ |
55 |
+ "/config"] |
56 |
+ |
57 |
+ except TypeError: |
58 |
+ raise CatalystError,\ |
59 |
+ "Required value boot/kernel/config not specified" |
60 |
+ |
61 |
+ try: |
62 |
+ cmd("cp "+self.settings["boot/kernel/"+kname+\ |
63 |
+ "/config"]+" "+\ |
64 |
+ self.settings["chroot_path"]+"/var/tmp/"+\ |
65 |
+ kname+".config",\ |
66 |
+ "Couldn't copy kernel config: "+\ |
67 |
+ self.settings["boot/kernel/"+kname+\ |
68 |
+ "/config"],env=self.env) |
69 |
+ |
70 |
+ except CatalystError: |
71 |
+ self.unbind() |
72 |
+ |
73 |
def bootloader(self): |
74 |
if "AUTORESUME" in self.settings \ |
75 |
and os.path.exists(self.settings["autoresume_path"]+"bootloader"): |
76 |
-- |
77 |
1.8.1.336.g94702dd |