hi, anaconda developpers
I always found the following message in anaconda.log after
FC6 updgrade installation.
-------------
failed to unlink /var/lib/rpm/__db.000
-------------
and I checked anaconda source and it's no problem,
but It looks not good.
How about checking __db.xxx exists or not before unlink?
--- anaconda_org/yuminstall.py 2006-12-14 01:00:19.000000000 +0900
+++ anaconda/yuminstall.py 2007-01-06 12:26:28.000000000 +0900
@@ -780,10 +780,11 @@ class YumBackend(AnacondaBackend):
if anaconda.id.getUpgrade():
# FIXME: make sure that the rpmdb doesn't have stale locks :/
for rpmfile in ["__db.000", "__db.001", "__db.002", "__db.003"]:
- try:
- os.unlink("%s/var/lib/rpm/%s" %(anaconda.rootPath, rpmfile))
- except:
- log.error("failed to unlink /var/lib/rpm/%s" %(rpmfile,))
+ if os.access("%s/var/lib/rpm/%s" %(anaconda.rootPath, rpmfile), os.F_OK):
+ try:
+ os.unlink("%s/var/lib/rpm/%s" %(anaconda.rootPath, rpmfile))
+ except:
+ log.error("failed to unlink /var/lib/rpm/%s" %(rpmfile,))
iutil.writeRpmPlatform()
self.ayum = AnacondaYum(anaconda)
@@ -1278,11 +1279,12 @@ class YumBackend(AnacondaBackend):
type = "yesno")
if rc == 0:
for rpmfile in ["__db.000", "__db.001", "__db.002", "__db.003"]:
- try:
- os.unlink("%s/var/lib/rpm/%s" %(anaconda.rootPath, rpmfile))
- except:
- log.info("error %s removing file: /var/lib/rpm/%s" %(e,rpmfile))
- pass
+ if os.access("%s/var/lib/rpm/%s" %(anaconda.rootPath, rpmfile), os.F_OK):
+ try:
+ os.unlink("%s/var/lib/rpm/%s" %(anaconda.rootPath, rpmfile))
+ except:
+ log.info("error %s removing file: /var/lib/rpm/%s" %(e,rpmfile))
+ pass
sys.exit(0)
def doInstall(self, anaconda):