From d12e9731958accc6edc86055f5a93a1c9c43ae71 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 15 Jan 2007 23:07:49 +0000 Subject: Make invalid deps non-fatal for some phases. svn path=/main/trunk/; revision=5655 --- pym/portage.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'pym') diff --git a/pym/portage.py b/pym/portage.py index d27cd70b4..c867769c5 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -3352,6 +3352,10 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, return spawn(EBUILD_SH_BINARY + " depend", mysettings) + # Validate dependency metadata here to ensure that ebuilds with invalid + # data are never installed (even via the ebuild command). + invalid_dep_exempt_phases = \ + set(["clean", "cleanrm", "help", "prerm", "postrm"]) mycpv = mysettings["CATEGORY"] + "/" + mysettings["PF"] dep_keys = ["DEPEND", "RDEPEND", "PDEPEND"] metadata = dict(izip(dep_keys, mydbapi.aux_get(mycpv, dep_keys))) @@ -3367,7 +3371,8 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, if not mycheck[0]: writemsg("%s: %s\n%s\n" % ( dep_type, metadata[dep_type], mycheck[1]), noiselevel=-1) - return 1 + if mydo not in invalid_dep_exempt_phases: + return 1 del dep_type, mycheck del mycpv, dep_keys, metadata, FakeTree, dep_check_trees -- cgit v1.2.3-1-g7c22