%global commit 1103c6a68daa7cbfb3e099a51770dd3db7a0dfa4 Name: richacl Summary: Rich Access Control List utilities Version: 1.5 Release: 2%{?dist} Requires: librichacl%{?_isa} = %{version}-%{release} BuildRequires: autoconf automake libtool BuildRequires: libattr-devel Source: https://github.com/andreas-gruenbacher/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz License: GPLv2+ Group: System Environment/Base URL: https://github.com/andreas-gruenbacher/richacl %description The getrichacl and setrichacl utilities allow to manage Rich Access Control Lists (richacls) from the command line. Richacls are an implementation of NFSv4 ACLs which has been extended by file masks to better fit the standard POSIX file permission model. They provide a consistent file permission model locally as well as over various remote file system protocols like NFSv4 and CIFS/Samba. %package -n librichacl Summary: Dynamic library for Rich Access Control List support License: LGPLv2 Group: System Environment/Libraries Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig %description -n librichacl The librichacl.so dynamic library provides functions for manipulating Rich Access Control Lists and for converting between their different representations. %package -n librichacl-devel Summary: Files needed for building programs with librichacl License: LGPLv2 Group: Development/Libraries Requires: librichacl%{?_isa} = %{version}-%{release} Requires: libattr-devel%{?_isa} # Required because of the directories those packages contain: Requires: pkgconfig%{?_isa}, glibc-headers%{?_isa} %description -n librichacl-devel Header files and documentation needed to develop programs which make use of the Rich Access Control List programming interface. %prep %setup -qn %{name}-%{commit} # Upstream, the version is determined by git tags. There is no information # about tags in the github snapshot though; we have to fill in the version # manually: echo %{version} > .tarball-version %build autoreconf -vi %configure make %{?_smp_mflags} %check if ./src/setrichacl --modify `whoami`:rwpCo::allow .; then make tests || exit $? if test 0 = `id -u`; then make root-tests || exit $? fi else echo '*** Richacls are probably not supported by the file system,' \ 'the test-suite will NOT run ***' fi %install make install DESTDIR=%{buildroot} ## get rid of librichacl.a and librichacl.la rm -f %{buildroot}%{_libdir}/librichacl.a rm -f %{buildroot}%{_libdir}/librichacl.la # drop already installed documentation, we will use an RPM macro to install it #rm -rf %{buildroot}%{_docdir}/%{name}* %post -n librichacl -p /sbin/ldconfig %postun -n librichacl -p /sbin/ldconfig %files %license doc/COPYING-GPLv2 %{_bindir}/getrichacl %{_bindir}/setrichacl %files -n librichacl-devel %{_libdir}/librichacl.so %{_includedir}/sys/richacl.h %{_libdir}/pkgconfig/librichacl.pc %files -n librichacl %license doc/COPYING-LGPLv2 %{_libdir}/librichacl.so.* %changelog * Wed May 6 2015 Andreas Gruenbacher 1.5-2 - Switch to github snapshot + autotools in the package * Tue May 5 2015 Andreas Gruenbacher 1.5-1 - Update from upstream - Some minor spec file "beautification" * Mon May 4 2015 Andreas Gruenbacher 1.4-3 - Update from upstream * Wed Apr 29 2015 Andreas Gruenbacher 1.4-1 - Update to upstream version * Thu Mar 26 2015 Niels de Vos 1.3-1 - Initial packaging