From: Fabian Groffen Date: Thu, 8 Nov 2007 19:25:03 +0000 (-0000) Subject: Merged from trunk 8456:8457 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=3e9f7c2634b59a315f30c67848846274d058b92b;p=portage.git Merged from trunk 8456:8457 | 8457 | For unsatisfied dependencies, shorten the per-package EAPI | | zmedico | mask output and show an informative message whenever an EAPI | | | mask is encountered. | svn path=/main/branches/prefix/; revision=8459 --- diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 530780c68..d650041e6 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -2083,6 +2083,8 @@ class depgraph(object): red(' [%s]' % myparent[0]) + ')' masked_packages = [] missing_licenses = [] + from textwrap import wrap + have_eapi_mask = False pkgsettings = self.pkgsettings[root] portdb = self.roots[root].trees["porttree"].dbapi dbs = self._filtered_trees[root]["dbs"] @@ -2128,6 +2130,8 @@ class depgraph(object): mreasons.append("EPREFIX: '%s' too small" % metadata["EPREFIX"]) missing_licenses = [] if metadata: + if not portage.eapi_is_supported(metadata["EAPI"]): + have_eapi_mask = True try: missing_licenses = \ pkgsettings.getMissingLicenses( @@ -2164,6 +2168,18 @@ class depgraph(object): print msg print shown_licenses.add(l) + if have_eapi_mask: + if portage.const.EAPIPREFIX: + p = portage.const.EAPIPREFIX + " " + else: + p = '' + print + msg = ("The current version of portage supports " + \ + "EAPI '%s%s'. You must upgrade to a newer version" + \ + " of portage before EAPI masked packages can" + \ + " be installed.") % (p, portage.const.EAPI) + for line in wrap(msg, 75): + print line print print "For more information, see MASKED PACKAGES section in the emerge man page or " print "refer to the Gentoo Handbook." diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 8aa264e8e..191727939 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -5324,8 +5324,7 @@ def getmaskingstatus(mycpv, metadata=None, settings=None, portdb=None): if eapi.startswith("-"): eapi = eapi[1:] if not eapi_is_supported(eapi): - return ["ebuild requires EAPI %s, portage supports EAPI %s %s" % - (eapi, portage.const.EAPIPREFIX, portage.const.EAPI)] + return ["EAPI %s" % eapi] egroups = settings.configdict["backupenv"].get( "ACCEPT_KEYWORDS", "").split() mygroups = mygroups.split()