Files
tar/gnulib.modules
Paul Eggert ecbcb7b6d7 tar: --atime-preserve fixes for races etc.
This patch fixes a race condition in the --atime-preserve=replace
option, which might cause tar to improperly follow a symbolic link.

It also drops the use of the _FIOSATIME ioctl of Solaris 2.x
and later, which loses resolution on time stamps.  Modern Solaris
systems support full-resolution time stamps in the kernel, and
it's not worth the hassle of testing this call, useful only in
no-longer-supported Solaris variants.

Also, it undoes a change I recently introduced to the --compare
option, which caused it to not follow symbolic links unless the
--dereference option was also used.  Quite possibly this change is
a good idea, but the old behavior was documented and the change
should not have been installed casually.

* configure.ac: Don't check for stropts.h and sys/filio.h.
* gnulib.modules: Add futimens, utimensat.  Remove futimens.
* src/common.h (fd_utimensat): New decl.
* src/compare.c (diff_file, diff_multivol):
Don't use open_read_flags: those are for --create only.
* src/create.c (dump_file0): Adjust to set_file_atime changes.
Pass fstatat_flags to set_file_atime, so that symbolic links are
not followed inadvertantly.
* src/extract.c: Don't include utimens.h.
(set_stat): Use fd_utimensat ant UTIME_NOW rather than fdutimens.
* src/misc.c: Don't include utimens.h, stropts.h, sys/filio.h.
(fd_utimensat): New function.
(set_file_atime): Use it.  New arg atflag, controlling symlink
handling.  All callers changed.
2010-09-16 10:17:04 -07:00

67 lines
698 B
Plaintext

# List of gnulib modules needed for GNU tar.
# A module name per line. Empty lines and comments are ignored.
alloca
argmatch
argp
argp-version-etc
backupfile
closeout
configmake
dirname
error
exclude
exitfail
fdopendir
fileblocks
fnmatch-gnu
fseeko
ftruncate
full-write
futimens
getdate
getline
getopt-gnu
getpagesize
gettext
gettime
gitlog-to-changelog
hash
human
inttypes
lchown
localcharset
mkdtemp
modechange
obstack
openat
priv-set
progname
quote
quotearg
readlinkat
rpmatch
safe-read
save-cwd
savedir
setenv
snprintf
stat-time
stdbool
stdint
stpcpy
strdup-posix
strerror
strtol
strtoul
timespec
unlinkdir
unlocked-io
utimensat
version-etc-fsf
xalloc
xalloc-die
xgetcwd
xstrtoumax
xvasprintf