[yum-commits] package-cleanup.py
skvidal at osuosl.org
skvidal at osuosl.org
Fri Mar 6 17:55:57 UTC 2009
package-cleanup.py | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
New commits:
commit 249469f0d82a73e5bcb579b877ee3fe90a56ff18
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Fri Mar 6 12:53:51 2009 -0500
when we clean up kernels make sure that:
1. we look at kernel-PAE,too
2. the running kernel coming back from os.uname()[2] matches what we expect (it changed in F10)
3. if we don't have any kernels installed, it's not an error, it's probably just Xen
diff --git a/package-cleanup.py b/package-cleanup.py
index 9529b68..c7974f7 100755
--- a/package-cleanup.py
+++ b/package-cleanup.py
@@ -284,7 +284,7 @@ def listOrphans(my):
def getKernels(my):
"""return a list of all installed kernels, sorted newest to oldest"""
kernlist = []
- for po in my.rpmdb.searchNevra(name='kernel'):
+ for po in my.rpmdb.searchNevra(name='kernel') + my.rpmdb.searchNevra(name='kernel-PAE'):
kernlist.append(po.pkgtup)
kernlist.sort(sortPackages)
kernlist.reverse()
@@ -294,7 +294,7 @@ def getKernels(my):
# are no longer installed or to kernel version that are in the removelist
def getOldKernelDevel(my,kernels,removelist):
devellist = []
- for po in my.rpmdb.searchNevra(name='kernel-devel'):
+ for po in my.rpmdb.searchNevra(name='kernel-devel') + my.rpmdb.searchNevra(name='kernel-PAE-devel'):
# For all kernel-devel packages see if there is a matching kernel
# in kernels but not in removelist
tup = po.pkgtup
@@ -346,10 +346,11 @@ def removeKernels(my, count, confirmed, keepdevel):
# Vanilla kernels dont have a release, only a version
if '-' in runningkernel:
(kver,krel) = runningkernel.split('-')
+ if krel.split('.')[-1] == os.uname()[-1]:
+ krel = ".".join(krel.split('.')[:-1])
else:
kver = runningkernel
krel = ""
-
remove = kernels[count:]
toremove = []
@@ -361,6 +362,10 @@ def removeKernels(my, count, confirmed, keepdevel):
else:
toremove.append(kernel)
+ if len(kernels) == 0:
+ print "No kernels to remove."
+ sys.exit(0)
+
if len(kernels) - len(toremove) < 1:
print "Error all kernel rpms are set to be removed"
sys.exit(100)
More information about the Yum-commits
mailing list