From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1SbfJJ-0005wF-0y for garchives@archives.gentoo.org; Mon, 04 Jun 2012 21:59:37 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 51D76E05CF; Mon, 4 Jun 2012 21:59:29 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 1384BE05CF for ; Mon, 4 Jun 2012 21:59:29 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2C42D1B402C for ; Mon, 4 Jun 2012 21:59:28 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id DC4B6E5404 for ; Mon, 4 Jun 2012 21:59:26 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1338847152.ee3bf6f9773c0afbd494c657d253241f79d98044.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/repoman/, bin/, pym/portage/xml/, pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: bin/repoman pym/_emerge/EbuildPhase.py pym/portage/xml/metadata.py pym/repoman/herdbase.py X-VCS-Directories: pym/repoman/ bin/ pym/portage/xml/ pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: ee3bf6f9773c0afbd494c657d253241f79d98044 X-VCS-Branch: master Date: Mon, 4 Jun 2012 21:59:26 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 5c6dbdcb-6c69-482c-9661-d4f916dd6c4d X-Archives-Hash: 4b42a0c65f150c84c726dddc49eb78a0 commit: ee3bf6f9773c0afbd494c657d253241f79d98044 Author: Zac Medico gentoo org> AuthorDate: Mon Jun 4 21:59:12 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Mon Jun 4 21:59:12 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Dee3bf6f9 Handle more import exceptions involving xml. See http://bugs.python.org/issue14988 --- bin/repoman | 6 +++++- pym/_emerge/EbuildPhase.py | 13 +++++++++++-- pym/portage/xml/metadata.py | 10 ++++++++-- pym/repoman/herdbase.py | 6 +++++- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/bin/repoman b/bin/repoman index 052ec94..e43fa1c 100755 --- a/bin/repoman +++ b/bin/repoman @@ -45,7 +45,11 @@ portage.dep._internal_warnings =3D True try: import xml.etree.ElementTree from xml.parsers.expat import ExpatError -except (ImportError, SystemError): +except (SystemExit, KeyboardInterrupt): + raise +except (ImportError, SystemError, RuntimeError, Exception): + # broken or missing xml support + # http://bugs.python.org/issue14988 msg =3D ["Please enable python's \"xml\" USE flag in order to use repom= an."] from portage.output import EOutput out =3D EOutput() diff --git a/pym/_emerge/EbuildPhase.py b/pym/_emerge/EbuildPhase.py index 27944f4..741f608 100644 --- a/pym/_emerge/EbuildPhase.py +++ b/pym/_emerge/EbuildPhase.py @@ -12,7 +12,16 @@ from _emerge.MiscFunctionsProcess import MiscFunctions= Process from _emerge.EbuildProcess import EbuildProcess from _emerge.CompositeTask import CompositeTask from portage.util import writemsg -from portage.xml.metadata import MetaDataXML + +try: + from portage.xml.metadata import MetaDataXML +except (SystemExit, KeyboardInterrupt): + raise +except (ImportError, SystemError, RuntimeError, Exception): + # broken or missing xml support + # http://bugs.python.org/issue14988 + MetaDataXML =3D None + import portage portage.proxy.lazyimport.lazyimport(globals(), 'portage.elog:messages@elog_messages', @@ -71,7 +80,7 @@ class EbuildPhase(CompositeTask): maint_str =3D "" upstr_str =3D "" metadata_xml_path =3D os.path.join(os.path.dirname(self.settings['EBU= ILD']), "metadata.xml") - if os.path.isfile(metadata_xml_path): + if MetaDataXML is not None and os.path.isfile(metadata_xml_path): herds_path =3D os.path.join(self.settings['PORTDIR'], 'metadata/herds.xml') try: diff --git a/pym/portage/xml/metadata.py b/pym/portage/xml/metadata.py index 25f801a..f820e54 100644 --- a/pym/portage/xml/metadata.py +++ b/pym/portage/xml/metadata.py @@ -42,12 +42,18 @@ if sys.hexversion < 0x2070000 or \ else: try: import xml.etree.cElementTree as etree - except (ImportError, SystemError): + except (SystemExit, KeyboardInterrupt): + raise + except (ImportError, SystemError, RuntimeError, Exception): + # broken or missing xml support + # http://bugs.python.org/issue14988 import xml.etree.ElementTree as etree =20 try: from xml.parsers.expat import ExpatError -except (ImportError, SystemError): +except (SystemExit, KeyboardInterrupt): + raise +except (ImportError, SystemError, RuntimeError, Exception): ExpatError =3D SyntaxError =20 import re diff --git a/pym/repoman/herdbase.py b/pym/repoman/herdbase.py index 91a32cb..fcf58b3 100644 --- a/pym/repoman/herdbase.py +++ b/pym/repoman/herdbase.py @@ -7,7 +7,11 @@ import errno import xml.etree.ElementTree try: from xml.parsers.expat import ExpatError -except (ImportError, SystemError): +except (SystemExit, KeyboardInterrupt): + raise +except (ImportError, SystemError, RuntimeError, Exception): + # broken or missing xml support + # http://bugs.python.org/issue14988 # This means that python is built without xml support. # We tolerate global scope import failures for optional # modules, so that ImportModulesTestCase can succeed (or