[yum-cvs] yum/rpmUtils updates.py,1.17,1.17.2.1

Seth Vidal skvidal at login.linux.duke.edu
Sat Mar 26 17:43:58 UTC 2005


Update of /home/groups/yum/cvs/yum/rpmUtils
In directory login:/tmp/cvs-serv4289

Modified Files:
      Tag: yum-2_2_X
	updates.py 
Log Message:

check in adam greenfield's patch for yum bug 410


Index: updates.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/rpmUtils/updates.py,v
retrieving revision 1.17
retrieving revision 1.17.2.1
diff -u -r1.17 -r1.17.2.1
--- updates.py	28 Oct 2004 22:13:29 -0000	1.17
+++ updates.py	26 Mar 2005 17:43:56 -0000	1.17.2.1
@@ -140,12 +140,21 @@
         # if you find it look for the packages they obsolete
         # 
         for pkgtup in self.rawobsoletes.keys():
+            (name, arch, epoch, ver, rel) = pkgtup
             for (obs_n, flag, (obs_e, obs_v, obs_r)) in self.rawobsoletes[(pkgtup)]:
                 if flag in [None, 0]: # unversioned obsolete
                     if self.installdict.has_key((obs_n, None)):
                         for (rpm_a, rpm_e, rpm_v, rpm_r) in self.installdict[(obs_n, None)]:
                             # make sure the obsoleting pkg is not already installed
-                            if pkgtup not in self.installed:
+                            willInstall = 1
+                            if self.installdict.has_key((name, None)):
+                                for (ins_a, ins_e, ins_v, ins_r) in self.installdict[(name, None)]:
+                                    pkgver = (epoch, ver, rel)
+                                    installedver = (ins_e, ins_v, ins_r)
+                                    if self.returnNewest((pkgver, installedver)) == installedver:
+                                        willInstall = 0
+                                        break
+                            if willInstall:
                                 if not obsdict.has_key(pkgtup):
                                     obsdict[pkgtup] = []
                                 obsdict[pkgtup].append((obs_n, rpm_a, rpm_e, rpm_v, rpm_r))
@@ -157,7 +166,15 @@
                                                         obs_v, obs_r)), (obs_n,\
                                                         rpm_a, rpm_e, rpm_v, rpm_r)):
                                 # make sure the obsoleting pkg is not already installed
-                                if pkgtup not in self.installed:
+                                willInstall = 1
+                                if self.installdict.has_key((name, None)):
+                                    for (ins_a, ins_e, ins_v, ins_r) in self.installdict[(name, None)]:
+                                        pkgver = (epoch, ver, rel)
+                                        installedver = (ins_e, ins_v, ins_r)
+                                        if self.returnNewest((pkgver, installedver)) == installedver:
+                                            willInstall = 0
+                                            break
+                                if willInstall:
                                     if not obsdict.has_key(pkgtup):
                                         obsdict[pkgtup] = []
                                     obsdict[pkgtup].append((obs_n, rpm_a, rpm_e, rpm_v, rpm_r))




More information about the Yum-cvs-commits mailing list