summaryrefslogtreecommitdiffstats
path: root/presto.py
diff options
context:
space:
mode:
Diffstat (limited to 'presto.py')
-rw-r--r--presto.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/presto.py b/presto.py
index 454d372..77d4dc2 100644
--- a/presto.py
+++ b/presto.py
@@ -67,6 +67,7 @@ def postresolve_hook(conduit):
# the drpm, not the rpm.
if chosen_drpm != None:
newpkg.po.hasdrpm = True
+ newpkg.po.simple['basepath'] = chosen_drpm['baseurl']
newpkg.po.simple['realpackagesize'] = newpkg.po.simple['packagesize']
newpkg.po.simple['packagesize'] = chosen_drpm['size']
newpkg.po.simple['realrelativepath'] = newpkg.po.simple['relativepath']
@@ -96,8 +97,9 @@ def postresolve_hook(conduit):
def postdownload_hook(conduit):
# Cycle through packages to see if we've downloaded a deltarpm
+ conduit.info(2, "Rebuilding full packages from deltas")
for pkg in conduit.getDownloadPackages():
- if pkg.hasdrpm:
+ if pkg.hasdrpm and pkg.verifyLocalPkg():
# Apply deltarpm and save where rpm would have been saved
drpm = deltarpm.DeltaRpmWrapper(conduit)
drpm.apply(pkg.reallocalpath, pkg.localpath)
@@ -107,6 +109,7 @@ def postdownload_hook(conduit):
pkg.to.pkgtup = pkg.to.realpkgtup
pkg.localpath = pkg.reallocalpath
pkg.simple['packagesize'] = pkg.simple['realpackagesize']
+ del pkg.simple['basepath']
for (csum_type, csum, csumid) in pkg._checksums:
if csumid:
pkg._checksums.remove((csum_type, csum, csumid))