From dea08c6442abbcd9349dc4c6c0ff408847c3926d Mon Sep 17 00:00:00 2001 From: Chris Lumens Date: Thu, 31 Jul 2008 11:43:11 -0400 Subject: Remove all the RPM lock files before creating a new transaction (#456949). --- packages.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'packages.py') diff --git a/packages.py b/packages.py index af71a2f06..50424623d 100644 --- a/packages.py +++ b/packages.py @@ -23,6 +23,7 @@ # Jeremy Katz # +import glob import iutil import isys import os @@ -278,14 +279,14 @@ def rpmKernelVersionList(rootPath = "/"): versions = [] - ts = rpm.TransactionSet(rootPath) - # FIXME: and make sure that the rpmdb doesn't have stale locks :/ - for rpmfile in ["__db.000", "__db.001", "__db.002", "__db.003"]: + for rpmfile in glob.glob("%s/var/lib/rpm/__db.*" % rootPath): try: - os.unlink("%s/var/lib/rpm/%s" %(rootPath, rpmfile)) + os.unlink(rpmfile) except: - log.debug("failed to unlink /var/lib/rpm/%s" %(rpmfile,)) + log.debug("failed to unlink %s" % rpmfile) + + ts = rpm.TransactionSet(rootPath) mi = ts.dbMatch('provides', 'kernel') for h in mi: -- cgit