This afternoon I sat down and polished up the extended attribute library I have been working on for a while. You can find the code and readme on Github.
https://github.com/davecheney/xattr
This has been tested on linux (should work under 5g, 6g and 8g) and darwin (tested under Snow Leopard).
Installation
goinstall github.com/davecheney/xattr
Documentation
godoc github.com/davecheney/xattr
Usage
A example program is provided with the source. The simplest way to compile and install it is
make -C $GOROOT/src/pkg/github.com/davecheney/xattr/example clean install
This will install it to your $GOBIN directory. If you have trouble running this example, make sure there isn’t another xattr somewhere higher in your $PATH.
Before you start
All extended attributes need a file to be associated with. In this example I’m going to create an empty file in my home directory.
touch ~/testfile
Setting an attribute
% $GOBIN/xattr -w username dave ~/testfile
Listing known attributes
% $GOBIN/xattr ~/testfile username
Printing attribute values
% $GOBIN/xattr -p username ~/testfile dave
Listing names and values
% $GOBIN/xattr -l ~/testfile username: dave