File: preinst

package info (click to toggle)
kernel-package 12.036%2Bnmu3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,968 kB
  • sloc: perl: 2,887; sh: 840; makefile: 219
file content (131 lines) | stat: -rwxr-xr-x 4,083 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/usr/bin/perl
#                              -*- Mode: Cperl -*- 
# debian.postinst ---
# Author           : Manoj Srivastava ( srivasta@pilgrim.umass.edu )
# Created On       : Sat Apr 27 05:42:43 1996
# Created On Node  : melkor.pilgrim.umass.edu
# Last Modified By : Manoj Srivastava
# Last Modified On : Mon Apr 13 14:22:13 2009
# Last Machine Used: anzu.internal.golden-gryphon.com
# Update Count     : 44
# Status           : Unknown, Use with caution!
# HISTORY          :
# Description      :
#
#
#
#  arch-tag: bf48605d-f6e9-4df6-9be3-31017c6406df
#


$|=1;

# Predefined values:
my $version            = "=V";
my $move_image         = '';     # target machine defined
my $kimage             = "=K";   # Should be empty, mostly
my $image_dir          = "=D";        # where the image is located
my $clobber_modules    = '';          # target machine defined
my $postinst_hook      = '';          #Normally we do not
my $postrm_hook        = '';          #Normally we do not
my $preinst_hook       = '';          #Normally we do not
my $prerm_hook         = '';          #Normally we do not
my $ignore_depmod_err  = '';          # normally we do not
my $relink_src_link    = 'YES'; # There is no harm in checking the link
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 $arch               = "=A"; #  should be same as dpkg --print-installation-architecture
my $kernel_arch        = "=B";
my $package_name       = "=ST-src-$version";
my $kernel_pkg_version = "=KPV";

die "Pre inst Internal error. Aborting." unless $version;

exit 0 if $ARGV[0] =~ /abort-upgrade/;
exit 1 unless $ARGV[0] =~ /(install|upgrade)/;

#known variables
my $image_dest      = "/";
my $realimageloc    = "/$image_dir/";
my $have_conffile   = "";
my $silent_modules  = '';
my $modules_base    = '/lib/modules';
my $CONF_LOC        = '/etc/kernel-img.conf';
# remove multiple leading slashes; make sure there is at least one.
$realimageloc  =~ s|^/*|/|o;
$realimageloc  =~ s|/+|/|o;

my $architecture;
chomp($architecture = `dpkg --print-installation-architecture`);
$architecture = "ppc" if $architecture eq "powerpc";
$architecture = "parisc" if $architecture eq "hppa";
$architecture = "mips" if $architecture eq "mipsel";
$architecture = "x86_64" if $architecture eq "amd64";

my $stop_and_read     = 0;
my $src_postinst_hook = '';
my $src_preinst_hook = '';
my $src_prerm_hook = '';
my $src_postrm_hook = '';


if (-r "$CONF_LOC" && -f "$CONF_LOC"  ) {
  if (open(CONF, "$CONF_LOC")) {
    while (<CONF>) {
      chomp;
      s/\#.*$//g;
      next if /^\s*$/;

      $src_preinst_hook  = "$1"  if m/^\s*src_preinst_hook\s*=\s*(\S+)/i;
      $src_postinst_hook = "$1"  if m/^\s*src_postinst_hook\s*=\s*(\S+)/i;
      $src_prerm_hook    = "$1"  if m/^\s*src_prerm_hook\s*=\s*(\S+)/i;
      $src_postinst_hook = "$1"  if m/^\s*src_postinst_hook\s*=\s*(\S+)/i;
    }
    close CONF;
    $have_conffile = "Yes";
  }
}

# Set up the env variable containing our arguments
my $out;
for (@ARGV) {
  s,','\\'',g;
  $out.=" '$_'";
}
$ENV{'DEB_MAINT_PARAMS'}="$out";
$ENV{'KERNEL_PACKAGE_VERSION'}="$kernel_pkg_version";

## Run user hook script here, if any
if (-d "/etc/kernel/src_preinst.d") {
  print STDERR "Examining /etc/kernel/src_preinst.d.\n";
  system ("run-parts --verbose --exit-on-error --arg=$version " .
          "--arg=$realimageloc$kimage-$version " .
          "/etc/kernel/src_preinst.d") &&
            die "Failed to process /etc/kernel/src_preinst.d";
}

if (-d "/etc/kernel/src_preinst.d/$version") {
  print STDERR "Examining /etc/kernel/src_preinst.d/$version.\n";
  system ("run-parts --verbose --exit-on-error --arg=$version " .
          "--arg=$realimageloc$kimage-$version " .
          "/etc/kernel/src_preinst.d/$version") &&
            die "Failed to process /etc/kernel/src_preinst.d/$version";
}

if (-x "$src_preinst_hook") {
    system ("$src_preinst_hook", $package, $version) &&
      warn "User hook script $src_preinst_hook failed";
}


exit 0;

__END__