done
}
+dyn_pretend() {
+ ebuild_phase_with_hooks pkg_pretend
+}
+
dyn_setup() {
ebuild_phase_with_hooks pkg_setup
}
echo "than one option is specified, each will be executed in order."
echo
echo " help : show this help screen"
+ echo " pretend : execute package specific pretend actions"
echo " setup : execute package specific setup actions"
echo " fetch : download source archive(s) and patches"
echo " digest : create a manifest file for the package"
local phase_func=""
case "$arg" in
+ pretend)
+ ! hasq $eapi 0 1 2 && \
+ phase_func=pkg_pretend
+ ;;
setup)
phase_func=pkg_setup
;;
pkg_nofetch pkg_postinst pkg_postrm pkg_preinst pkg_prerm
pkg_setup src_test src_unpack"
;;
- *)
+ 2)
valid_phases="src_compile pkg_config src_configure pkg_info
src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst
src_prepare pkg_prerm pkg_setup src_test src_unpack"
;;
+ *)
+ valid_phases="src_compile pkg_config src_configure pkg_info
+ src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst
+ src_prepare pkg_prerm pkg_pretend pkg_setup src_test src_unpack"
+ ;;
esac
DEFINED_PHASES=
fi
export SANDBOX_ON="0"
;;
- help|setup|preinst)
+ help|pretend|setup|preinst)
#pkg_setup needs to be out of the sandbox for tmp file creation;
#for example, awking and piping a file in /tmp requires a temp file to be created
#in /etc. If pkg_setup is in the sandbox, both our lilo and apache ebuilds break.
if mydo == "prepare" and eapi in ("0", "1"):
return os.EX_OK
+ if mydo == "pretend" and eapi in ("0", "1", "2"):
+ return os.EX_OK
+
kwargs = actionmap[mydo]["args"]
mysettings["EBUILD_PHASE"] = mydo
_doebuild_exit_status_unlink(
clean_phases = ("clean", "cleanrm")
validcommands = ["help","clean","prerm","postrm","cleanrm","preinst","postinst",
- "config", "info", "setup", "depend",
+ "config", "info", "setup", "depend", "pretend",
"fetch", "fetchall", "digest",
"unpack", "prepare", "configure", "compile", "test",
"install", "rpm", "qmerge", "merge",
# args are for the to spawn function
actionmap = {
+"pretend": {"cmd":ebuild_sh, "args":{"droppriv":0, "free":1, "sesandbox":0, "fakeroot":0}},
"setup": {"cmd":ebuild_sh, "args":{"droppriv":0, "free":1, "sesandbox":0, "fakeroot":0}},
"unpack": {"cmd":ebuild_sh, "args":{"droppriv":droppriv, "free":0, "sesandbox":sesandbox, "fakeroot":0}},
"prepare": {"cmd":ebuild_sh, "args":{"droppriv":droppriv, "free":0, "sesandbox":sesandbox, "fakeroot":0}},