aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>2017-03-07 09:10:51 -0800
committerBrian Dolbec <dolsen@gentoo.org>2017-03-07 09:11:29 -0800
commitd2f329b8c64db43ffe617d2d85e17e338548e3df (patch)
tree2efb90016966b1e4f5e293da8e42ee4981c893ef
parentstagebase.py: Whitespace cleanups (diff)
downloadcatalyst-d2f329b8c64db43ffe617d2d85e17e338548e3df.tar.gz
catalyst-d2f329b8c64db43ffe617d2d85e17e338548e3df.tar.bz2
catalyst-d2f329b8c64db43ffe617d2d85e17e338548e3df.zip
Add initial CATALYST_USE support
Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
-rw-r--r--catalyst/base/stagebase.py13
-rw-r--r--catalyst/targets/grp.py7
-rw-r--r--catalyst/targets/livecd_stage1.py14
-rwxr-xr-xtargets/stage1/stage1-chroot.sh16
-rwxr-xr-xtargets/stage2/stage2-chroot.sh16
5 files changed, 29 insertions, 37 deletions
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 78fd67f3..0d36e334 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -179,6 +179,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
self.set_controller_file()
self.set_default_action_sequence()
self.set_use()
+ self.set_catalyst_use()
self.set_cleanables()
self.set_iso_volume_id()
self.set_build_kernel_vars()
@@ -549,9 +550,19 @@ class StageBase(TargetBase, ClearBase, GenBase):
if isinstance(self.settings['use'], str):
self.settings["use"] = self.settings["use"].split()
+ def set_catalyst_use(self):
+ if self.settings["spec_prefix"] + "/catalyst_use" in self.settings:
+ self.settings["catalyst_use"] = \
+ self.settings[self.settings["spec_prefix"]+"/catalyst_use"]
+ del self.settings[self.settings["spec_prefix"]+"/catalyst_use"]
+ if "catalyst_use" not in self.settings:
+ self.settings["catalyst_use"] = ""
+ if isinstance(self.settings['catalyst_use'], str):
+ self.settings["catalyst_use"] = self.settings["catalyst_use"].split()
+
# Force bindist when options ask for it
if "BINDIST" in self.settings:
- self.settings["use"].append("bindist")
+ self.settings["catalyst_use"].append("bindist")
def set_stage_path(self):
self.settings["stage_path"] = normpath(self.settings["chroot_path"])
diff --git a/catalyst/targets/grp.py b/catalyst/targets/grp.py
index 049bc55b..d47654d0 100644
--- a/catalyst/targets/grp.py
+++ b/catalyst/targets/grp.py
@@ -52,13 +52,6 @@ class grp(StageBase):
raise CatalystError("GRP build aborting due to error.",
print_traceback=True)
- def set_use(self):
- StageBase.set_use(self)
- if "use" in self.settings:
- self.settings["use"].append("bindist")
- else:
- self.settings["use"]=["bindist"]
-
def set_mounts(self):
self.mounts.append("/tmp/grp")
self.mountmap["/tmp/grp"]=self.settings["target_path"]
diff --git a/catalyst/targets/livecd_stage1.py b/catalyst/targets/livecd_stage1.py
index eea4312e..c0a664fa 100644
--- a/catalyst/targets/livecd_stage1.py
+++ b/catalyst/targets/livecd_stage1.py
@@ -29,16 +29,12 @@ class livecd_stage1(StageBase):
def set_spec_prefix(self):
self.settings["spec_prefix"]="livecd"
- def set_use(self):
- StageBase.set_use(self)
- if "use" in self.settings:
- self.settings["use"].append("livecd")
- if "BINDIST" in self.settings:
- self.settings["use"].append("bindist")
+ def set_catalyst_use(self):
+ StageBase.set_catalyst_use(self)
+ if "catalyst_use" in self.settings:
+ self.settings["catalyst_use"].append("livecd")
else:
- self.settings["use"]=["livecd"]
- if "BINDIST" in self.settings:
- self.settings["use"].append("bindist")
+ self.settings["catalyst_use"] = ["livecd"]
def set_packages(self):
StageBase.set_packages(self)
diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh
index fbda84bf..f2438660 100755
--- a/targets/stage1/stage1-chroot.sh
+++ b/targets/stage1/stage1-chroot.sh
@@ -7,7 +7,7 @@ export clst_buildpkgs="$(/tmp/build.py)"
# Setup our environment
[ -n "${clst_BINDIST}" ] && BINDIST="bindist"
-BOOTSTRAP_USE="$(portageq envvar BOOTSTRAP_USE) ${BINDIST}"
+BOOTSTRAP_USE="$(portageq envvar BOOTSTRAP_USE)"
FEATURES="${clst_myfeatures} nodoc noman noinfo -news"
@@ -23,6 +23,10 @@ fi
## Setup seed pkgmgr to ensure latest
clst_root_path=/ setup_pkgmgr "build"
+# We need to ensure the base stage3 has USE="bindist"
+# if BINDIST is set to avoid issues with openssl / openssh
+[ -e ${clst_make_conf} ] && echo "USE=\"${USE} ${BINDIST}\"" >> ${clst_make_conf}
+
# Update stage3
if [ -n "${clst_update_seed}" ]; then
if [ "${clst_update_seed}" == "yes" ]; then
@@ -43,6 +47,9 @@ else
echo "Skipping seed stage update..."
fi
+# Clear USE
+[ -e ${clst_make_conf} ] && sed -i -e "USE=\"s/${BINDIST}//" ${clst_make_conf}
+
make_destpath /tmp/stage1root
## START BUILD
@@ -53,7 +60,8 @@ sed -i "/USE=\"${USE} -build\"/d" ${clst_make_conf}
# Now, we install our packages
if [ -e ${clst_make_conf} ]; then
- echo "USE=\"-* build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"" >> ${clst_make_conf}
+ echo "CATALYST_USE=\"-* build ${BINDIST} ${clst_CATALYST_USE}\"" >> ${clst_make_conf}
+ echo "USE=\"\${CATALYST_USE} ${USE} \${BOOTSTRAP_USE} ${clst_HOSTUSE}\"" >> ${clst_make_conf}
for useexpand in ${clst_HOSTUSEEXPAND}; do
x="clst_${useexpand}"
echo "${useexpand}=\"${!x}\"" \
@@ -62,8 +70,8 @@ if [ -e ${clst_make_conf} ]; then
fi
run_merge "--oneshot ${clst_buildpkgs}"
-sed -i "/USE=\"-* build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"/d" \
- ${clst_make_conf}
+
+# Why are we removing these? Don't we need them for final make.conf?
for useexpand in ${clst_HOSTUSEEXPAND}; do
x="clst_${useexpand}"
sed -i "/${useexpand}=\"${!x}\"/d" \
diff --git a/targets/stage2/stage2-chroot.sh b/targets/stage2/stage2-chroot.sh
index 38dfea37..5fac858f 100755
--- a/targets/stage2/stage2-chroot.sh
+++ b/targets/stage2/stage2-chroot.sh
@@ -5,21 +5,5 @@ source /tmp/chroot-functions.sh
# Setup the environment
export FEATURES="${clst_myfeatures} nodoc noman noinfo -news"
-# Set bindist USE flag if clst_BINDIST is set
-# The bindist functions have been taken from support/chroot-functions.sh
-if [ -e "${clst_make_conf}" ] && [ -n "${clst_BINDIST}" ]; then
- if grep -q ^USE "${clst_make_conf}"; then
- echo "USE=\"\${USE} bindist\"" >> "${clst_make_conf}"
- else
- echo "USE=\"bindist\"" >> "${clst_make_conf}"
- fi
-fi
-
-
-
## START BUILD
${clst_repo_basedir}/${clst_repo_name}/scripts/bootstrap.sh ${bootstrap_opts} || exit 1
-
-# Clean-up USE again
-sed -i "/USE=\"\${USE} bindist\"/d" "${clst_make_conf}"
-sed -i "/USE=\"bindist\"/d" "${clst_make_conf}"