debootstrap breaks with libc6.1 2.2.4-2 postinst
This is on ia64, b-f 3.0.14, debootstrap 0.1.15.3, libc6.1 2.2.4-2
All worked fine with libc6.1 2.2.4-1.
debootstrap tries to
before sysvinit has been installed (it is unpacked, but dpkg doesn't
know about it).
libc6.1 postinst does
sysvinitver="`dpkg -s sysvinit | grep ^Version: | sed -e 's/^Version: *//'`"
case "`uname -m`" in
# Black magic. If we are in a chroot, then /proc/1/exe will not resolve to
# a file (will return EPERM). This keeps us from breaking things in
# debootstrap, and the like.
case "$sysvinitver" in
if [ -x /sbin/init -a -x /bin/readlink ]; then
if [ "$init_proc" = "/sbin/init" ]; then
(init u ; sleep 1)
the first line of that fails with
Package `sysvinit' is not installed and no info is available.
so sysvinitver is null. It then goes on to try and do the readlink and
that fails, meaning the postinst exits with code 1 and debootstrap gives
Even if the first line above worked, it would set sysvinitver=2.82-1
which wouldn't match badsysvinitver and it would still fail.
In libc6.1 2.2.4-1 that last bit of postinst says
eval "case \"$sysvinitver\" in
[ ! -x "/sbin/init" ] || (init u ; sleep 1)
The "Black magic" comment is new too.
So, do we blame libc6.1 and get that fixed, or do we work round this in
debootstrap? chmod -x /target/bin/readlink before the x_core_install and
+x afterwards might do, I guess.