pve-kernel.postrm.in 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/perl -w
  2. use strict;
  3. # Ignore all 'upgrade' invocations .
  4. exit 0 if $ARGV[0] =~ /upgrade/;
  5. my $imagedir = "/boot";
  6. my $version = "@@KVNAME@@";
  7. if (-d "/etc/kernel/postrm.d") {
  8. print STDERR "Examining /etc/kernel/postrm.d.\n";
  9. system ("run-parts --verbose --exit-on-error --arg=$version " .
  10. "--arg=$imagedir/vmlinuz-$version " .
  11. "/etc/kernel/postrm.d") &&
  12. die "Failed to process /etc/kernel/postrm.d";
  13. }
  14. unlink "$imagedir/initrd.img-$version";
  15. unlink "$imagedir/initrd.img-$version.bak";
  16. unlink "/var/lib/initramfs-tools/$version";
  17. # Ignore all invocations except when called on to purge.
  18. exit 0 unless $ARGV[0] =~ /purge/;
  19. my @files_to_remove = qw{
  20. modules.dep modules.isapnpmap modules.pcimap
  21. modules.usbmap modules.parportmap
  22. modules.generic_string modules.ieee1394map
  23. modules.ieee1394map modules.pnpbiosmap
  24. modules.alias modules.ccwmap modules.inputmap
  25. modules.symbols modules.ofmap
  26. modules.seriomap modules.*.bin
  27. modules.softdep modules.devname
  28. };
  29. foreach my $extra_file (@files_to_remove) {
  30. for (glob("/lib/modules/$version/$extra_file")) {
  31. unlink;
  32. }
  33. }
  34. system ("rmdir", "/lib/modules/$version") if -d "/lib/modules/$version";
  35. exit 0