Your message dated Sat, 05 May 2007 18:02:03 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#410145: fixed in fakechroot 2.6-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: fakechroot
Version: 2.5-1.1
Severity: important

Inside fakechroot, make displays 

 make[1]: Entering directory `/home/eichin/....'

ie. it display the *outside* path.  Yet a Makefile target running pwd
gives the correct value.  (I was hunting this down in search of
another problem...)

Turns out that this is a fakeroot bug.  getcwd is documented in
getcwd(3) as:

       The  getcwd() function copies an absolute pathname of the current work-
       ing directory to the array pointed to by buf, which is of length  size.
 
Note that further on, the man page only suggests the return value as
having meaning in two cases: it's NULL if the call can't fit the path
in the buffer, and a linux-specific hack of having getcwd malloc() the
value if buf is NULL.

gnu make, being quite portable code, simply calls:
      if (getcwd (current_directory, GET_PATH_MAX) == 0)

and expects current_directory to have the desired value.

fakechroot-2.5/src/libfakechroot.c #define narrow_chroot_path, in the
typical ("not in /") case, does this:

                        (path) = ((path) + strlen(fakechroot_path)); \

ie. returns a pointer that skips over the prefix.  "That's Not Right" :-)

The obvious fix is to do something like

   memmove(path, path+strlen(fakechroot_path), 
1+strlen(path)-strlen(fakechroot_path))

instead, though I have not tested this.  I've also noted that bash
uses the "return value ignored" form in the only two places it
actually calls the function, so builtins probably have buggy behaviour
here too:

./parse.y:4146:             if (getcwd (t_string, sizeof(t_string)) == 0)
./jobs.c:355:      dir = getcwd (d, sizeof(d));
                   if (dir)
                      dir = d;

(I went digging for this in search of an explanation for a
   /bin/sh: line 1: cd: .: No such file or directory
 message from deep in a fakeroot/fakechroot/pdebuild/pbuilder/dpkg-buildpackage
 stack, and will see if this helps shortly... but since it's clearly
 wrong even if it doesn't, I figured I'd get the bug report out the
 door promptly.)



-- System Information:
Debian Release: 4.0
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14.1manekineko
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages fakechroot depends on:
ii  libc6                        2.3.6.ds1-8 GNU C Library: Shared libraries

fakechroot recommends no packages.

-- no debconf information


--- End Message ---
--- Begin Message ---
Source: fakechroot
Source-Version: 2.6-1

We believe that the bug you reported is fixed in the latest version of
fakechroot, which is due to be installed in the Debian FTP archive:

fakechroot_2.6-1.diff.gz
  to pool/main/f/fakechroot/fakechroot_2.6-1.diff.gz
fakechroot_2.6-1.dsc
  to pool/main/f/fakechroot/fakechroot_2.6-1.dsc
fakechroot_2.6-1_i386.deb
  to pool/main/f/fakechroot/fakechroot_2.6-1_i386.deb
fakechroot_2.6.orig.tar.gz
  to pool/main/f/fakechroot/fakechroot_2.6.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Piotr Roszatycki <[EMAIL PROTECTED]> (supplier of updated fakechroot package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Sat,  5 May 2007 17:20:28 +0200
Source: fakechroot
Binary: fakechroot
Architecture: source i386
Version: 2.6-1
Distribution: unstable
Urgency: low
Maintainer: Piotr Roszatycki <[EMAIL PROTECTED]>
Changed-By: Piotr Roszatycki <[EMAIL PROTECTED]>
Description: 
 fakechroot - gives a fake chroot environment
Closes: 361202 363403 410145 410739 412141 412603 412918
Changes: 
 fakechroot (2.6-1) unstable; urgency=low
 .
   * New environment variable FAKECHROOT_EXCLUDE_PATH.
   * Fixed getcwd(3) function. Closes: #410145, #410739.
   * Fixed readlink(2) function. Closes: #412141.
   * Fixed mktemp(3) function. Closes: #412918.
   * The chroot(2) function is now recursive and allows nested chroots.
     Closes: #412603.
   * Updated manpage.
   * Supported 32-bit biarch on ppc64 architecture. Closes: #361202.
   * Fixed typo in package's description. Closes: #363403.
Files: 
 f1ff59b59c0cd04bacac28b659a408de 666 utils optional fakechroot_2.6-1.dsc
 1ac07b265890cb3b5379327c3c8b07ab 445712 utils optional 
fakechroot_2.6.orig.tar.gz
 5d8d1c686cb1f3e387eacd91acbeb291 6280 utils optional fakechroot_2.6-1.diff.gz
 a9779b75bbe89e2a63650d28fd6eed75 25798 utils optional fakechroot_2.6-1_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGPMLIhMHHe8CxClsRArsJAKDMWduAIQcFCdw0PDvhs9shjkjivACgkpsB
DRB67EXxBFyQsY4mMui9Wrs=
=JaDP
-----END PGP SIGNATURE-----


--- End Message ---

Reply via email to