Re: Bug#610749: fakeroot fails ownership with kfreebsd systems
reassign 610749 eglibc
severity 610749 serious
The problems is triggered by the new version of tar that is present only
in sid, squeeze is not affected. However given the packages are built in
a sid chroot, we might be in trouble, especially given the package has
been uploaded almost 50 days ago...
Ok, I have finally understood the problem:
1) in eglibc we implement at* functions, but mark them as stub as the
emulation for FreeBSD 7.x kernels is not perfect. FreeBSD 8.x have
this syscalls natively, and thus don't need emulation.
2) newer versions of tar start to use the fstatat syscall.
3) fakeroot doesn't emulate this syscall because it is marked as stub
Even if testing is not affected, it's a serious problem as packages are
in unstable before moving to testing. This is way we have roughly 300
broken binary packages in the archive.
Therefore I think it should be fixed as soon as possible. IMHO the best
way to fix that is to remove the stub for at* functions as we don't want
to support 7.x kernel anymore.
This fix is long-term-fix. But I do not agree to do it now, for squeeze
glibc. The other packages behaviour/code_path might be altered by this
Better would be to override *at stubs only for fakeroot now.
Something like add in fakeroot's configure/configure.ac after
AC_CHECK_FUNCS(fchmodat fchownat fstatat mkdirat mknodat openat renameat unlinkat)
case $target_os in
for ac_func in fchmodat fchownat fstatat mkdirat mknodat openat renameat unlinkat
cat >>confdefs.h << _ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
The change in eglibc should be synced with 2.12 (2.13) upload.