[packagekit] yum: detecting file conflicts and using a custom error
Richard Hughes
hughsient at gmail.com
Tue Apr 15 08:39:52 PDT 2008
On Tue, 2008-04-15 at 14:14 +0100, Richard Hughes wrote:
> Now, if yum can't give us sane error types, we can screenscrape, as
> yum is always run in the C locale by packagekit. If nobody has any
> complaints, I'm going to add heuristic code to the yum backend to send
> proper errors.
Adding these few lines of code:
diff --git a/backends/yum/helpers/yumBackend.py b/backends/yum/helpers/yumBackend.py
index dfd44c7..0c5a55e 100644
--- a/backends/yum/helpers/yumBackend.py
+++ b/backends/yum/helpers/yumBackend.py
@@ -1005,8 +1005,11 @@ class PackageKitYumBackend(PackageKitBaseBackend):
'GPG')
self.error(ERROR_GPG_FAILURE,"GPG key not imported.")
except yum.Errors.YumBaseError, ye:
- retmsg = "Error in Transaction Processing;" + self._format_msgs(ye.value)
- self.error(ERROR_TRANSACTION_ERROR,retmsg)
+ message = self._format_msgs(ye.value)
+ if message.find ("conflicts with file") != -1:
+ self.error(ERROR_FILE_CONFLICTS,message)
+ else:
+ self.error(ERROR_TRANSACTION_ERROR,message)
def remove(self, allowdep, package):
'''
Means we get the attached dialog, which, I'm sure you'll agree is much
better than "Transaction Error". I've merged the patch to git master.
Richard.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pk-error-fix.png
Type: image/png
Size: 23468 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/packagekit/attachments/20080415/1f3ace52/attachment-0004.png>
More information about the PackageKit
mailing list