[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#610749: fakeroot fails ownership with kfreebsd systems



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
         kfreebsd*)
         for ac_func in fchmodat fchownat fstatat mkdirat mknodat openat renameat unlinkat
         do
           cat >>confdefs.h << _ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
         done
         ;;
esac
-------------

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.

I am unsure what is "the real issue".
 - eglibc providing best-effort fstatat and marking as a stub
 - fakeroot not intercepting fstatat which exists but is marked as stub
 - tar using fstatat despite marked as stub

The long-term solution is of course bump kfreebsd kernel
requirements to 8.1 and drop stub marking in eglibc.

The remaining question is to know if we want that in squeeze or not.

"nice to have" for squeeze, "have to have" in sid

Cheers
	Petr




Reply to: