Re: kfreebsd-i386 d-i/squeeze FTBFS (was Re: Bug#633561: pu: package kfreebsd-8/8.1+dfsg-8+squeeze1)
2011/10/6 Adam D. Barratt <adam@adam-barratt.org.uk>:
> test -e ./tmp/cdrom/tree/boot/zfs || rmdir ./tmp/cdrom/tree/boot/
> rmdir: failed to remove `./tmp/cdrom/tree/boot/': Directory not empty
> [...]
> $ debdiff kernel-image-8.1-1-486-di_0.6_kfreebsd-i386.udeb kernel-image-8.1-1-486-di_0.6+b1_kfreebsd-i386.udeb
> [...]
> Files in second .deb but not in first
> -------------------------------------
> -rw-r--r-- root/root /boot/acpi.ko
>
> This appears to be due to the fact that the new kfreebsd-8 +squeeze1
> kernel on -i386 builds acpi.ko as a module, which is then picked up by
> existing "install this module if it exists" rules in kernel-wedge.
Actually, the problem is not presence of acpi.ko itself, but the fact
that a symlink to this file exists in /boot/. This is due to an old
postinst kludge from pre-GRUB time.
> A quick fix would be appreciated, whether from the kfreebsd or d-i side,
> given the increasingly short period of time we have remaining until the
> point release is scheduled.
Attached patch should fix the problem. I can upload a fixed
kfreebsd-8 this evening (feel free to NMU if someone has time to
verify earlier than that).
--
Robert Millan
Index: debian/kfreebsd-image.postinst.in
===================================================================
--- debian/kfreebsd-image.postinst.in (revision 3716)
+++ debian/kfreebsd-image.postinst.in (working copy)
@@ -24,37 +24,6 @@
case "$1" in
configure)
- # Don't do symlinks if explicitely disabled
- if [ -z "$(sed -e '/^\s*do_symlinks\s*=\s*\(no\|false\|0\)\s*$/!d' $KERNEL_IMG_CONF 2>/dev/null)" ] ; then
- for i in kernel.gz acpi.ko ; do
- if test -e /boot/kernel/$i && ! test -L /boot/kernel/$i ; then
- echo "What happen!! /boot/kernel/$i exists but is not a symlink."
- exit 1
- fi
- done
-
- mkdir -p /boot/kernel
-
- if [ "$(readlink -f /boot/kernel/kernel.gz)" != "/boot/kfreebsd-$RELEASE.gz" ] ; then
- rm -f /boot/kernel/kernel.old.gz
- if [ -L /boot/kernel/kernel.gz ] ; then
- mv /boot/kernel/kernel.gz /boot/kernel/kernel.old.gz
- fi
- ln -s /boot/kfreebsd-$RELEASE.gz /boot/kernel/kernel.gz
- fi
-
- # on i386 acpi MUST be within kfreebsd-loader reach
- if [ "${RELEASE%%-[456]86}" != "${RELEASE}" ] ; then
- if [ "$(readlink -f /boot/kernel/acpi.ko)" != "/lib/modules/$RELEASE/acpi.ko" ] ; then
- rm -f /boot/kernel/acpi.ko.old
- if [ -L /boot/kernel/acpi.ko ] ; then
- mv /boot/kernel/acpi.ko /boot/kernel/acpi.ko.old
- fi
- ln -s /lib/modules/$RELEASE/acpi.ko /boot/kernel/acpi.ko
- fi
- fi
- fi
-
# Sanitize and quote maintainer script parameters
for p in "$@"; do
q="$(echo "$p" | sed -e "s/'/'\\''/g")"
Reply to: