cvsdist e75a73
Summary: Utilities for managing filesystem extended attributes.
cvsdist e75a73
Name: attr
cvsdist e75a73
Version: 2.0.8
cvsdist fb23aa
Release: 3
cvsdist e75a73
Prereq: /sbin/ldconfig
cvsdist e75a73
Conflicts: xfsdump < 2.0.0
cvsdist e75a73
BuildRoot: %{_tmppath}/%{name}-root
cvsdist e75a73
Source: attr-2.0.8.src.tar.gz
cvsdist e75a73
Patch1: attr-2.0.8-docperms.patch
cvsdist e75a73
License: GPL
cvsdist e75a73
URL: http://acl.bestbits.at/
cvsdist e75a73
Group: System Environment/Base
cvsdist e75a73
cvsdist e75a73
%description
cvsdist e75a73
A set of tools for manipulating extended attributes on filesystem
cvsdist e75a73
objects, in particular getfattr(1) and setfattr(1).
cvsdist e75a73
An attr(1) command is also provided which is largely compatible
cvsdist e75a73
with the SGI IRIX tool of the same name.
cvsdist e75a73
cvsdist e75a73
%package -n libattr
cvsdist e75a73
Summary: Dynamic library for extended attribute support.
cvsdist e75a73
Group: System Environment/Libraries
cvsdist e75a73
License: LGPL
cvsdist e75a73
Prereq: /sbin/ldconfig
cvsdist e75a73
cvsdist e75a73
%description -n libattr
cvsdist e75a73
This package contains the libattr.so dynamic library which contains
cvsdist e75a73
the extended attribute system calls and library functions.
cvsdist e75a73
cvsdist e75a73
%package -n libattr-devel
cvsdist e75a73
Summary: Extended attribute static libraries and headers.
cvsdist e75a73
Group: Development/Libraries
cvsdist e75a73
License: LGPL
cvsdist e75a73
Requires: libattr
cvsdist e75a73
cvsdist e75a73
%description -n libattr-devel
cvsdist e75a73
This package contains the libraries and header files needed to
cvsdist e75a73
develop programs which make use of extended attributes.
cvsdist e75a73
For Linux programs, the documented system call API is the
cvsdist e75a73
recommended interface, but an SGI IRIX compatibility interface
cvsdist e75a73
is also provided.
cvsdist e75a73
cvsdist e75a73
Currently only ext2, ext3 and XFS support extended attributes.
cvsdist e75a73
The SGI IRIX compatibility API built above the Linux system calls is
cvsdist e75a73
used by programs such as xfsdump(8), xfsrestore(8) and xfs_fsr(8).
cvsdist e75a73
cvsdist e75a73
You should install libattr-devel if you want to develop programs
cvsdist e75a73
which make use of extended attributes.  If you install libattr-devel,
cvsdist e75a73
you'll also want to install attr.
cvsdist e75a73
cvsdist e75a73
%prep
cvsdist e75a73
%setup
cvsdist e75a73
# We need to turn off executable permissions on the script in %doc
cvsdist e75a73
# because we don't want to drag perl into the base.  Users advanced
cvsdist e75a73
# enough to have used ACLs before they were added to the distro can
cvsdist e75a73
# figure out how to chmod and how to install perl.  :-)
cvsdist e75a73
%patch1 -p1 -b .perms
cvsdist e75a73
cvsdist e75a73
%build
cvsdist fb23aa
touch .census
cvsdist fb23aa
./configure
cvsdist e75a73
make
cvsdist e75a73
cvsdist e75a73
%install
cvsdist e75a73
DIST_ROOT="$RPM_BUILD_ROOT"
cvsdist e75a73
DIST_INSTALL=`pwd`/install.manifest
cvsdist e75a73
DIST_INSTALL_DEV=`pwd`/install-dev.manifest
cvsdist e75a73
DIST_INSTALL_LIB=`pwd`/install-lib.manifest
cvsdist e75a73
export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV DIST_INSTALL_LIB
cvsdist e75a73
make install DIST_MANIFEST="$DIST_INSTALL"
cvsdist e75a73
make install-dev DIST_MANIFEST="$DIST_INSTALL_DEV"
cvsdist e75a73
make install-lib DIST_MANIFEST="$DIST_INSTALL_LIB"
cvsdist e75a73
files()
cvsdist e75a73
{
cvsdist e75a73
	sort | uniq | awk ' 
cvsdist fb23aa
$1 == "d" { 
cvsdist fb23aa
	    if (match ($6, "/usr/include/attr"))
cvsdist fb23aa
		printf ("%%%%dir %%%%attr(%s,%s,%s) %s\n", $2, $3, $4, $5); } 
cvsdist e75a73
$1 == "f" { if (match ($6, "/usr/share/man") || match ($6, "/usr/share/doc/attr"))
cvsdist e75a73
		printf ("%%%%doc ");
cvsdist e75a73
	    if (match ($6, "/usr/share/man"))
cvsdist e75a73
		printf ("%%%%attr(%s,%s,%s) %s*\n", $2, $3, $4, $6);
cvsdist e75a73
	    else
cvsdist e75a73
		printf ("%%%%attr(%s,%s,%s) %s\n", $2, $3, $4, $6); }
cvsdist e75a73
$1 == "l" { if (match ($3, "/usr/share/man") || match ($3, "/usr/share/doc/attr"))
cvsdist e75a73
		printf ("%%%%doc ");
cvsdist e75a73
	    if (match ($3, "/usr/share/man"))
cvsdist e75a73
		printf ("%attr(0777,root,root) %s*\n", $3);
cvsdist e75a73
	    else
cvsdist e75a73
		printf ("%attr(0777,root,root) %s\n", $3); }'
cvsdist e75a73
}
cvsdist e75a73
set +x
cvsdist e75a73
files < "$DIST_INSTALL" > files.rpm
cvsdist e75a73
files < "$DIST_INSTALL_DEV" > filesdevel.rpm
cvsdist e75a73
files < "$DIST_INSTALL_LIB" > fileslib.rpm
cvsdist e75a73
set -x
cvsdist e75a73
cvsdist e75a73
%clean
cvsdist e75a73
[ "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
cvsdist e75a73
cvsdist e75a73
%post -n libattr -p /sbin/ldconfig
cvsdist e75a73
cvsdist e75a73
%postun -n libattr -p /sbin/ldconfig
cvsdist e75a73
cvsdist e75a73
%files -f files.rpm
cvsdist e75a73
cvsdist e75a73
%files -n libattr-devel -f filesdevel.rpm
cvsdist e75a73
cvsdist e75a73
%files -n libattr -f fileslib.rpm
cvsdist e75a73
cvsdist e75a73
%changelog
cvsdist fb23aa
* Thu Aug 08 2002 Michael K. Johnson <johnsonm@redhat.com> 2.0.8-3
cvsdist fb23aa
- Made the package only own the one directory that is unique to it:
cvsdist fb23aa
  /usr/include/attr
cvsdist fb23aa
cvsdist fb23aa
* Wed Jun 26 2002 Michael K. Johnson <johnsonm@redhat.com> 2.0.8-2
cvsdist e75a73
- get perl out of base with attr-2.0.8-docperms.patch
cvsdist e75a73
cvsdist e75a73
* Mon Jun 24 2002 Michael K. Johnson <johnsonm@redhat.com> 2.0.8-1
cvsdist e75a73
- Initial Red Hat package
cvsdist e75a73
  Made as few changes as possible relative to upstream packaging to
cvsdist e75a73
  make it easier to maintain long-term.  This means that some of
cvsdist e75a73
  the techniques used here are definitely not standard Red Hat
cvsdist e75a73
  techniques.  If you are looking for an example package to fit
cvsdist e75a73
  into Red Hat Linux transparently, this would not be the one to
cvsdist e75a73
  pick.
cvsdist e75a73
- attr-devel -> libattr-devel