From: Zac Medico Date: Mon, 15 Jan 2007 22:24:20 +0000 (-0000) Subject: For bug #162275, make doebuild validate *DEPEND and bail out if necessary. X-Git-Tag: v2.1.2-r1~38 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=06781f2314d1760d5858e03f9028e0f368826b14;p=portage.git For bug #162275, make doebuild validate *DEPEND and bail out if necessary. svn path=/main/trunk/; revision=5653 --- diff --git a/pym/portage.py b/pym/portage.py index 76a77e38e..d2fa9844c 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -3352,6 +3352,23 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, return spawn(EBUILD_SH_BINARY + " depend", mysettings) + mycpv = mysettings["CATEGORY"] + "/" + mysettings["PF"] + dep_keys = ["DEPEND", "RDEPEND", "PDEPEND"] + metadata = dict(izip(dep_keys, mydbapi.aux_get(mycpv, dep_keys))) + class FakeTree(object): + def __init__(self, mydb): + self.dbapi = mydb + dep_check_trees = {myroot:{}} + dep_check_trees[myroot]["porttree"] = \ + FakeTree(fakedbapi(settings=mysettings)) + for dep_type in dep_keys: + mycheck = dep_check(metadata[dep_type], None, mysettings, + myuse="all", myroot=myroot, trees=dep_check_trees) + if not mycheck[0]: + writemsg("%s: %s\n%s\n" % ( + dep_type, metadata[dep_type], mycheck[1]), noiselevel=-1) + return 1 + if "PORTAGE_TMPDIR" not in mysettings or \ not os.path.isdir(mysettings["PORTAGE_TMPDIR"]): writemsg("The directory specified in your " + \