All pastes #334295 Raw Edit

Diff

public text v1 · immutable
#334295 ·published 2007-01-31 14:05 UTC
rendered paste body
Index: providers.py===================================================================--- providers.py	(revision 753)+++ providers.py	(working copy)@@ -70,7 +70,7 @@          for file_set in tmp_pn:             for f in file_set:-                pv,pr = dataCache.pkg_pvpr[f]+                pe,pv,pr = dataCache.pkg_pepvpr[f]                 if preferred_v == pv and (preferred_r == pr or preferred_r == None):                     preferred_file = f                     preferred_ver = (pv, pr)@@ -97,16 +97,16 @@     latest_p = 0     latest_f = None     for file_name in files:-        pv,pr = dataCache.pkg_pvpr[file_name]+        pe,pv,pr = dataCache.pkg_pepvpr[file_name]         dp = dataCache.pkg_dp[file_name] -        if (latest is None) or ((latest_p == dp) and (utils.vercmp(latest, (pv, pr)) < 0)) or (dp > latest_p):-            latest = (pv, pr)+        if (latest is None) or ((latest_p == dp) and (utils.vercmp(latest, (pe, pv, pr)) < 0)) or (dp > latest_p):+            latest = (pe, pv, pr)             latest_f = file_name             latest_p = dp     if preferred_file is None:         preferred_file = latest_f-        preferred_ver = latest+        preferred_ver = latest[1:]      return (latest,latest_f,preferred_ver, preferred_file) @@ -162,7 +162,7 @@     # if so, bump it to the head of the queue     for p in providers:         pn = dataCache.pkg_fn[p]-        pv, pr = dataCache.pkg_pvpr[p]+        pe, pv, pr = dataCache.pkg_pepvpr[p]          stamp = '%s.do_populate_staging' % dataCache.stamp[p]         if os.path.exists(stamp):Index: utils.py===================================================================--- utils.py	(revision 753)+++ utils.py	(working copy)@@ -62,11 +62,13 @@             return -1  def vercmp(ta, tb):-    (va, ra) = ta-    (vb, rb) = tb+    (ea, va, ra) = ta+    (eb, vb, rb) = tb -    r = vercmp_part(va, vb)+    r = ea-eb     if (r == 0):+        r = vercmp_part(va, vb)+    if (r == 0):         r = vercmp_part(ra, rb)     return r Index: cache.py===================================================================--- cache.py	(revision 753)+++ cache.py	(working copy)@@ -251,6 +251,7 @@         """          pn       = self.getVar('PN', file_name, True)+        pe       = int(self.getVar('PE', file_name, True) or "0")         pv       = self.getVar('PV', file_name, True)         pr       = self.getVar('PR', file_name, True)         dp       = int(self.getVar('DEFAULT_PREFERENCE', file_name, True) or "0")@@ -272,7 +273,7 @@          # build FileName to PackageName lookup table         cacheData.pkg_fn[file_name] = pn-        cacheData.pkg_pvpr[file_name] = (pv,pr)+        cacheData.pkg_pepvpr[file_name] = (pe,pv,pr)         cacheData.pkg_dp[file_name] = dp          # Build forward and reverse provider hashes@@ -407,7 +408,7 @@         self.possible_world = []         self.pkg_pn = {}         self.pkg_fn = {}-        self.pkg_pvpr = {}+        self.pkg_pepvpr = {}         self.pkg_dp = {}         self.pn_provides = {}         self.all_depends = Set()