diff --git a/sau/gentoo.py b/sau/gentoo.py index bfe11af..91dff04 100644 --- a/sau/gentoo.py +++ b/sau/gentoo.py @@ -381,6 +381,15 @@ def pkg_upgrade(): log.debug(f"Removing old kernel file {f}") os.remove(os.path.join(root, f)) break + for root, dirs, files in os.walk('/usr/lib/modules'): + match = sorted([d for d in dirs if re.match(r'^\d+\.\d+\.\d+-.*', d)], + reverse=True, + key=lambda x: tuple(map(int, x.split('-')[0].split('.')[:3]))) + for d in match[keep_kernels:]: + path = os.path.join(root, d) + log.debug(f"Removing old modules directory {path}") + shutil.rmtree(path) + break cmd = [ GRUB_MKCONFIG, '-o', '/boot/grub/grub.cfg' ] ret, out, err = sau.helpers.exec_cmd(cmd)