diff options
author | Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org> | 2017-03-07 09:10:51 -0800 |
---|---|---|
committer | Brian Dolbec <dolsen@gentoo.org> | 2017-03-07 09:11:29 -0800 |
commit | d2f329b8c64db43ffe617d2d85e17e338548e3df (patch) | |
tree | 2efb90016966b1e4f5e293da8e42ee4981c893ef | |
parent | stagebase.py: Whitespace cleanups (diff) | |
download | catalyst-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.py | 13 | ||||
-rw-r--r-- | catalyst/targets/grp.py | 7 | ||||
-rw-r--r-- | catalyst/targets/livecd_stage1.py | 14 | ||||
-rwxr-xr-x | targets/stage1/stage1-chroot.sh | 16 | ||||
-rwxr-xr-x | targets/stage2/stage2-chroot.sh | 16 |
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}" |