From b5d2bc19effeb36929b41897b681249f93d39cdf Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 4 Oct 2007 07:05:11 +0000 Subject: Make portdbapi.getfetchlist() bail out if the EAPI is unsupported. This makes it impossible for an unsupported EAPI to result in invalid Manifest generation. svn path=/main/trunk/; revision=7916 --- pym/portage/dbapi/porttree.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'pym') diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py index 83c568fa0..2c205ae9e 100644 --- a/pym/portage/dbapi/porttree.py +++ b/pym/portage/dbapi/porttree.py @@ -371,13 +371,20 @@ class portdbapi(dbapi): if mysettings is None: mysettings = self.mysettings try: - myuris = self.aux_get(mypkg, ["SRC_URI"], mytree=mytree)[0] + eapi, myuris = self.aux_get(mypkg, + ["EAPI", "SRC_URI"], mytree=mytree) except KeyError: # Convert this to an InvalidDependString exception since callers # already handle it. raise portage.exception.InvalidDependString( "getfetchlist(): aux_get() error reading "+mypkg+"; aborting.") + if not eapi_is_supported(eapi): + # Convert this to an InvalidDependString exception + # since callers already handle it. + raise portage.exception.InvalidDependString( + "getfetchlist(): Unsupported EAPI: '%s'" % eapi.lstrip("-")) + if useflags is None: useflags = mysettings["USE"].split() -- cgit v1.2.3-1-g7c22