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]