Your message dated Wed, 06 Jun 2012 23:17:34 +0000
with message-id <[email protected]>
and subject line Bug#676428: fixed in fakeroot 1.18.4-2
has caused the Debian Bug report #676428,
regarding fakeroot: never use stat64 in wrapped fts_read and fts_children
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 this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
676428: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676428
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: fakeroot
Version: 1.18.4-1
Severity: important
Tags: patch

Hi,

unfortunately (see #317466), in eglibc, the FTS functions are never
built with Large File Support. The below patch disables stat64 for
the wrapped fts_read() and fts_children() functions, which fixes
the following scenario at least on hurd-i386 (discovered since pax
nowadays uses/tests itself during build and thus FTBFS there):

I have no name!@exodar:~/X$ ./a.out
4096 4096 .
5842 5842 a.out
4096 4096 .
I have no name!@exodar:~/X$ fakeroot ./a.out
0 4096 .
0 5842 a.out
0 4096 .
I have no name!@exodar:~/X$ fakeroot -l 
/home/tg/fakeroot-1.18.4/obj-tcp/.libs/libfakeroot-0.so ./a.out
4096 4096 .
5842 5842 a.out
4096 4096 .

This is the test programme (source for that a.out):

--- snip ---
#include <sys/types.h>
#include <sys/stat.h>
#include <err.h>
#include <fts.h>
#include <stdio.h>

char *paths[] = { ".", NULL };

int
main(void)
{
        FTS *fts;
        FTSENT *ftent;
        struct stat sb;

        if ((fts = fts_open(paths, FTS_PHYSICAL, NULL)) == NULL)
                err(1, "fts_open");
        while ((ftent = fts_read(fts))) {
                if (lstat(ftent->fts_name, &sb) == -1)
                        err(1, "lstat");
                printf("%llu %llu %s\n",
                    (unsigned long long)ftent->fts_statp->st_size,
                    (unsigned long long)sb.st_size,
                    ftent->fts_name);
        }
        return (0);
}
--- snap ---

This is the debdiff:

diff -Nru fakeroot-1.18.4/debian/changelog fakeroot-1.18.4/debian/changelog
--- fakeroot-1.18.4/debian/changelog    2012-06-02 18:28:12.000000000 +0000
+++ fakeroot-1.18.4/debian/changelog    2012-06-06 20:34:50.000000000 +0000
@@ -1,3 +1,11 @@
+fakeroot (1.18.4-2) UNRELEASED; urgency=low
+
+  * Disable stat64 for FTS functions in a Debian-local patch,
+    since FTS is always built without LFS in eglibc. Fixes
+    pax on hurd-i386 (at least).
+
+ -- Thorsten Glaser <[email protected]>  Wed, 06 Jun 2012 20:33:31 +0000
+
 fakeroot (1.18.4-1) unstable; urgency=low
 
   * More MacOS X patches from Kyle J. McKay.
diff -Nru fakeroot-1.18.4/debian/patches/eglibc-fts-without-LFS 
fakeroot-1.18.4/debian/patches/eglibc-fts-without-LFS
--- fakeroot-1.18.4/debian/patches/eglibc-fts-without-LFS       1970-01-01 
00:00:00.000000000 +0000
+++ fakeroot-1.18.4/debian/patches/eglibc-fts-without-LFS       2012-06-06 
20:32:29.000000000 +0000
@@ -0,0 +1,28 @@
+Index: fakeroot-1.18.4/libfakeroot.c
+===================================================================
+--- fakeroot-1.18.4.orig/libfakeroot.c 2012-06-02 18:23:41.000000000 +0000
++++ fakeroot-1.18.4/libfakeroot.c      2012-06-06 20:32:25.000000000 +0000
+@@ -1579,11 +1579,7 @@
+     r->fts_statp = NULL;  /* Otherwise fts_statp may be a random pointer */
+ #endif
+   if(r && r->fts_statp) {  /* Should we bother checking fts_info here? */
+-# if defined(STAT64_SUPPORT) && !defined(__APPLE__)
+-    SEND_GET_STAT64(r->fts_statp, _STAT_VER);
+-# else
+     SEND_GET_STAT(r->fts_statp, _STAT_VER);
+-# endif
+   }
+ 
+   return r;
+@@ -1602,11 +1598,7 @@
+   first=next_fts_children(ftsp, options);
+   for(r = first; r; r = r->fts_link) {
+     if(r && r->fts_statp) {  /* Should we bother checking fts_info here? */
+-# if defined(STAT64_SUPPORT) && !defined(__APPLE__)
+-      SEND_GET_STAT64(r->fts_statp, _STAT_VER);
+-# else
+       SEND_GET_STAT(r->fts_statp, _STAT_VER);
+-# endif
+     }
+   }
+ 
diff -Nru fakeroot-1.18.4/debian/patches/series 
fakeroot-1.18.4/debian/patches/series
--- fakeroot-1.18.4/debian/patches/series       2012-06-02 18:28:59.000000000 
+0000
+++ fakeroot-1.18.4/debian/patches/series       2012-06-06 20:32:08.000000000 
+0000
@@ -1 +1,2 @@
 ugh
+eglibc-fts-without-LFS


bye,
//mirabilos
-- 
13:37⎜«Natureshadow» Deep inside, I hate mirabilos. I mean, he's a good
guy. But he's always right! In every fsckin' situation, he's right. Even
with his deeply perverted taste in software and borked ambition towards
broken OSes - in the end, he's damn right about it :(! […] works in mksh



--- End Message ---
--- Begin Message ---
Source: fakeroot
Source-Version: 1.18.4-2

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

fakeroot_1.18.4-2.debian.tar.gz
  to main/f/fakeroot/fakeroot_1.18.4-2.debian.tar.gz
fakeroot_1.18.4-2.dsc
  to main/f/fakeroot/fakeroot_1.18.4-2.dsc
fakeroot_1.18.4-2_amd64.deb
  to main/f/fakeroot/fakeroot_1.18.4-2_amd64.deb



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.
Thorsten Glaser <[email protected]> (supplier of updated fakeroot 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: SHA512

Format: 1.8
Date: Wed, 06 Jun 2012 20:33:31 +0000
Source: fakeroot
Binary: fakeroot
Architecture: source amd64
Version: 1.18.4-2
Distribution: unstable
Urgency: low
Maintainer: Clint Adams <[email protected]>
Changed-By: Thorsten Glaser <[email protected]>
Description: 
 fakeroot   - tool for simulating superuser privileges
Closes: 676428
Changes: 
 fakeroot (1.18.4-2) unstable; urgency=low
 .
   * Disable stat64 for FTS functions in a Debian-local patch,
     since FTS is always built without LFS in eglibc. Fixes
     pax on hurd-i386 (at least).  closes: #676428.
Checksums-Sha1: 
 ff0702fd67e14a2a7630ba4bfde3cf00ad41aa9d 1965 fakeroot_1.18.4-2.dsc
 15ba3584d6ae4e412e5ce961ab6ee67d59c75d00 55250 fakeroot_1.18.4-2.debian.tar.gz
 c81e8d92ae194e04e45e0a180ebf9cf976e76e00 109040 fakeroot_1.18.4-2_amd64.deb
Checksums-Sha256: 
 57e3d755879fec619fd786bff535f606f0421dd0e016f4e3e7d2057d4e747fd7 1965 
fakeroot_1.18.4-2.dsc
 ff0689e46568f81bc2f9f1ee6d8b088611e82d720a1438317ddf05648a9f3a6c 55250 
fakeroot_1.18.4-2.debian.tar.gz
 ca22dcb35aad4aaca8a2488e62a745ca8aadc6d53c8750c1ca2b2fa46fd07795 109040 
fakeroot_1.18.4-2_amd64.deb
Files: 
 8d95e9ebbd3eae603ca5ea6df9aef7f8 1965 utils optional fakeroot_1.18.4-2.dsc
 9a547853b4e0f59eb4b6bcfe8876f74a 55250 utils optional 
fakeroot_1.18.4-2.debian.tar.gz
 e442c55d9c6cf178d00d4a1d050e7204 109040 utils optional 
fakeroot_1.18.4-2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Debian!

iQIcBAEBCgAGBQJPz+RtAAoJEFWSMx4ZnTioB3UP/iOQmJo3rEp8coXzF2vHD+KQ
EchIJAWs+ZhEg4oSsDT9ku6rB7u29Ohg7q6ft+QLGr5y9JHZJaK12kMRD7BSdBm8
X1EDNu+jGaSC+gARLKYX69pn1yc8N8QKj+7Iebr2Sn7EvmWAT/uplLRQQbx0wd46
WFeqxq+daS0BvY1Wm+CwA6/HXzJnIGEXfv0agivqEZa3bPN90RkazLyw952x3KuK
GwPMhe8PWv55msw5cYUa0yaVjBesddxySd+2s9ky62LvrJwAAnaxMsmlnpJnAEH9
UnFIbhucIa/2iG6b1XmVk0O3cgj6gjJeG2KuuKqgJDil3rdYNHT4RYud25LvJ9Hd
W1gSN68Tvu7R66IjZ1A8uRE5/LJxk2ykgqV17vJHGCuONPUb9B5K72cH1s9DYyfr
YDJa8Jol5QXkZZ5ifHiHrs3NaTR+Gx1MM97DQ8KbseLNxjprtCJy5driNo2o+pwR
3pQ8Ww83xLVwRY+MRIucg5rCHRqZyUQgpI9cEjNCHQGyspFuxvcPuMjX8YuSi81t
CgrhjpkN5Zzs6xoijdmYI2hAh7hq7ZMFgJBAKXlSEoE26cq8Ztut3CdHU23hrnJM
7xH+v0v4ld2ETXOELpSKfUdVVWcw1GZQBdkG2EzrOhjqn6aqGytnUJ8rt4qW6G+E
fPmYHuEypjQGoxKd+XVQ
=CaNj
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to