|
20b5ea91
|
2007-06-16T06:10:44
|
|
Revamp lchown so that it lives in unistd.h where it belongs.
* lib/lchown.h: Remove.
* lib/dirchownmod.c: Don't include lib/lchown.h.
* lib/fchownat.c: Likewise.
* lib/openat.c: Likewise.
* lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
does not follow symlinks.
(EOPNOTSUPP): Define if not defined.
* lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
is defined to 0.
(lchown): New decl.
* m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
Do not check for lchown decl.
Set REPLACE_LCHOWN.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
REPLACE_LCHOWN.
* modules/chown: Make it clear it follows symlinks.
* modules/lchown: Make it clear it doesn't follow symlinks.
(Files): Remove lib/lchown.h
(Depends-on): Add unistd.
(configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
(Include): Include <unistd.h>, not "lchown.h".
* modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
REPLACE_LCHOWN.
|
|
553f2fe4
|
2007-03-18T15:29:10
|
|
* lib/fchownat.c: Include lchown.h.
2007-03-17 Bruno Haible <bruno@clisp.org>
|
|
242003f6
|
2006-12-24T17:08:04
|
|
Work around an fchownat bug in glibc-2.4:
http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
in spite of the -P option.
* m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
New macros.
(gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
* modules/openat (Files): Add lib/fchownat.c.
* lib/openat.c (fchownat): Don't define here. Move to...
* lib/fchownat.c: ...this new file.
|