Gentoo Archives: gentoo-catalyst

From: "W. Trevor King" <wking@×××××××.us>
To: Catalyst <gentoo-catalyst@l.g.o>
Cc: "W. Trevor King" <wking@×××××××.us>
Subject: [gentoo-catalyst] [PATCH 2/6] generic_stage_target: Split ._copy_kernel_config() from ._build_kernel()
Date: Sat, 09 Feb 2013 20:46:04
Message-Id: 8b864e5f9a8127ae82e49c4ad4c88f42d04dbb2a.1360442556.git.wking@tremily.us
In Reply to: [gentoo-catalyst] [PATCH 0/6] Make external kernel configs optional by "W. Trevor King"
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