On 13.07.2010 16:12, Aurelien Jarno wrote:
> Stefan Kisdaroczi a écrit :
>   
>> Package: libc6
>> Version: 2.11.2-2
>> Tags: patch
>>
>> hi,
>>
>> libc6 fails to install in a squeeze qemubuilder on a lenny host.
>> There is no telinit -> postinst fails.
>>     
> Why is there no telinit? sysvinit contains this file and is both
> "Essential: yes" and "Priority: required". In any case it should be
> unpacked before libc6 postinst is run.
>   

Ok, there is a /sbin/telinit (sorry for that), but /dev/initctl is missing.
The virtual machine kernel cmdline is "init=/pbuilder-run".

The installation gives the following error:
  debconf: falling back to frontend: Teletype
  telinit: /dev/initctl: No such file or directory
  dpkg: error processing libc6 (--install):
   subprocess installed post-installation script returned error exit
status 1
  Errors were encountered while processing:
   libc6

From the libselinux postinst:
    if [ -x /sbin/init ] && [ -d /proc/1 ] &&
        [ "$(stat -c %d/%i /sbin/init)" = "$(stat -Lc %d/%i /proc/1/exe
2>/dev/null)" ] ; then
        # So, init exists, and there is a linuxy /proc, and the inode of
the executable
        # of the process with pid 1 is the same as /sbin/init (ok, no
init=/bin/sh going on)

        if [ "$(stat -c %d/%i /)" = "$(stat -Lc %d/%i /proc/1/root
2>/dev/null)" ]; then
            # the devicenumber/inode pair of / is the same as that of
            # /sbin/init's root, so we're *not* in a chroot

            # Final sanity check. Make sure there is a /dev/initctl
            # for us to talk to
            if [ -e /dev/initctl ]; then
                # Use telinit if available, it is better form, according
                # to the sysvinit maintainer.
                if [ -x /sbin/telinit ]; then
                    (telinit u ; sleep 1)
                else
                    (init u ; sleep 1)
                fi
            fi
        fi
    fi


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to