r4494 - in dists/trunk/utils/kernel-package: debian kernel
Sven Luther
luther at costa.debian.org
Sun Oct 16 22:28:48 UTC 2005
Author: luther
Date: 2005-10-16 22:28:47 +0000 (Sun, 16 Oct 2005)
New Revision: 4494
Modified:
dists/trunk/utils/kernel-package/debian/changelog
dists/trunk/utils/kernel-package/kernel/image.postinst
dists/trunk/utils/kernel-package/kernel/image.postrm
dists/trunk/utils/kernel-package/kernel/image.preinst
dists/trunk/utils/kernel-package/kernel/image.prerm
Log:
Added first (not working correctly) attempt to implement the new ramdisk policy.
Modified: dists/trunk/utils/kernel-package/debian/changelog
===================================================================
--- dists/trunk/utils/kernel-package/debian/changelog 2005-10-16 22:26:43 UTC (rev 4493)
+++ dists/trunk/utils/kernel-package/debian/changelog 2005-10-16 22:28:47 UTC (rev 4494)
@@ -1,3 +1,11 @@
+kernel-package (9.008.1) UNRELEASED; urgency=low
+
+ * NMU with maitnainers permission.
+ * Implement the new ramdisk generation tool finding plan. Thanks go to
+ Mattia Dongili for helping me out with the needed perl code.
+
+ -- Sven Luther <luther at debian.org> Sun, 16 Oct 2005 08:59:47 +0200
+
kernel-package (9.008) unstable; urgency=low
* Bug fix: "xen.postinst contains illegal sed command", thanks to
Modified: dists/trunk/utils/kernel-package/kernel/image.postinst
===================================================================
--- dists/trunk/utils/kernel-package/kernel/image.postinst 2005-10-16 22:26:43 UTC (rev 4493)
+++ dists/trunk/utils/kernel-package/kernel/image.postinst 2005-10-16 22:28:47 UTC (rev 4494)
@@ -54,7 +54,10 @@
my $arch = "=A"; # should be same as dpkg --print-installation-architecture
my $kernel_arch = "=B";
my $ramdisk = '/usr/sbin/mkinitrd'; # Tool to create initial ram fs.
+chomp (my $unamedashr = `uname -r`);
+$ramdisk = '/usr/sbin/mkinitrd.yaird' if (system ("dpkg --compare-versions $unamedashr ge 2.6.13 1>/dev/null 2>&1") == 0);
+
my $package_name = "=ST-image-$version";
my $Loader = "NoLOADER"; #
@@ -972,6 +975,16 @@
# The initrd symlink should probably be in the same dir that the
# symlinks are in
if ($initrd) {
+ my @ramdisklist =
+ grep {
+ -x and
+ system ("$_ --supported-host-version=$unamedashr 1>/dev/null 2>&1") == 0
+ }
+ (split (/ /, $ramdisk));
+
+ defined ($ramdisk = shift @ramdisklist)
+ or die ("Failed to find suitable ramdisk generation tool for kernel version $version in $ramdisk\n");
+
my $initrd_path = $realimageloc . "initrd.img-$version";
my $ret = system("$ramdisk " .
($mkimage ? "-m '$mkimage' " : "") .
Modified: dists/trunk/utils/kernel-package/kernel/image.postrm
===================================================================
--- dists/trunk/utils/kernel-package/kernel/image.postrm 2005-10-16 22:26:43 UTC (rev 4493)
+++ dists/trunk/utils/kernel-package/kernel/image.postrm 2005-10-16 22:28:47 UTC (rev 4494)
@@ -52,6 +52,8 @@
my $arch = "=A"; # should be same as dpkg --print-installation-architecture
my $kernel_arch = "=B";
my $ramdisk = '/usr/sbin/mkinitrd'; # Tool to create initial ram fs.
+chomp (my $unamedashr = `uname -r`);
+$ramdisk = '/usr/sbin/mkinitrd.yaird' if (system ("dpkg --compare-versions $unamedashr ge 2.6.13 1>/dev/null 2>&1") == 0);
my $Loader = "NoLOADER"; #
$Loader = "LILO" if $loader =~ /^lilo/io;
Modified: dists/trunk/utils/kernel-package/kernel/image.preinst
===================================================================
--- dists/trunk/utils/kernel-package/kernel/image.preinst 2005-10-16 22:26:43 UTC (rev 4493)
+++ dists/trunk/utils/kernel-package/kernel/image.preinst 2005-10-16 22:28:47 UTC (rev 4494)
@@ -52,8 +52,11 @@
my $arch = "=A"; # should be same as dpkg --print-installation-architecture
my $kernel_arch = "=B";
my $ramdisk = '/usr/sbin/mkinitrd'; # Tool to create initial ram fs.
+chomp (my $unamedashr = `uname -r`);
+$ramdisk = '/usr/sbin/mkinitrd.yaird' if (system ("dpkg --compare-versions $unamedashr ge 2.6.13 1>/dev/null 2>&1") == 0);
+
my $Loader = "NoLOADER"; #
$Loader = "LILO" if $loader =~ /^lilo/io;
$Loader = "SILO" if $loader =~ /^silo/io;
@@ -182,13 +185,25 @@
$initrd=~ s/^$pattern$//;
if ($initrd) {
+ my @ramdisklist =
+ grep {
+ -x and
+ system ("$_ --supported-host-version=$unamedashr 1>/dev/null 2>&1") == 0
+ }
+ (split (/ /, $ramdisk));
+
+ my $msgramdisk = $ramdisk;
+ $ramdisk = shift @ramdisklist;
+
if (! -e $ramdisk) {
print STDERR <<EOERROR;
You are attempting to install an initrd kernel image (version
-$version) but you do not seem to have a $ramdisk
-command. This will break the installation, unless initrd-tools are
-also being installed right now.
+$version) while running a kernel of version $unamedashr, but
+you have no suitable ramdisk generation tool installed among
+$msgramdisk. This will break the installation, unless a
+suitable ramdisk generation tool is also being installed right
+now.
EOERROR
;
Modified: dists/trunk/utils/kernel-package/kernel/image.prerm
===================================================================
--- dists/trunk/utils/kernel-package/kernel/image.prerm 2005-10-16 22:26:43 UTC (rev 4493)
+++ dists/trunk/utils/kernel-package/kernel/image.prerm 2005-10-16 22:28:47 UTC (rev 4494)
@@ -48,6 +48,8 @@
my $arch = "=A"; # should be same as dpkg --print-installation-architecture
my $kernel_arch = "=B";
my $ramdisk = '/usr/sbin/mkinitrd'; # Tool to create initial ram fs.
+chomp (my $unamedashr = `uname -r`);
+$ramdisk = '/usr/sbin/mkinitrd.yaird' if (system ("dpkg --compare-versions $unamedashr ge 2.6.13 1>/dev/null 2>&1") == 0);
my $Loader = "NoLOADER"; #
$Loader = "LILO" if $loader =~ /^lilo/io;
More information about the Kernel-svn-changes
mailing list