diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2006-10-04 13:17:16 +0200 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2006-10-04 13:17:16 +0200 |
| commit | e6d17f29049c81ea4064dd928b026ef68726354d (patch) | |
| tree | f8df52c5b9bfb1222a8eccc2dc5788fdab99a4e7 /DistUpgrade | |
| parent | 533db41cd76a89a2a893c00980e537d3af34c769 (diff) | |
| download | python-apt-e6d17f29049c81ea4064dd928b026ef68726354d.tar.gz | |
* DistUpgrade/DistUpgradeCache.py:
- catch systemerror exceptions in _tryMarkObsoleteForRemoval()
Diffstat (limited to 'DistUpgrade')
| -rw-r--r-- | DistUpgrade/DistUpgradeCache.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/DistUpgrade/DistUpgradeCache.py b/DistUpgrade/DistUpgradeCache.py index 01305d32..1a7911c0 100644 --- a/DistUpgrade/DistUpgradeCache.py +++ b/DistUpgrade/DistUpgradeCache.py @@ -307,8 +307,8 @@ class MyCache(apt.Cache): logging.debug("guessing '%s' as missing meta-pkg" % key) try: self[key].markInstall() - except SystemError: - logging.error("failed to mark '%s' for install" % key) + except SystemError, e: + logging.error("failed to mark '%s' for install (%s)" % (key,e)) view.error(_("Can't install '%s'" % key), _("It was impossible to install a " "required package. Please report " @@ -340,13 +340,18 @@ class MyCache(apt.Cache): # if it dosn't remove other packages depending on it # that are not obsolete as well self.create_snapshot() - self[pkgname].markDelete() - for pkg in self.getChanges(): - if pkg.name not in remove_candidates or \ - pkg.name in foreign_pkgs or \ - self._inRemovalBlacklist(pkg.name): - self.restore_snapshot() - return False + try: + self[pkgname].markDelete() + for pkg in self.getChanges(): + if pkg.name not in remove_candidates or \ + pkg.name in foreign_pkgs or \ + self._inRemovalBlacklist(pkg.name): + self.restore_snapshot() + return False + except SystemError,e: + loggging.warning("_tryMarkObsoleteForRemoval failed for '%s' (%s)" % (pkgname,e)) + self.restore_snapshot() + return False return True def _getObsoletesPkgs(self): |
