doebuild: set MERGE_TYPE for ebuild(1)
authorZac Medico <zmedico@gentoo.org>
Sat, 4 Dec 2010 19:46:55 +0000 (11:46 -0800)
committerZac Medico <zmedico@gentoo.org>
Sat, 4 Dec 2010 19:48:06 +0000 (11:48 -0800)
pym/portage/package/ebuild/doebuild.py

index e1f34e7553c9d7bdc2d24b5f4a910633cd69d5cd..6a232f3648536b60229317f5bf05c82ee8b871b3 100644 (file)
@@ -39,7 +39,8 @@ from portage.data import portage_gid, portage_uid, secpass, \
        uid, userpriv_groups
 from portage.dbapi.virtual import fakedbapi
 from portage.dep import Atom, paren_enclose, use_reduce
-from portage.eapi import eapi_exports_KV, eapi_exports_replace_vars, \
+from portage.eapi import eapi_exports_KV, eapi_exports_merge_type, \
+       eapi_exports_replace_vars, \
        eapi_has_src_prepare_and_src_configure, eapi_has_pkg_pretend
 from portage.elog import elog_process
 from portage.elog.messages import eerror, eqawarn
@@ -638,6 +639,13 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                        if rval != os.EX_OK:
                                return rval
 
+               if eapi_exports_merge_type(mysettings["EAPI"]) and \
+                       "MERGE_TYPE" not in mysettings.configdict["pkg"]:
+                       if tree == "porttree":
+                               mysettings.configdict["pkg"]["MERGE_TYPE"] = "source"
+                       elif tree == "bintree":
+                               mysettings.configdict["pkg"]["MERGE_TYPE"] = "binary"
+
                if eapi_exports_replace_vars(mysettings["EAPI"]) and \
                        (mydo in ("pretend", "setup") or \
                        ("noauto" not in features and not returnpid and \