Lines 1-6
Link Here
|
1 |
# Distributed under the GNU General Public License version 2 |
1 |
# Distributed under the GNU General Public License version 2 |
2 |
# Copyright 2003-2004 Gentoo Technologies, Inc. |
2 |
# Copyright 2003-2004 Gentoo Technologies, Inc. |
3 |
# $Header: /var/cvsroot/gentoo/src/catalyst/modules/embedded_target.py,v 1.1 2004/05/17 01:21:17 zhen Exp $ |
3 |
# $Header: /home/cvsroot/gentoo/src/catalyst/modules/embedded_target.py,v 1.1 2004/05/17 01:21:17 zhen Exp $ |
4 |
|
4 |
|
5 |
""" |
5 |
""" |
6 |
This class works like a 'stage3'. A stage2 tarball is unpacked, but instead |
6 |
This class works like a 'stage3'. A stage2 tarball is unpacked, but instead |
Lines 8-14
Link Here
|
8 |
inside the 'stage2' system. This way we do not have to emerge gcc/portage |
8 |
inside the 'stage2' system. This way we do not have to emerge gcc/portage |
9 |
into the staged system. |
9 |
into the staged system. |
10 |
|
10 |
|
11 |
It sounds real complicated but basically it's a it runs |
11 |
It sounds real complicated but basically it runs |
12 |
ROOT=/tmp/submerge emerge --blahblah foo bar |
12 |
ROOT=/tmp/submerge emerge --blahblah foo bar |
13 |
""" |
13 |
""" |
14 |
|
14 |
|
Lines 22-29
Link Here
|
22 |
def __init__(self,spec,addlargs): |
21 |
def __init__(self,spec,addlargs): |
23 |
self.required_values=[] |
22 |
self.required_values=[] |
24 |
self.valid_values=[] |
23 |
self.valid_values=[] |
25 |
#self.required_values.extend(["embedded/packages"]); |
24 |
self.valid_values.extend(["embedded/empty","embedded/rm","embedded/unmerge","embedded/runscript","embedded/mergeroot","embedded/packages","embedded/use","embedded/fstype"]) |
26 |
self.valid_values.extend(["embedded/empty","embedded/rm","embedded/unmerge","embedded/runscript","embedded/mergeroot","embedded/packages","embedded/use"]) |
25 |
|
|
|
26 |
if addlargs.has_key("embedded/fstype"): |
27 |
self.valid_values.append("embedded/fsops") |
27 |
|
28 |
|
28 |
generic_stage_target.__init__(self,spec,addlargs) |
29 |
generic_stage_target.__init__(self,spec,addlargs) |
29 |
self.settings["image_path"]=self.settings["storedir"]+"/builds/"+self.settings["target_subpath"]+"/image" |
30 |
self.settings["image_path"]=self.settings["storedir"]+"/builds/"+self.settings["target_subpath"]+"/image" |
Lines 50-55
Link Here
|
50 |
for x in self.settings["embedded/rm"]: |
51 |
for x in self.settings["embedded/rm"]: |
51 |
print "Removing "+x |
52 |
print "Removing "+x |
52 |
os.system("rm -rf "+self.settings["chroot_path"]+"/tmp/mergeroot"+x) |
53 |
os.system("rm -rf "+self.settings["chroot_path"]+"/tmp/mergeroot"+x) |
|
|
54 |
|
55 |
def build_fs(self): |
56 |
try: |
57 |
if self.settings.has_key("embedded/fstype"): |
58 |
cmd("/bin/bash "+self.settings["sharedir"]+"/targets/embedded/embedded.sh package","filesystem packaging failed") |
59 |
except CatalystError: |
60 |
self.unbind() |
61 |
raise CatalystError, "embedded filesystem created aborting due to error." |
62 |
|
63 |
|
53 |
def run_local(self): |
64 |
def run_local(self): |
54 |
mypackages=list_bashify(self.settings["embedded/packages"]) |
65 |
mypackages=list_bashify(self.settings["embedded/packages"]) |
55 |
print "Merging embedded image" |
66 |
print "Merging embedded image" |
Lines 60-72
Link Here
|
60 |
raise CatalystError, "Embedded build aborted due to error." |
71 |
raise CatalystError, "Embedded build aborted due to error." |
61 |
self.unmerge() |
72 |
self.unmerge() |
62 |
self.clean() |
73 |
self.clean() |
63 |
try: |
74 |
self.build_fs() |
64 |
if self.settings.has_key("embedded/runscript"): |
|
|
65 |
cmd("/bin/bash "+self.settings["embedded/runscript"]+" run ","runscript failed") |
66 |
except CatalystError: |
67 |
self.unbind() |
68 |
raise CatalystError, "embedded runscript aborting due to error." |
69 |
|
75 |
|
70 |
def register(foo): |
76 |
def register(foo): |
71 |
foo.update({"embedded":embedded_target}) |
77 |
foo.update({"embedded":embedded_target}) |
72 |
return foo |
78 |
return foo |