diff options
Diffstat (limited to 'templates/temp.image.plain/prerm')
-rwxr-xr-x | templates/temp.image.plain/prerm | 107 |
1 files changed, 38 insertions, 69 deletions
diff --git a/templates/temp.image.plain/prerm b/templates/temp.image.plain/prerm index d419ca1..5db52c9 100755 --- a/templates/temp.image.plain/prerm +++ b/templates/temp.image.plain/prerm @@ -1,20 +1,4 @@ #! /usr/bin/perl -# -*- Mode: Perl -*- -# image.prerm --- -# Author : root ( root@melkor.pilgrim.umass.edu ) -# Created On : Fri May 17 03:28:59 1996 -# Created On Node : melkor.pilgrim.umass.edu -# Last Modified By : Manoj Srivastava -# Last Modified On : Sat Aug 5 13:14:17 2006 -# Last Machine Used: glaurung.internal.golden-gryphon.com -# Update Count : 85 -# Status : Unknown, Use with caution! -# HISTORY : -# Description : -# -# -# $Id: image.prerm,v 1.22 2003/10/07 16:24:20 srivasta Exp $ -# # #use strict; use Debconf::Client::ConfModule qw(:all); @@ -26,7 +10,6 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlinks = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined @@ -39,8 +22,7 @@ my $minimal_swap = ''; # Do not swap symlinks my $ignore_depmod_err = ''; # normally we do not my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # There is no harm in checking the link -my $official_image = "=OF"; # only true for official images -my $arch = "=A"; # should be same as dpkg --print-installation-architecture +my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $package_name = "=ST-image-$version"; @@ -62,10 +44,7 @@ my $temp_file_name = "/var/log/$loader" . "_log.$$"; #known variables my $image_dest = "/"; my $realimageloc = "/$image_dir/"; -my $have_conffile = ""; my $CONF_LOC = '/etc/kernel-img.conf'; -my $relative_links = ''; -my $silent_loader = ''; # remove multiple leading slashes; make sure there is at least one. $realimageloc =~ s|^/*|/|o; @@ -102,42 +81,35 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { s/\#.*$//g; next if /^\s*$/; - $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; - $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; - $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; - $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/ig; - $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; - $do_bootloader = '' if /do_bootloader\s*=\s*(no|false|0)\s*$/ig; - $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/ig; - $silent_loader = '' if /silent_loader\s*=\s*(no|false|0)\s*$/ig; - $warn_reboot = '' if /warn_reboot\s*=\s*(no|false|0)\s*$/ig; - $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/ig; - $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/ig; - $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/ig; - $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/ig; - - - $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; - $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; - $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/ig; - $relative_links = "Yes" if /relative_links\s*=\s*(yes|true|1)\s*$/ig; - $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/ig; - $silent_loader = 'Yes' if /silent_loader\s*=\s*(yes|true|1)\s*$/ig; - $warn_reboot = 'Yes' if /warn_reboot\s*=\s*(yes|true|1)\s*$/ig; - $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/ig; - $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/ig; - $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/ig; - $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/ig; - - $image_dest = "$1" if /image_dest\s*=\s*(\S+)/ig; - $prerm_hook = "$1" if /prerm_hook\s*=\s*(\S+)/ig; + $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/i; + $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/i; + $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/i; + $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/i; + $do_bootloader = '' if /do_bootloader\s*=\s*(no|false|0)\s*$/i; + $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/i; + $warn_reboot = '' if /warn_reboot\s*=\s*(no|false|0)\s*$/i; + $minimal_swap = '' if /minimal_swap\s*=\s*(no|false|0)\s*$/i; + $ignore_depmod_err = '' if /ignore_depmod_err\s*=\s*(no|false|0)\s*$/i; + $relink_build_link = '' if /relink_build_link\s*=\s*(no|false|0)\s*$/i; + $force_build_link = '' if /force_build_link\s*=\s*(no|false|0)\s*$/i; + + + $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/i; + $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/i; + $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/i; + $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/i; + $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/i; + $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/i; + $warn_reboot = 'Yes' if /warn_reboot\s*=\s*(yes|true|1)\s*$/i; + $minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/i; + $ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/i; + $relink_build_link = 'Yes' if /relink_build_link\s*=\s*(yes|true|1)\s*$/i; + $force_build_link = 'Yes' if /force_build_link\s*=\s*(yes|true|1)\s*$/i; + + $image_dest = "$1" if /image_dest\s*=\s*(\S+)/i; + $prerm_hook = "$1" if /prerm_hook\s*=\s*(\S+)/i; } close CONF; - $have_conffile = "Yes"; } } @@ -184,7 +156,7 @@ if ($running eq $version) { chdir("/") or die "could not chdir to /:$!\n"; if (-f "/etc/$loader.conf") { #I know, could be a link, but .. - open (LILO, "/etc/$loader.conf") || &success(); # this is not critical + open (LILO, "/etc/$loader.conf"); # this is not critical while (<LILO>) { chop; s/\#.*//; # nix the comments @@ -198,11 +170,11 @@ if (-f "/etc/$loader.conf") { #I know, could be a link, but .. $WouldInvalidate |= $image =~ /$kimage-$version/; } else { - &success(); # invalid $loader.conf file + last; # invalid $loader.conf file } } else { - &success(); # invalid $loader.conf file + last; # invalid $loader.conf file } } close (LILO); @@ -237,7 +209,6 @@ if (-f "/etc/$loader.conf") { #I know, could be a link, but .. } else { print STFERR "Ok, proceeding with removing running kernel image.\n"; - &success(); } } } @@ -293,6 +264,13 @@ sub run_hook { } +my $options; +for (@ARGV) { + s,','\\'',g; + $options .= " '$_'"; +} +$ENV{'DEB_MAINT_PARAMS'}="$options"; + ## Run user hook script here, if any if (-x "$prerm_hook") { &run_hook("prerm", $prerm_hook); @@ -311,14 +289,5 @@ if (-d "/etc/kernel/prerm.d/$version") { die "Failed to process /etc/kernel/prerm.d/$version"; } -sub success () { - -f "/lib/modules/$version/modules.dep" && - unlink "/lib/modules/$version/modules.dep"; - exit 0; -} - - - -&success(); exit 0; __END__ |