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