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