From patchwork Wed Apr 4 00:35:41 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel, 1/1] lib/bb/ui/hob: exit cleanly if the required pygtk version isn't available Date: Wed, 04 Apr 2012 00:35:41 -0000 From: Joshua Lock X-Patchwork-Id: 25135 Message-Id: <44c725f736689467b237b57d5c2bfe4f7d937bc5.1333499344.git.josh@linux.intel.com> To: bitbake-devel@lists.openembedded.org Hob uses API from pygtk 2.22, therefore check to see whether this version is available and exit cleanly if not. Signed-off-by: Joshua Lock --- lib/bb/ui/hob.py | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/hob.py b/lib/bb/ui/hob.py index e72ab23..1321ebb 100755 --- a/lib/bb/ui/hob.py +++ b/lib/bb/ui/hob.py @@ -20,10 +20,19 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -import gobject -import gtk import sys import os +requirements = "FATAL: pygtk (version 2.22.0 or later) and pygobject are required to use Hob" +try: + import gobject + import gtk + import pygtk + pygtk.require('2.0') # to be certain we don't have gtk+ 1.x !?! + ver = gtk.pygtk_version + if ver < (2, 22, 0): + sys.exit("%s (you have pygtk %s.%s.%s)." % (requirements, ver[0], ver[1], ver[2])) +except ImportError as exc: + sys.exit("%s (%s)." % (requirements, str(exc))) sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) try: import bb