From ff77b8f02a429541f08829536fc8e4da5f38b6e4 Mon Sep 17 00:00:00 2001 From: Jonathan Dieter Date: Mon, 26 Mar 2007 21:40:10 +0300 Subject: Do full (slow) MD5 check when checking to see if deltarpm can be applied against disk contents Signed-off-by: Jonathan Dieter --- ChangeLog | 4 +++- presto.py | 3 ++- shared/deltarpm.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9ad481e..9534a55 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,12 @@ -* Mon Mar 26 2007 Jonathan Dieter - 0.2.8 +* Mon Mar 26 2007 Jonathan Dieter - 0.2.9 - Fix another mirrorlist bug - 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 - Properly exit when unable to rebuild drpm + - Do full (slow) MD5 check when checking to see if we can + build RPM from disk * Sat Mar 24 2007 Jonathan Dieter - 0.2.3 - Fixed bug that breaks yum install diff --git a/presto.py b/presto.py index d66d960..60e391c 100644 --- a/presto.py +++ b/presto.py @@ -141,6 +141,7 @@ def postdownload_hook(conduit): try: drpm.apply(pkg.reallocalpath, pkg.localpath) except: + conduit.info(2, "Error rebuilding rpm from %s!" % pkg.localpath) failure = True this_failure = True if not this_failure: @@ -171,7 +172,7 @@ def postdownload_hook(conduit): os.unlink(drpm_path) if failure: - raise PluginYumExit("Error rebuilding at least one deltarpm. Please run report this error to\nhttps://hosted.fedoraproject.org/projects/presto/newticket. To bypass this problem, run yum \nwith the --disablepresto option") + raise PluginYumExit("Error rebuilding at least one deltarpm. Please report this error to\nhttp://hosted.fedoraproject.org/projects/presto/newticket. To bypass this problem, run yum \nwith the --disablepresto option") def posttrans_hook(conduit): global rpm_size diff --git a/shared/deltarpm.py b/shared/deltarpm.py index 710a8bb..a2aea2e 100644 --- a/shared/deltarpm.py +++ b/shared/deltarpm.py @@ -80,7 +80,7 @@ class DeltaRpmWrapper: constructs file names and paths based on given RpmDescription and instance settings for directories""" self.conduit.info(7, '%s.verify(%s)' % (self.__class__, sequence)) p = Process(self.conduit) - p.run(APPLY, '-s', sequence) + p.run(APPLY, '-c', '-s', sequence) if p.returnCode(): # in case of error, raise exception raise Exception("Could not verify sequence of deltarpm: %d" % (p.returnCode())) -- cgit