Provide sys/xattr.h

Yaakov (Cygwin/X) yselkowitz@users.sourceforge.net
Tue Mar 29 07:43:00 GMT 2011


Historically, the *xattr functions were first provided by SGI libattr
and prototyped in <attr/xattr.h>.  Later, glibc added them under
<sys/xattr.h>[1], and (on Linux) libattr still provides the symbols for
ABI compatibility but they are now just wrappers.

(FWIW, Darwin also provides these symbols in <sys/xattr.h>[2].)

This can be seen very clearly in GLib's configure[3], where
<sys/xattr.h> and libc are tested in tandem, followed by <attr/xattr.h>
and libattr.  Hence, with only attr/xattr.h present, libattr-devel is
required not only for building GLib, but the -lattr becomes hardcoded in
the libtool .la files, meaning that libglib2.0-devel would require
libattr-devel even though GLib requires no symbols from libattr1.

I see two ways to resolve this:

1) Move include/attr/xattr.h to include/sys/xattr.h, and ship libattr's
attr/xattr.h in libattr-devel, exactly as is done on Linux:

2011-03-29  Yaakov Selkowitz <yselkowitz@...>

	* include/attr/xattr.h: Move from here...
	* include/sys/xattr.h: ...to here.

2) Install a copy of include/attr/xattr.h as <sys/xattr.h>, as in the
attached patch.


Yaakov

[1] http://packages.debian.org/sid/i386/libc6-dev/filelist
[2] http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/getxattr.2.html
[3] http://git.gnome.org/browse/glib/tree/configure.ac#n1710

-------------- next part --------------
A non-text attachment was scrubbed...
Name: include-sys-xattr.patch
Type: text/x-patch
Size: 792 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20110329/588f12a0/attachment.bin>


More information about the Cygwin-patches mailing list