Hi all, I've CC'd Manoj on this, since I am proposing a change in kernel-package to solve this bug.
> [Summary: Kernel package stopped running update-initramfs, but the > initramfs-tools postinst hook specifically doesn't run for kernel-package > built kernels] > > 7c7,10 > > < [ -z "$2" ] || exit 0 > > --- > > > [ -z "$2" ] || > > > echo "warning: not running update-initramfs, see make-kpkg(1) and > > > /usr/share/doc/kernel-package/README.gz for details" && > > > exit 0 > > please use unifiedd diffs, aboves is unreadable. Actually, I think the above is quit readable, if you look at the /etc/kernel/postinst.d/initramfs-tools script. Some extra context would have been useful, though. > also aboves is wrong as it would also be called by *official* linux-2.6 > produced images. I don't think this is true, since the comment in the script says: # kernel-package passes an extra arg; hack to not run under kernel-package [ -z "$2" ] || exit 0 So it seems that this line should really only apply to kernel-package generated kernels (official kernels are no longer generated by kernel-package, according to /usr/share/doc/kernel-package/NEWS.Debian.gz). However, just adding a warning line really won't solve anything. It seems the problem is that the initramfs hook script ignores kernel-package (which it should for older versions), which it shouldn't do for the latest version of kernel-package. However, the script really has no way to tell that the kernel currently installing was built by kernel-package >= 12.001. Apparently it can only tell that it was called by kernel-package due to a second argument, which official kernels presumably don't pass? If this is so, what use is the argument anyway, if it's not always passed in? From a kernel-package kernel's postinst script: run-parts --verbose --exit-on-error --arg=$version --arg=$realimageloc$kimage-$version /etc/kernel/postinst.d so it seems it passes some location and version as a second argument, but I can't really tell what. I don't know if the interface for scripts in /etc/kernel/postinst.d is documented anywhere? One obvious solution here, would be to let kernel-package no longer pass in the second argument. This makes it compliant with official kernels, the initramfs-tools can no longer distinguish them, and all should be well. Perhaps Manoj can comment on this? Gr. Matthijs
signature.asc
Description: Digital signature