Re: Bug#610749: fakeroot fails ownership with kfreebsd systems
Petr Salinger a écrit :
>> 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
>> in eglibc.
>> 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
> change significantly.
> 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
That's indeed another option. Clint, what do you think about it? Note
it's only something temporary until we fix the real issue on eglibc.
The remaining question is to know if we want that in squeeze or not.
> The change in eglibc should be synced with 2.12 (2.13) upload.
I have already changed that in the SVN on glibc-ports, that way we won't
forget about that.
Aurelien Jarno GPG: 1024D/F1BCDB73