47 lines
1.2 KiB
Perl
47 lines
1.2 KiB
Perl
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
# Ignore all 'upgrade' invocations .
|
|
exit 0 if $ARGV[0] =~ /upgrade/;
|
|
|
|
my $imagedir = "/boot";
|
|
|
|
my $version = "@@KVNAME@@";
|
|
|
|
if (-d "/etc/kernel/postrm.d") {
|
|
print STDERR "Examining /etc/kernel/postrm.d.\n";
|
|
system (
|
|
"run-parts --verbose --exit-on-error --arg=$version --arg=$imagedir/vmlinuz-$version /etc/kernel/postrm.d"
|
|
) && die "Failed to process /etc/kernel/postrm.d";
|
|
}
|
|
|
|
unlink "$imagedir/initrd.img-$version";
|
|
unlink "$imagedir/initrd.img-$version.bak";
|
|
unlink "/var/lib/initramfs-tools/$version";
|
|
|
|
# Ignore all invocations except when called on to purge.
|
|
exit 0 unless $ARGV[0] =~ /purge/;
|
|
|
|
my @files_to_remove = qw{
|
|
modules.dep modules.isapnpmap modules.pcimap
|
|
modules.usbmap modules.parportmap
|
|
modules.generic_string modules.ieee1394map
|
|
modules.ieee1394map modules.pnpbiosmap
|
|
modules.alias modules.ccwmap modules.inputmap
|
|
modules.symbols modules.ofmap
|
|
modules.seriomap modules.*.bin
|
|
modules.softdep modules.devname
|
|
};
|
|
|
|
foreach my $extra_file (@files_to_remove) {
|
|
for (glob("/lib/modules/$version/$extra_file")) {
|
|
unlink;
|
|
}
|
|
}
|
|
|
|
system ("rmdir", "/lib/modules/$version") if -d "/lib/modules/$version";
|
|
|
|
exit 0
|