Package: fakechroot Version: 2.5-1.1.20070223-2 Severity: normal (again, ignore the version as it's a local build with a bunch of previously submitted changes applied)
I don't see a reason not to let subsequent chroot() calls within an already running fakechroot succeed - it's not like the fakeroot case where there's a process to communicate, the entirety of the state is in $FAKECHROOT_BASE, and that *already* has the right nesting semantics. This patch works for my own case (an obscure use of pbuilder inside of pbuilder); basically, it drops the EFAULT test, adds comments as to why other parts work, and uses next_getcwd (since $FAKECHROOT_BASE is strictly unfake, so it shouldn't have narrow_chroot_path applied to it. Index: libfakechroot.c =================================================================== --- libfakechroot.c (revision 55507) +++ libfakechroot.c (working copy) @@ -870,16 +875,15 @@ char *envbuf; #endif + /* no reason to prevent further fakechroots... we just have to concatenate bases */ fakechroot_path = getenv("FAKECHROOT_BASE"); - if (fakechroot_path != NULL) { - return EFAULT; - } + /* this does the "expanded" chdir */ if ((status = chdir(path)) != 0) { return status; } - if (getcwd(dir, FAKECHROOT_MAXPATH) == NULL) { + if (next_getcwd(dir, FAKECHROOT_MAXPATH) == NULL) { return EFAULT; } -- System Information: Debian Release: 3.1 Architecture: i386 (i686) Kernel: Linux 2.6.15-mc2 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages fakechroot depends on: ii libc6 2.3.2.ds1-22sarge4 GNU C Library: Shared libraries an -- debconf-show failed -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]