Index: embedded_target.py =================================================================== RCS file: /var/cvsroot/gentoo/src/catalyst/modules/embedded_target.py,v retrieving revision 1.6 diff -u -B -r1.6 embedded_target.py --- embedded_target.py 17 Dec 2004 21:18:06 -0000 1.6 +++ embedded_target.py 3 Jan 2005 19:17:18 -0000 @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo/src/catalyst/modules/embedded_target.py,v 1.6 2004/12/17 21:18:06 wolf31o2 Exp $ +# Distributed under the GNU General Public License version 2 +# Copyright 2003-2004 Gentoo Technologies, Inc. +# $Header: /home/cvsroot/gentoo/src/catalyst/modules/embedded_target.py,v 1.1 2004/05/17 01:21:17 zhen Exp $ """ This class works like a 'stage3'. A stage2 tarball is unpacked, but instead @@ -22,7 +21,7 @@ def __init__(self,spec,addlargs): self.required_values=[] self.valid_values=[] - self.valid_values.extend(["embedded/empty","embedded/rm","embedded/unmerge","embedded/runscript","embedded/mergeroot","embedded/packages","embedded/use","embedded/fs-type"]) + self.valid_values.extend(["embedded/empty","embedded/rm","embedded/unmerge","embedded/fs-prepare","embedded/fs-finish","embedded/mergeroot","embedded/packages","embedded/use","embedded/fs-type"]) if addlargs.has_key("embedded/fs-type"): self.valid_values.append("embedded/fs-ops") @@ -59,8 +58,24 @@ cmd("/bin/bash "+self.settings["sharedir"]+"/targets/embedded/embedded.sh package","filesystem packaging failed") except CatalystError: self.unbind() - raise CatalystError, "embedded filesystem created aborting due to error." + raise CatalystError, "embedded filesystem creation aborting due to error." + # this code is mostly duplication from the livecd stage2 module + def pre_build_fs(self): + try: + if self.settings.has_key("embedded/fs-prepare"): + cmd("/bin/bash "+self.settings["embedded/fs-prepare"], "pre filesystem packaging cause an error in execution") + except CatalystError: + self.unbind() + raise CatalystError, "embedded pre filesystem creation script aborting due to error" + + def post_build_fs(self): + try: + if self.settings.has_key("embedded/fs-finish"): + cmd("/bin/bash "+self.settings["embedded/fs-finish"], "pre filesystem packaging cause an error in execution") + except CatalystError: + self.unbind() + raise CatalystError, "embedded post filesystem creation script aborting due to error" def run_local(self): mypackages=list_bashify(self.settings["embedded/packages"]) @@ -70,9 +85,13 @@ except CatalystError: self.unbind() raise CatalystError, "Embedded build aborted due to error." + self.unmerge() self.clean() + + self.pre_build_fs() self.build_fs() + self.post_build_fs() def register(foo): foo.update({"embedded":embedded_target})