r4614 - dists/trunk/utils/kernel-package/kernel

Sven Luther luther at costa.debian.org
Sun Oct 23 14:32:01 UTC 2005


Author: luther
Date: 2005-10-23 14:32:00 +0000 (Sun, 23 Oct 2005)
New Revision: 4614

Modified:
   dists/trunk/utils/kernel-package/kernel/image.preinst
Log:
Adapted the same to the preinst also.


Modified: dists/trunk/utils/kernel-package/kernel/image.preinst
===================================================================
--- dists/trunk/utils/kernel-package/kernel/image.preinst	2005-10-23 14:28:55 UTC (rev 4613)
+++ dists/trunk/utils/kernel-package/kernel/image.preinst	2005-10-23 14:32:00 UTC (rev 4614)
@@ -182,15 +182,37 @@
 
 if ($initrd) {
   chomp (my $hostversion = `uname -r`);
-  my @ramdisklist =
-    grep {
-      -x and
-      system ("$_ --supported-host-version=$hostversion --supported-target-version=$version 1>/dev/null 2>&1") == 0
+  my @ramdisklist = split (/ /, $ramdisk);
+  if (@ramdisklist == 1) {
+    if (!( -x $ramdisk)) {
+      die ("Failed to create initrd, $ramdisk does not exist or is not executable\n");
     }
-    (split (/ /, $ramdisk));
+    if (system ("$ramdisk --supported-host-version=$hostversion --supported-target-version=$version 1>/dev/null 2>&1") != 0) {
+      if (($ramdisk eq "/usr/sbin/mkinitrd") &&
+        (system ("dpkg", "--compare-versions", "$version", "lt", "2.6.13") == 1)) {
+        die ("Failed, initrd-tools cannot create ramdisks for kernel version greater than 2.6.12\n");
+      }
+      if (($ramdisk eq "/usr/sbin/mkinitrd") &&
+        (system ("dpkg", "--compare-versions", "$version", "lt", "2.6.12") == 0)) {
+        die ("Failed, initramfs-tools cannot create ramdisks for kernel version prior to 2.6.12\n");
+      }
+      if (($ramdisk eq "/usr/sbin/mkinitrd.yaird") &&
+        (system ("dpkg", "--compare-versions", "$version", "lt", "2.6.8") == 0) &&
+        (system ("dpkg", "--compare-versions", "$hostversion", "lt", "2.6.8") == 0)) {
+        die ("Failed, yaird cannot create ramdisks for kernel version lesser than 2.6.8 or running on kernels older than 2.6.8\n");
+      }
+    }
+  } else {
+    my @ramdisklist =
+      grep {
+        -x and
+        system ("$_ --supported-host-version=$hostversion --supported-target-version=$version 1>/dev/null 2>&1") == 0
+      }
+      (split (/ /, $ramdisk));
 
-  my $ramdiskorig = $ramdisk;
-  $ramdisk = shift @ramdisklist;
+    my $ramdiskorig = $ramdisk;
+    $ramdisk = shift @ramdisklist;
+  }
 
   if (! -e $ramdisk) {
     print STDERR <<EOERROR;




More information about the Kernel-svn-changes mailing list