[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: