[yum-cvs] yum/yum __init__.py,1.217,1.218
Jeremy Katz
katzj at linux.duke.edu
Tue Jul 25 14:40:39 UTC 2006
Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv13158/yum
Modified Files:
__init__.py
Log Message:
only clean the installed headers/packages as opposed to all (rh#189483
and others)
Index: __init__.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/__init__.py,v
retrieving revision 1.217
retrieving revision 1.218
diff -u -r1.217 -r1.218
--- __init__.py 12 Jul 2006 18:30:49 -0000 1.217
+++ __init__.py 25 Jul 2006 14:40:36 -0000 1.218
@@ -437,8 +437,7 @@
raise Errors.YumBaseError, errors
if not self.conf.keepcache:
- self.cleanHeaders()
- self.cleanPackages()
+ self.cleanUsedHeadersPackages()
self.plugins.run('posttrans')
@@ -820,6 +819,40 @@
msg = ''
return result, msg
+
+ def cleanUsedHeadersPackages(self):
+ filelist = []
+ for txmbr in self.tsInfo:
+ if txmbr.po.state not in TS_INSTALL_STATES:
+ continue
+ if txmbr.po.repoid == "installed":
+ continue
+ if not self.repos.repos.has_key(txmbr.po.repoid):
+ continue
+
+ # make sure it's not a local file
+ repo = self.repos.repos[txmbr.po.repoid]
+ local = False
+ for u in repo.baseurl:
+ if u.startswith("file:"):
+ local = True
+ break
+
+ if local:
+ filelist.extend([txmbr.po.localHdr()])
+ else:
+ filelist.extend([txmbr.po.localPkg(), txmbr.po.localHdr()])
+
+ # now remove them
+ for fn in filelist:
+ try:
+ os.unlink(fn)
+ except OSError, e:
+ self.logger.warning('Cannot remove %s', fn)
+ continue
+ else:
+ self.verbose_logger.log(logginglevels.DEBUG_4,
+ '%s removed', fn)
def cleanHeaders(self):
filelist = []
More information about the Yum-cvs-commits
mailing list