]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
Skip kernels that cannot be removed by purge-kernels
authorDaniel Molkentin <dmolkentin@suse.com>
Tue, 11 Sep 2018 08:56:52 +0000 (10:56 +0200)
committerDaniel Molkentin <dmolkentin@suse.com>
Tue, 11 Sep 2018 08:56:52 +0000 (10:56 +0200)
...due to dependencies and continue removing other kernels

Patch-by: msuchanek@suse.com
Reference: bsc#1104090

suse/purge-kernels

index d7a53fa1b714a240f46cbb48861fae7c68a75352..7bc0f3d0e1f5407a430f63f8ea82189c617de041 100644 (file)
@@ -300,11 +300,15 @@ sub remove_packages {
                my %old_packages = map { $_ => 1 } @packages;
                my %new_packages;
                for (@out) {
-                       if (/ is needed by \(installed\) (kgraft-patch-.*|kernel-livepatch-.*|.*-kmp-.*)/ &&
+                       if (/ is needed by \(installed\) (kernel-syms-.*|kgraft-patch-.*|kernel-livepatch-.*|.*-kmp-.*)/ &&
                                        !$old_packages{$1}) {
                                push(@packages, $1) unless $new_packages{$1};
                                $new_packages{$1} = 1;
                                $retry = 1;
+                       } elsif (/([^ \t]*) = ([^ \t]*) is needed by \(installed\) /) {
+                               print STDERR "$0: $_\n";
+                               @packages = grep ! /$1-$2/, @packages;
+                               $retry = 1;
                        } else {
                                push(@problems, $_);
                        }