diff -Nru PackageKit-0.9.5.orig/backends/smart/smartBackend.py PackageKit-0.9.5/backends/smart/smartBackend.py --- PackageKit-0.9.5.orig/backends/smart/smartBackend.py 2015-08-19 00:28:41.888881409 +0200 +++ PackageKit-0.9.5/backends/smart/smartBackend.py 2015-08-19 00:29:05.737801008 +0200 @@ -204,7 +204,10 @@ else: self.status(STATUS_INSTALL) self._packagesdict = trans.getChangeSet() - self.ctrl.commitTransaction(trans, confirm=False) + try: + self.ctrl.commitTransaction(trans, confirm=False) + except smart.Error, e: + self.error(ERROR_PACKAGE_FAILED_TO_INSTALL, e, exit=False) @needs_cache def install_files(self, transaction_flags, paths): @@ -230,7 +233,10 @@ else: self.status(STATUS_INSTALL) self._packagesdict = trans.getChangeSet() - self.ctrl.commitTransaction(trans, confirm=False) + try: + self.ctrl.commitTransaction(trans, confirm=False) + except smart.Error, e: + self.error(ERROR_PACKAGE_FAILED_TO_INSTALL, e, exit=False) @needs_cache def remove_packages(self, transaction_flags, packageids, allow_deps, autoremove): @@ -270,7 +276,10 @@ else: self.status(STATUS_REMOVE) self._packagesdict = trans.getChangeSet() - self.ctrl.commitTransaction(trans, confirm=False) + try: + self.ctrl.commitTransaction(trans, confirm=False) + except smart.Error, e: + self.error(ERROR_PACKAGE_FAILED_TO_REMOVE, e, exit=False) @needs_cache def update_packages(self, transaction_flags, packageids): @@ -299,7 +308,10 @@ else: self.status(STATUS_UPDATE) self._packagesdict = trans.getChangeSet() - self.ctrl.commitTransaction(trans, confirm=False) + try: + self.ctrl.commitTransaction(trans, confirm=False) + except smart.Error, e: + self.error(ERROR_PACKAGE_FAILED_TO_INSTALL, e, exit=False) @needs_cache def download_packages(self, directory, packageids): @@ -344,7 +356,10 @@ return self.status(STATUS_UPDATE) self._packagesdict = trans.getChangeSet() - self.ctrl.commitTransaction(trans, confirm=False) + try: + self.ctrl.commitTransaction(trans, confirm=False) + except smart.Error, e: + self.error(ERROR_PACKAGE_FAILED_TO_INSTALL, e, exit=False) @needs_cache def get_updates(self, filters):