initramfs-tools: update-initramfs

don't use mkinitramfs-kpkg vestiges.
preinst and postinst needed a bit of surge to not call
the old mkinitramfs-kpkg interfaces. just check which initramfs
binary is around and call them.
 they support all relevant linux-2.6 versions.

svn path=/dists/trunk/linux-2.6/; revision=12828
This commit is contained in:
Maximilian Attems 2009-02-18 01:35:38 +00:00
parent d06bbe736f
commit e6402c82e3
4 changed files with 29 additions and 36 deletions

3
debian/changelog vendored
View File

@ -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) * [x86_64] set NR_CPUS to 512. (closes: #491309)
* [686-bigmem] set modular XEN_FBDEV_FRONTEND. * [686-bigmem] set modular XEN_FBDEV_FRONTEND.
* Newer Standards-Version 3.8.0 without changes. * 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 ] [ Martin Michlmayr ]
* [mips/r4k-ip22, mips/sb1-bcm91250a] Don't build in ISO9660. * [mips/r4k-ip22, mips/sb1-bcm91250a] Don't build in ISO9660.

View File

@ -43,7 +43,7 @@ versions:
3.2-1 3.2-1
[commands-image-initramfs-generators] [commands-image-initramfs-generators]
initramfs-tools: mkinitramfs-kpkg initramfs-tools: update-initramfs
yaird: mkinitrd.yaird yaird: mkinitrd.yaird
[relations] [relations]

View File

@ -956,27 +956,24 @@ if ( -d "$modules_base/$version" ) {
sub find_inird_tool { sub find_inird_tool {
my $hostversion = shift; my $ramdisk = shift;
my $version = shift; my (@ramdisks, $initramfs_cmd);
my @ramdisks =
grep { foreach $initramfs_cmd (split(/[:,\s]+/, $ramdisk)) {
my $args = if (system("test -x \"\$(command -v $initramfs_cmd)\"") == 0) {
"$_ " . push(@ramdisks, $initramfs_cmd);
"--supported-host-version=$hostversion " . }
"--supported-target-version=$version " . }
"1>/dev/null 2>&1" return @ramdisks;
;
system($args) == 0;
}
split (/[:,\s]+/, $ramdisk);
} }
# The initrd symlink should probably be in the same dir that the # The initrd symlink should probably be in the same dir that the
# symlinks are in # symlinks are in
if ($initrd) { if ($initrd) {
chomp (my $hostversion = `uname -r`); chomp (my $hostversion = `uname -r`);
my @ramdisklist; 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" . die "Failed to find suitable ramdisk generation tool for kernel version \n" .
"$version on running kernel $hostversion in $ramdisk\n" "$version on running kernel $hostversion in $ramdisk\n"
if $#ramdisklist < 0; if $#ramdisklist < 0;
@ -988,15 +985,12 @@ if ($initrd) {
my $initrd_path = $realimageloc . "initrd.img-$version"; my $initrd_path = $realimageloc . "initrd.img-$version";
my $ret = system("$ramdisk_cmd " . my $ret = system("$ramdisk_cmd " .
($mkimage ? "-m '$mkimage' " : "") . ($mkimage ? "-m '$mkimage' " : "") .
"-o $initrd_path.new $modules_base/$version"); "-c -t -k $version");
if ($ret) { if ($ret) {
warn "$ramdisk_cmd failed to create initrd image.\n"; warn "$ramdisk_cmd failed to create initrd image.\n";
} } else {
else { $success = 1;
rename("$initrd_path.new", "$initrd_path") last;
or die("Failed to rename initrd ($initrd_path)\n");
$success = 1;
last;
} }
} }
die "Failed to create initrd image.\n" unless $success; die "Failed to create initrd image.\n" unless $success;

View File

@ -178,19 +178,15 @@ $ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch;
# this package. # this package.
sub find_inird_tool { sub find_inird_tool {
my $hostversion = shift; my $ramdisk = shift;
my $version = shift; my (@ramdisks, $initramfs_cmd);
my @ramdisks =
grep { foreach $initramfs_cmd (split(/[:,\s]+/, $ramdisk)) {
my $args = if (system("test -x \"\$(command -v $initramfs_cmd)\"") == 0) {
"$_ " . push(@ramdisks, $initramfs_cmd);
"--supported-host-version=$hostversion " . }
"--supported-target-version=$version " . }
"1>/dev/null 2>&1" return @ramdisks;
;
system($args) == 0;
}
split (/[:,\s]+/, $ramdisk);
} }
# For some versions of kernel-package, we had this warning in the # For some versions of kernel-package, we had this warning in the
@ -202,7 +198,7 @@ $initrd=~ s/^$pattern$//;
if ($initrd) { if ($initrd) {
chomp (my $hostversion = `uname -r`); chomp (my $hostversion = `uname -r`);
my @ramdisklist; my @ramdisklist;
@ramdisklist = find_inird_tool($hostversion, $version, $ramdisk) if $ramdisk; @ramdisklist = find_inird_tool($ramdisk) if $ramdisk;
if ($#ramdisklist < 0) { if ($#ramdisklist < 0) {
my $ret; my $ret;
my $seen; my $seen;