From: "W. Trevor King" <wking@tremily.us>
To: Catalyst <gentoo-catalyst@lists.gentoo.org>
Cc: "W. Trevor King" <wking@tremily.us>
Subject: [gentoo-catalyst] [PATCH 2/6] generic_stage_target: Split ._copy_kernel_config() from ._build_kernel()
Date: Sat, 09 Feb 2013 15:45:34 -0500 [thread overview]
Message-ID: <8b864e5f9a8127ae82e49c4ad4c88f42d04dbb2a.1360442556.git.wking@tremily.us> (raw)
In-Reply-To: <cover.1360442556.git.wking@tremily.us>
In-Reply-To: <cover.1360442556.git.wking@tremily.us>
From: "W. Trevor King" <wking@tremily.us>
_copy_kernel_config() is one idea with a bunch of error handling.
Isolating it in its own function makes _build_kernel() easier to read.
---
modules/generic_stage_target.py | 49 ++++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 23 deletions(-)
diff --git a/modules/generic_stage_target.py b/modules/generic_stage_target.py
index af7cbe7..2c32c00 100644
--- a/modules/generic_stage_target.py
+++ b/modules/generic_stage_target.py
@@ -1426,29 +1426,7 @@ class generic_stage_target(generic_target):
+"build_kernel_"+kname):
print "Resume point detected, skipping build_kernel for "+kname+" operation..."
else: # TODO: make this not require a kernel config
- try:
- if not os.path.exists(self.settings["boot/kernel/"+kname+"/config"]):
- self.unbind()
- raise CatalystError,\
- "Can't find kernel config: "+\
- self.settings["boot/kernel/"+kname+\
- "/config"]
-
- except TypeError:
- raise CatalystError,\
- "Required value boot/kernel/config not specified"
-
- try:
- cmd("cp "+self.settings["boot/kernel/"+kname+\
- "/config"]+" "+\
- self.settings["chroot_path"]+"/var/tmp/"+\
- kname+".config",\
- "Couldn't copy kernel config: "+\
- self.settings["boot/kernel/"+kname+\
- "/config"],env=self.env)
-
- except CatalystError:
- self.unbind()
+ self._copy_kernel_config(kname=kname)
"""
If we need to pass special options to the bootloader
@@ -1516,6 +1494,31 @@ class generic_stage_target(generic_target):
" post-kmerge ",
"Runscript post-kmerge failed",env=self.env)
+ def _copy_kernel_config(self, kname):
+ try:
+ if not os.path.exists(self.settings["boot/kernel/"+kname+"/config"]):
+ self.unbind()
+ raise CatalystError,\
+ "Can't find kernel config: "+\
+ self.settings["boot/kernel/"+kname+\
+ "/config"]
+
+ except TypeError:
+ raise CatalystError,\
+ "Required value boot/kernel/config not specified"
+
+ try:
+ cmd("cp "+self.settings["boot/kernel/"+kname+\
+ "/config"]+" "+\
+ self.settings["chroot_path"]+"/var/tmp/"+\
+ kname+".config",\
+ "Couldn't copy kernel config: "+\
+ self.settings["boot/kernel/"+kname+\
+ "/config"],env=self.env)
+
+ except CatalystError:
+ self.unbind()
+
def bootloader(self):
if "AUTORESUME" in self.settings \
and os.path.exists(self.settings["autoresume_path"]+"bootloader"):
--
1.8.1.336.g94702dd
next prev parent reply other threads:[~2013-02-09 20:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-09 12:15 [gentoo-catalyst] stage4 kernel config for genkernel? W. Trevor King
2013-02-09 12:56 ` Chris White
2013-02-09 13:18 ` W. Trevor King
2013-02-09 20:45 ` [gentoo-catalyst] [PATCH 0/6] Make external kernel configs optional W. Trevor King
2013-02-09 20:45 ` [gentoo-catalyst] [PATCH 1/6] generic_stage_target: Split ._build_kernel() out of .build_kernel() W. Trevor King
2013-02-09 20:45 ` W. Trevor King [this message]
2013-02-09 20:45 ` [gentoo-catalyst] [PATCH 3/6] generic_stage_target.py: Dedent the bulk of ._build_kernel() W. Trevor King
2013-02-09 20:45 ` [gentoo-catalyst] [PATCH 4/6] generic_stage_target: Split ._copy_initramfs_overlay() from ._build_kernel() W. Trevor King
2013-02-09 20:45 ` [gentoo-catalyst] [PATCH 5/6] generic_stage_target: Handle unspecified boot/kernel/<kname>/config W. Trevor King
2013-02-09 20:45 ` [gentoo-catalyst] [PATCH 6/6] kmerge.sh: Make /var/tmp/${clst_kname}.config optional W. Trevor King
2013-03-01 5:57 ` [gentoo-catalyst] [PATCH] kmerge.sh: Fix line wrapping typo from 9ceebbf W. Trevor King
2013-03-01 6:06 ` Matt Turner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8b864e5f9a8127ae82e49c4ad4c88f42d04dbb2a.1360442556.git.wking@tremily.us \
--to=wking@tremily.us \
--cc=gentoo-catalyst@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox