1 |
commit: d2f329b8c64db43ffe617d2d85e17e338548e3df |
2 |
Author: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Mar 7 17:10:51 2017 +0000 |
4 |
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Mar 7 17:11:29 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=d2f329b8 |
7 |
|
8 |
Add initial CATALYST_USE support |
9 |
|
10 |
Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto <AT> gentoo.org> |
11 |
|
12 |
catalyst/base/stagebase.py | 13 ++++++++++++- |
13 |
catalyst/targets/grp.py | 7 ------- |
14 |
catalyst/targets/livecd_stage1.py | 14 +++++--------- |
15 |
targets/stage1/stage1-chroot.sh | 16 ++++++++++++---- |
16 |
targets/stage2/stage2-chroot.sh | 16 ---------------- |
17 |
5 files changed, 29 insertions(+), 37 deletions(-) |
18 |
|
19 |
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py |
20 |
index 78fd67f..0d36e33 100644 |
21 |
--- a/catalyst/base/stagebase.py |
22 |
+++ b/catalyst/base/stagebase.py |
23 |
@@ -179,6 +179,7 @@ class StageBase(TargetBase, ClearBase, GenBase): |
24 |
self.set_controller_file() |
25 |
self.set_default_action_sequence() |
26 |
self.set_use() |
27 |
+ self.set_catalyst_use() |
28 |
self.set_cleanables() |
29 |
self.set_iso_volume_id() |
30 |
self.set_build_kernel_vars() |
31 |
@@ -549,9 +550,19 @@ class StageBase(TargetBase, ClearBase, GenBase): |
32 |
if isinstance(self.settings['use'], str): |
33 |
self.settings["use"] = self.settings["use"].split() |
34 |
|
35 |
+ def set_catalyst_use(self): |
36 |
+ if self.settings["spec_prefix"] + "/catalyst_use" in self.settings: |
37 |
+ self.settings["catalyst_use"] = \ |
38 |
+ self.settings[self.settings["spec_prefix"]+"/catalyst_use"] |
39 |
+ del self.settings[self.settings["spec_prefix"]+"/catalyst_use"] |
40 |
+ if "catalyst_use" not in self.settings: |
41 |
+ self.settings["catalyst_use"] = "" |
42 |
+ if isinstance(self.settings['catalyst_use'], str): |
43 |
+ self.settings["catalyst_use"] = self.settings["catalyst_use"].split() |
44 |
+ |
45 |
# Force bindist when options ask for it |
46 |
if "BINDIST" in self.settings: |
47 |
- self.settings["use"].append("bindist") |
48 |
+ self.settings["catalyst_use"].append("bindist") |
49 |
|
50 |
def set_stage_path(self): |
51 |
self.settings["stage_path"] = normpath(self.settings["chroot_path"]) |
52 |
|
53 |
diff --git a/catalyst/targets/grp.py b/catalyst/targets/grp.py |
54 |
index 049bc55..d47654d 100644 |
55 |
--- a/catalyst/targets/grp.py |
56 |
+++ b/catalyst/targets/grp.py |
57 |
@@ -52,13 +52,6 @@ class grp(StageBase): |
58 |
raise CatalystError("GRP build aborting due to error.", |
59 |
print_traceback=True) |
60 |
|
61 |
- def set_use(self): |
62 |
- StageBase.set_use(self) |
63 |
- if "use" in self.settings: |
64 |
- self.settings["use"].append("bindist") |
65 |
- else: |
66 |
- self.settings["use"]=["bindist"] |
67 |
- |
68 |
def set_mounts(self): |
69 |
self.mounts.append("/tmp/grp") |
70 |
self.mountmap["/tmp/grp"]=self.settings["target_path"] |
71 |
|
72 |
diff --git a/catalyst/targets/livecd_stage1.py b/catalyst/targets/livecd_stage1.py |
73 |
index eea4312..c0a664f 100644 |
74 |
--- a/catalyst/targets/livecd_stage1.py |
75 |
+++ b/catalyst/targets/livecd_stage1.py |
76 |
@@ -29,16 +29,12 @@ class livecd_stage1(StageBase): |
77 |
def set_spec_prefix(self): |
78 |
self.settings["spec_prefix"]="livecd" |
79 |
|
80 |
- def set_use(self): |
81 |
- StageBase.set_use(self) |
82 |
- if "use" in self.settings: |
83 |
- self.settings["use"].append("livecd") |
84 |
- if "BINDIST" in self.settings: |
85 |
- self.settings["use"].append("bindist") |
86 |
+ def set_catalyst_use(self): |
87 |
+ StageBase.set_catalyst_use(self) |
88 |
+ if "catalyst_use" in self.settings: |
89 |
+ self.settings["catalyst_use"].append("livecd") |
90 |
else: |
91 |
- self.settings["use"]=["livecd"] |
92 |
- if "BINDIST" in self.settings: |
93 |
- self.settings["use"].append("bindist") |
94 |
+ self.settings["catalyst_use"] = ["livecd"] |
95 |
|
96 |
def set_packages(self): |
97 |
StageBase.set_packages(self) |
98 |
|
99 |
diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh |
100 |
index fbda84b..f243866 100755 |
101 |
--- a/targets/stage1/stage1-chroot.sh |
102 |
+++ b/targets/stage1/stage1-chroot.sh |
103 |
@@ -7,7 +7,7 @@ export clst_buildpkgs="$(/tmp/build.py)" |
104 |
|
105 |
# Setup our environment |
106 |
[ -n "${clst_BINDIST}" ] && BINDIST="bindist" |
107 |
-BOOTSTRAP_USE="$(portageq envvar BOOTSTRAP_USE) ${BINDIST}" |
108 |
+BOOTSTRAP_USE="$(portageq envvar BOOTSTRAP_USE)" |
109 |
|
110 |
FEATURES="${clst_myfeatures} nodoc noman noinfo -news" |
111 |
|
112 |
@@ -23,6 +23,10 @@ fi |
113 |
## Setup seed pkgmgr to ensure latest |
114 |
clst_root_path=/ setup_pkgmgr "build" |
115 |
|
116 |
+# We need to ensure the base stage3 has USE="bindist" |
117 |
+# if BINDIST is set to avoid issues with openssl / openssh |
118 |
+[ -e ${clst_make_conf} ] && echo "USE=\"${USE} ${BINDIST}\"" >> ${clst_make_conf} |
119 |
+ |
120 |
# Update stage3 |
121 |
if [ -n "${clst_update_seed}" ]; then |
122 |
if [ "${clst_update_seed}" == "yes" ]; then |
123 |
@@ -43,6 +47,9 @@ else |
124 |
echo "Skipping seed stage update..." |
125 |
fi |
126 |
|
127 |
+# Clear USE |
128 |
+[ -e ${clst_make_conf} ] && sed -i -e "USE=\"s/${BINDIST}//" ${clst_make_conf} |
129 |
+ |
130 |
make_destpath /tmp/stage1root |
131 |
|
132 |
## START BUILD |
133 |
@@ -53,7 +60,8 @@ sed -i "/USE=\"${USE} -build\"/d" ${clst_make_conf} |
134 |
|
135 |
# Now, we install our packages |
136 |
if [ -e ${clst_make_conf} ]; then |
137 |
- echo "USE=\"-* build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"" >> ${clst_make_conf} |
138 |
+ echo "CATALYST_USE=\"-* build ${BINDIST} ${clst_CATALYST_USE}\"" >> ${clst_make_conf} |
139 |
+ echo "USE=\"\${CATALYST_USE} ${USE} \${BOOTSTRAP_USE} ${clst_HOSTUSE}\"" >> ${clst_make_conf} |
140 |
for useexpand in ${clst_HOSTUSEEXPAND}; do |
141 |
x="clst_${useexpand}" |
142 |
echo "${useexpand}=\"${!x}\"" \ |
143 |
@@ -62,8 +70,8 @@ if [ -e ${clst_make_conf} ]; then |
144 |
fi |
145 |
|
146 |
run_merge "--oneshot ${clst_buildpkgs}" |
147 |
-sed -i "/USE=\"-* build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"/d" \ |
148 |
- ${clst_make_conf} |
149 |
+ |
150 |
+# Why are we removing these? Don't we need them for final make.conf? |
151 |
for useexpand in ${clst_HOSTUSEEXPAND}; do |
152 |
x="clst_${useexpand}" |
153 |
sed -i "/${useexpand}=\"${!x}\"/d" \ |
154 |
|
155 |
diff --git a/targets/stage2/stage2-chroot.sh b/targets/stage2/stage2-chroot.sh |
156 |
index 38dfea3..5fac858 100755 |
157 |
--- a/targets/stage2/stage2-chroot.sh |
158 |
+++ b/targets/stage2/stage2-chroot.sh |
159 |
@@ -5,21 +5,5 @@ source /tmp/chroot-functions.sh |
160 |
# Setup the environment |
161 |
export FEATURES="${clst_myfeatures} nodoc noman noinfo -news" |
162 |
|
163 |
-# Set bindist USE flag if clst_BINDIST is set |
164 |
-# The bindist functions have been taken from support/chroot-functions.sh |
165 |
-if [ -e "${clst_make_conf}" ] && [ -n "${clst_BINDIST}" ]; then |
166 |
- if grep -q ^USE "${clst_make_conf}"; then |
167 |
- echo "USE=\"\${USE} bindist\"" >> "${clst_make_conf}" |
168 |
- else |
169 |
- echo "USE=\"bindist\"" >> "${clst_make_conf}" |
170 |
- fi |
171 |
-fi |
172 |
- |
173 |
- |
174 |
- |
175 |
## START BUILD |
176 |
${clst_repo_basedir}/${clst_repo_name}/scripts/bootstrap.sh ${bootstrap_opts} || exit 1 |
177 |
- |
178 |
-# Clean-up USE again |
179 |
-sed -i "/USE=\"\${USE} bindist\"/d" "${clst_make_conf}" |
180 |
-sed -i "/USE=\"bindist\"/d" "${clst_make_conf}" |