Index: debian.chrome/control-scripts/headers-postinst |
diff --git a/debian.chrome/control-scripts/headers-postinst b/debian.chrome/control-scripts/headers-postinst |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2fb2be858a41d4159a734727505374a06efb688e |
--- /dev/null |
+++ b/debian.chrome/control-scripts/headers-postinst |
@@ -0,0 +1,126 @@ |
+#!/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 : Sat Aug 5 13:20:22 2006 |
+# Last Machine Used: glaurung.internal.golden-gryphon.com |
+# Update Count : 45 |
+# Status : Unknown, Use with caution! |
+# HISTORY : |
+# Description : |
+# |
+# |
+# |
+# arch-tag: 1c716174-2f0a-476d-a626-a1322e62503a |
+# |
+ |
+ |
+$|=1; |
+ |
+# Predefined values: |
+my $version = "=V"; |
+my $kimage = "=K"; |
+my $package_name = "linux-image-$version"; |
+ |
+ |
+# Ignore all invocations uxcept when called on to configure. |
+exit 0 unless ($ARGV[0] && $ARGV[0] =~ /configure/); |
+ |
+#known variables |
+my $image_dest = "/"; |
+my $realimageloc = "/boot/"; |
+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; |
+ |
+chdir '/usr/src' or die "Could not chdir to /usr/src:$!"; |
+ |
+if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { |
+ if (open(CONF, "$CONF_LOC")) { |
+ while (<CONF>) { |
+ chomp; |
+ s/\#.*$//g; |
+ next if /^\s*$/; |
+ |
+ $header_postinst_hook = "$1" if /^\s*header_postinst_hook\s*=\s*(\S+)/ig; |
+ } |
+ close CONF; |
+ } |
+} |
+ |
+sub exec_script { |
+ my $type = shift; |
+ my $script = shift; |
+ print STDERR "Running $type hook script $script.\n"; |
+ system ("$script $version $realimageloc$kimage-$version") && |
+ print STDERR "User $type hook script [$script] "; |
+ if ($?) { |
+ if ($? == -1) { |
+ print STDERR "failed to execute: $!\n"; |
+ } |
+ elsif ($? & 127) { |
+ printf STDERR "died with signal %d, %s coredump\n", |
+ ($? & 127), ($? & 128) ? 'with' : 'without'; |
+ } |
+ else { |
+ printf STDERR "exited with value %d\n", $? >> 8; |
+ } |
+ exit $? >> 8; |
+ } |
+} |
+sub run_hook { |
+ my $type = shift; |
+ my $script = shift; |
+ if ($script =~ m,^/,) { |
+ # Full path provided for the hook script |
+ if (-x "$script") { |
+ &exec_script($type,$script); |
+ } |
+ else { |
+ die "The provided $type hook script [$script] could not be run.\n"; |
+ } |
+ } |
+ else { |
+ # Look for it in a safe path |
+ for my $path ('/bin', '/sbin', '/usr/bin', '/usr/sbin') { |
+ if (-x "$path/$script") { |
+ &exec_script($type, "$path/$script"); |
+ return 0; |
+ } |
+ } |
+ # No luck |
+ print STDERR "Could not find $type hook script [$script].\n"; |
+ die "Looked in: '/bin', '/sbin', '/usr/bin', '/usr/sbin'\n"; |
+ } |
+} |
+ |
+## Run user hook script here, if any |
+if (-x "$header_postinst_hook") { |
+ &run_hook("postinst", $header_postinst_hook); |
+} |
+ |
+if (-d "/etc/kernel/header_postinst.d") { |
+ print STDERR "Examining /etc/kernel/header_postinst.d.\n"; |
+ system ("run-parts --verbose --exit-on-error --arg=$version " . |
+ "--arg=$realimageloc$kimage-$version " . |
+ "/etc/kernel/header_postinst.d") && |
+ die "Failed to process /etc/kernel/header_postinst.d"; |
+} |
+ |
+if (-d "/etc/kernel/header_postinst.d/$version") { |
+ print STDERR "Examining /etc/kernel/header_postinst.d/$version.\n"; |
+ system ("run-parts --verbose --exit-on-error --arg=$version " . |
+ "--arg=$realimageloc$kimage-$version " . |
+ "/etc/kernel/header_postinst.d/$version") && |
+ die "Failed to process /etc/kernel/header_postinst.d/$version"; |
+} |
+ |
+exit 0; |
+ |
+__END__ |