From bed4147fd41e2d458a5be66d4937f4b9ddd1523e Mon Sep 17 00:00:00 2001 From: Jonathan Dieter Date: Mon, 26 Mar 2007 17:53:44 +0300 Subject: Fix bug where we sometimes die if delta repository doesn't exist Signed-off-by: Jonathan Dieter --- ChangeLog | 6 +++--- shared/prestoTransaction.py | 12 +++++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6366884..c34b504 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,9 @@ -* Mon Mar 27 2007 Jonathan Dieter - 0.2.5 +* Mon Mar 26 2007 Jonathan Dieter - 0.2.6 - Fix another mirrorlist bug - -* Mon Mar 26 2007 Jonathan Dieter - 0.2.4 - Minor optimization - Added logging to /var/log/presto.log + - Fix another mirrorlist bug + - Fix bug where we sometimes die if delta repository doesn't exist * Sat Mar 24 2007 Jonathan Dieter - 0.2.3 - Fixed bug that breaks yum install diff --git a/shared/prestoTransaction.py b/shared/prestoTransaction.py index 15ad928..8a46211 100644 --- a/shared/prestoTransaction.py +++ b/shared/prestoTransaction.py @@ -24,8 +24,14 @@ def find_available_drpms(conduit, newpkg): rpmdb = conduit.getRpmDB() - # Saves us some typing - p_repo = newpkg.po.repo.p_repo + # Set p_repo to be packages delta repository or set to False if + # there is no delta repository + try: + p_repo = newpkg.po.repo.p_repo + drpm_enabled = p_repo.enabled + except: + drpm_enabled = False + chosen_drpm = None # First part of key when matching drpms @@ -44,7 +50,7 @@ def find_available_drpms(conduit, newpkg): else: is_local = False - if is_installed and p_repo.enabled and not is_local: + if is_installed and drpm_enabled and not is_local: for oldpkg in installed: # Generate second part of key for matching drpms, then full key key2 = "%s*%s*%i*%s*%s" % (oldpkg.name, oldpkg.arch, int(oldpkg.epoch), oldpkg.version, oldpkg.release) -- cgit