Bug#555093: Missing kernel-img.conf makes a debian kernel not installable
Package: linux-2.6
Version: 2.6.31-1
Severity: normal
Tags: patch
There is no /etc/kernel-img.con on a fresh debootstrap sid. Installing a
kernel leads to:
|mikejones:/var/lib# dpkg --configure -a
|Setting up linux-image-2.6.31-1-amd64 (2.6.31-1) ...
|Running depmod.
|Running update-initramfs.
|update-initramfs: Generating /boot/initrd.img-2.6.31-1-amd64
|Error retreiving answer for linux-image-2.6.31-1-amd64/postinst/create-kimage-link-2.6.31-1-amd64:
| linux-image-2.6.31-1-amd64/postinst/create-kimage-link-2.6.31-1-amd64 doesn't exist at
| /var/lib/dpkg/info/linux-image-2.6.31-1-amd64.postinst line 522, <STDIN> line 3.
|dpkg: error processing linux-image-2.6.31-1-amd64 (--configure):
| subprocess installed post-installation script returned error exit status 9
As far as I understand debconf, there must be a template and input() for
${package_name}/postinst/create-kimage-link-$version in order to get a
value saved. Since I did not find it I guess that this can't work.
If the bootloader is palo than the answer is ignored anyway so the
question is not required there.
kernel-img.conf(5) says that do_symlinks defaults to yes.
This could also fix piuparts [0].
[0] http://piuparts.debian.org/sid/fail/linux-image-2.6.31-1-amd64_2.6.31-1.log
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
---
debian/templates/temp.image.plain/postinst | 13 +------------
1 files changed, 1 insertions(+), 12 deletions(-)
diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst
index 5e827de..d4063ef 100644
--- a/debian/templates/temp.image.plain/postinst
+++ b/debian/templates/temp.image.plain/postinst
@@ -514,28 +514,17 @@ sub handle_missing_link {
else {
if (! $have_conffile) {
my $ret;
- my $answer='';
$do_symlink = "Yes";
- my $question = "${package_name}/postinst/create-kimage-link-$version";
- ($ret,$answer) = get("$question");
- die "Error retreiving answer for $question: $answer" if $ret;
-
- $answer =~ s/^\s+//;
- $answer =~ s/\s+$//;
- $do_symlink = "No" if $answer =~ /^(f|n)/i;
-
if (open(CONF, ">$CONF_LOC")) {
print CONF "# Kernel Image management overrides\n";
print CONF "# See kernel-img.conf(5) for details\n";
if ($loader =~ /palo/i) {
print CONF "link_in_boot = Yes\n";
- print CONF "do_symlinks = Yes\n";
print CONF "relative_links = Yes\n";
print CONF "do_bootloader = No\n";
- } else {
- print CONF "do_symlinks = $do_symlink\n";
}
+ print CONF "do_symlinks = $do_symlink\n";
close CONF;
}
$have_conffile = "Yes";
--
1.6.5.2
Reply to: