mkinitrd busted, breaks initrd kernel-image packages
I have increased the severity of #272698 to serious as it breaks mkinitrd
(making the package unsuitable for release) which, among other things, breaks
the installation of initrd kernel-image packages.
Compounding the problem is that the kernel-image packages successfully
install, so if you don't see the error flash by and reboot you're left with a
broken system :(
The code that runs the mkinitrd is the kernel-image's postinst script. This
script is generated by the make-kpkg from the kernel-package package. In the
master postinst that make-kpkg uses it does the following check (perl),
my $ret = system("mkinitrd " .
($mkimage ? "-m '$mkimage' " : "") .
"-o " . $realimageloc . "initrd.img-$version " .
"/lib/modules/$version");
die("Failed to create initrd image.\n") if $ret;
I inserted a debugging print statement and mkinitrd is exiting with zero even
though the mkinitrd is failing due to this bug. So in addition mkinitrd also
needs to be fixed to exit non-zero if it has an internal error like this.
I also recommend that the kernel-package package add an additional check in
the postinst that confirms that the initrd did actually get created even if
mkinitrd exits with zero.
Thanks,
--
Matt Taggart
taggart@debian.org
Reply to: