diff --git a/debian/changelog b/debian/changelog index 11e9291a3..01cacd09e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -70,6 +70,9 @@ linux-2.6 (2.6.28-1~experimental.1) UNRELEASED; urgency=low * [x86_64] set NR_CPUS to 512. (closes: #491309) * [686-bigmem] set modular XEN_FBDEV_FRONTEND. * Newer Standards-Version 3.8.0 without changes. + * Use update-initramfs for initramfs-tools. + * Fix preinst and postinst call to not use deprecated mkinitramfs-kpkg + interfaces. [ Martin Michlmayr ] * [mips/r4k-ip22, mips/sb1-bcm91250a] Don't build in ISO9660. diff --git a/debian/config/defines b/debian/config/defines index 64e95a359..07c0e2493 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -43,7 +43,7 @@ versions: 3.2-1 [commands-image-initramfs-generators] -initramfs-tools: mkinitramfs-kpkg +initramfs-tools: update-initramfs yaird: mkinitrd.yaird [relations] diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst index 00968b004..a8c6f3f92 100755 --- a/debian/templates/temp.image.plain/postinst +++ b/debian/templates/temp.image.plain/postinst @@ -956,27 +956,24 @@ if ( -d "$modules_base/$version" ) { sub find_inird_tool { - my $hostversion = shift; - my $version = shift; - my @ramdisks = - grep { - my $args = - "$_ " . - "--supported-host-version=$hostversion " . - "--supported-target-version=$version " . - "1>/dev/null 2>&1" - ; - system($args) == 0; - } - split (/[:,\s]+/, $ramdisk); + my $ramdisk = shift; + my (@ramdisks, $initramfs_cmd); + + foreach $initramfs_cmd (split(/[:,\s]+/, $ramdisk)) { + if (system("test -x \"\$(command -v $initramfs_cmd)\"") == 0) { + push(@ramdisks, $initramfs_cmd); + } + } + return @ramdisks; } + # The initrd symlink should probably be in the same dir that the # symlinks are in if ($initrd) { chomp (my $hostversion = `uname -r`); my @ramdisklist; - @ramdisklist = find_inird_tool($hostversion, $version, $ramdisk) if $ramdisk; + @ramdisklist = find_inird_tool($ramdisk) if $ramdisk; die "Failed to find suitable ramdisk generation tool for kernel version \n" . "$version on running kernel $hostversion in $ramdisk\n" if $#ramdisklist < 0; @@ -988,15 +985,12 @@ if ($initrd) { my $initrd_path = $realimageloc . "initrd.img-$version"; my $ret = system("$ramdisk_cmd " . ($mkimage ? "-m '$mkimage' " : "") . - "-o $initrd_path.new $modules_base/$version"); + "-c -t -k $version"); if ($ret) { warn "$ramdisk_cmd failed to create initrd image.\n"; - } - else { - rename("$initrd_path.new", "$initrd_path") - or die("Failed to rename initrd ($initrd_path)\n"); - $success = 1; - last; + } else { + $success = 1; + last; } } die "Failed to create initrd image.\n" unless $success; diff --git a/debian/templates/temp.image.plain/preinst b/debian/templates/temp.image.plain/preinst index 993abac15..96e98239e 100755 --- a/debian/templates/temp.image.plain/preinst +++ b/debian/templates/temp.image.plain/preinst @@ -178,19 +178,15 @@ $ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch; # this package. sub find_inird_tool { - my $hostversion = shift; - my $version = shift; - my @ramdisks = - grep { - my $args = - "$_ " . - "--supported-host-version=$hostversion " . - "--supported-target-version=$version " . - "1>/dev/null 2>&1" - ; - system($args) == 0; - } - split (/[:,\s]+/, $ramdisk); + my $ramdisk = shift; + my (@ramdisks, $initramfs_cmd); + + foreach $initramfs_cmd (split(/[:,\s]+/, $ramdisk)) { + if (system("test -x \"\$(command -v $initramfs_cmd)\"") == 0) { + push(@ramdisks, $initramfs_cmd); + } + } + return @ramdisks; } # For some versions of kernel-package, we had this warning in the @@ -202,7 +198,7 @@ $initrd=~ s/^$pattern$//; if ($initrd) { chomp (my $hostversion = `uname -r`); my @ramdisklist; - @ramdisklist = find_inird_tool($hostversion, $version, $ramdisk) if $ramdisk; + @ramdisklist = find_inird_tool($ramdisk) if $ramdisk; if ($#ramdisklist < 0) { my $ret; my $seen;