cp/mv: add xattr support
commit0889381cbfdbb4895e6b8693d14c0f5c77bc85bc
authorKamil Dudka <kdudka@redhat.com>
Fri, 23 Jan 2009 11:17:53 +0000 (23 12:17 +0100)
committerJim Meyering <meyering@redhat.com>
Thu, 29 Jan 2009 12:26:07 +0000 (29 13:26 +0100)
tree1c93168a0d0c7e5ff72df37c4b34607b0eb3aaea
parent1bdf77ad523fca6f3781f5614706246f20394a62
cp/mv: add xattr support

This patch was originally written by Andreas Grünbacher, nowadays
available at
http://www.suse.de/~agruen/coreutils/5.91/coreutils-xattr.diff

* bootstrap.conf: Add gnulib module verror.
* po/POTFILES.in: Add lib/verror.c.
* m4/xattr.m4: Check for libattr availability, new configure option
--disable-xattr.
* m4/prereq.m4: Require gl_FUNC_XATTR.
* src/Makefile.am: Link cp, mv and ginstall with libattr.
* src/copy.h: Add preserve_xattr and require_preserve_xattr to
cp_options.
* src/copy.c (copy_attr_error): New function to handle errors during
xattr copying.
(copy_attr_quote): New function to quote file name in error messages
printed by libattr.
(copy_attr_free): Empty function requested by libattr to free quoted
string.
(copy_attr_by_fd): New fd-oriented function to copy xattr.
(copy_attr_by_name): New name-oriented function to copy xattr.
(copy_reg, copy_internal): Call copy_extended_attributes function.
* src/cp.c (usage): Mention new --preserve=xattr option.
(decode_preserve_arg): Handle new --preserve=xattr option.
* src/mv.c: Always attempt to preserve xattr.
* src/install.c: Never attempt to preserve xattr.
* tests/misc/xattr: New test for xattr support in cp, mv and install.
* tests/Makefile.am: Add the new test to list.
* doc/coreutils.texi: Mention xattr support, new --preserve=xattr
option.
* NEWS: Mention the change.
14 files changed:
NEWS
bootstrap.conf
doc/coreutils.texi
m4/prereq.m4
m4/xattr.m4 [new file with mode: 0644]
po/POTFILES.in
src/Makefile.am
src/copy.c
src/copy.h
src/cp.c
src/install.c
src/mv.c
tests/Makefile.am
tests/misc/xattr [new file with mode: 0755]