ce88c89
From 983e3b9fcf6d1410396e16bb0141e21939e69da7 Mon Sep 17 00:00:00 2001
ce88c89
From: Cole Robinson <crobinso@redhat.com>
ce88c89
Date: Sun, 28 Oct 2012 20:09:32 -0400
ce88c89
Subject: [PATCH] Fix package install with PackageKit 0.8.4 (cherry picked
ce88c89
 from commit 35bab2cc98ee4aef87f8a908c4951f2717455c8c)
ce88c89
ce88c89
---
ce88c89
 src/virtManager/packageutils.py | 15 +++++++++++++--
ce88c89
 1 file changed, 13 insertions(+), 2 deletions(-)
ce88c89
ce88c89
diff --git a/src/virtManager/packageutils.py b/src/virtManager/packageutils.py
ce88c89
index 6478360..736b98c 100644
ce88c89
--- a/src/virtManager/packageutils.py
ce88c89
+++ b/src/virtManager/packageutils.py
ce88c89
@@ -135,7 +135,15 @@ def packagekit_install(package_list):
ce88c89
                                    timeout=timeout)
ce88c89
 
ce88c89
 def packagekit_search(session, pk_control, package_name, packages):
ce88c89
-    tid = pk_control.GetTid()
ce88c89
+    newstyle = False
ce88c89
+    try:
ce88c89
+        tid = pk_control.GetTid()
ce88c89
+    except dbus.exceptions.DBusException, e:
ce88c89
+        if e.get_dbus_name() != "org.freedesktop.DBus.Error.UnknownMethod":
ce88c89
+            raise
ce88c89
+        newstyle = True
ce88c89
+        tid = pk_control.CreateTransaction()
ce88c89
+
ce88c89
     pk_trans = dbus.Interface(
ce88c89
                     session.get_object("org.freedesktop.PackageKit", tid),
ce88c89
                     "org.freedesktop.PackageKit.Transaction")
ce88c89
@@ -160,7 +168,10 @@ def packagekit_search(session, pk_control, package_name, packages):
ce88c89
     pk_trans.connect_to_signal('ErrorCode', error)
ce88c89
     pk_trans.connect_to_signal('Package', package)
ce88c89
     try:
ce88c89
-        pk_trans.SearchNames("installed", [package_name])
ce88c89
+        searchtype = "installed"
ce88c89
+        if newstyle:
ce88c89
+            searchtype = 2 ** 2
ce88c89
+        pk_trans.SearchNames(searchtype, [package_name])
ce88c89
     except dbus.exceptions.DBusException, e:
ce88c89
         if e.get_dbus_name() != "org.freedesktop.DBus.Error.UnknownMethod":
ce88c89
             raise
ce88c89
-- 
ce88c89
1.7.12.1
ce88c89