From d8f096ebe31ca126e9c44e2bdf076135ba5c9619 Mon Sep 17 00:00:00 2001 From: Fredrik Eriksson Date: Tue, 26 Aug 2025 07:37:37 +0200 Subject: [PATCH] remove old kernel modules as well as kernels --- sau/gentoo.py | 9 +++++++++ 1 file changed, 9 insertions(+) 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)