%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} Summary: An alternate POSIX capabilities library Name: libcap-ng Version: 0.6.5 %define soname 0 %define rname libcap-ng Release: 0 License: LGPLv2+ Group: System/Libraries URL: http://people.redhat.com/sgrubb/libcap-ng # http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-%{version}.tar.gz Source0: libcap-ng-%{version}.tar.bz2 Source1: pre_checkin.sh Source2: baselibs.conf Source99: libcap-ng.rpmlintrc BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: kernel-headers >= 2.6.11 BuildRequires: libattr-devel pkg-config python-base %description Libcap-ng is a library that makes using posix capabilities easier %if "%{name}" == "%{rname}" %package -n %{name}%{soname} Summary: An alternate POSIX capabilities library License: LGPLv2+ Group: System/Libraries %description -n %{name}%{soname} Libcap-ng is a library that makes using posix capabilities easier %package devel Summary: Header files for libcap-ng library License: LGPLv2+ Group: Development/Libraries/C and C++ Requires: kernel-headers >= 2.6.11 Requires: %{name}%{soname} = %{version} Requires: pkgconfig %description devel The libcap-ng-devel package contains the files needed for developing applications that need to use the libcap-ng library. %package utils Summary: Utilities for analysing and setting file capabilities License: GPLv2+ Group: System/Base %description utils The libcap-ng-utils package contains applications to analyse the posix capabilities of all the program running on a system. It also lets you set the file system based capabilities. %else %package -n python-capng Summary: Python bindings for libcap-ng library License: LGPLv2+ Group: Development/Libraries/Python BuildRequires: python-devel swig Requires: %{name}%{soname} = %{version} %py_requires %description -n python-capng The libcap-ng-python package contains the bindings so that libcap-ng and can be used by python applications. %endif %prep %setup -q -n %{rname}-%{version} %build %configure --libdir="/%{_lib}" %__make %{?_smp_mflags} %install %__make DESTDIR="%{buildroot}" install # Move the symlink %__rm -f "%{buildroot}/%{_lib}/%{rname}.so" %__mkdir_p "%{buildroot}%{_libdir}" VLIBNAME=$(/bin/ls -1 "%{buildroot}/%{_lib}/%{rname}.so".*.*.*) [ -n "$VLIBNAME" ] || { echo "ERROR: failed to find %{buildroot}/%{_lib}/%{rname}.so.*.*.*" >&2; exit 1; } LIBNAME=$(basename "$VLIBNAME") %__ln_s "../../%{_lib}/$LIBNAME" "%{buildroot}%{_libdir}/%{rname}.so" # Move the pkgconfig file %__install -d "%{buildroot}%{_libdir}" %__mv "%{buildroot}/%{_lib}/pkgconfig" "%{buildroot}%{_libdir}/pkgconfig" # Remove a couple things so they don't get picked up %__rm -f "%{buildroot}/%{_lib}/%{rname}".{a,la} %__rm -f "%{buildroot}%{python_sitearch}/_capng".{a,la} %if "%{name}" == "%{rname}-python" %__rm -f %{buildroot}/%{_lib}/lib*.so* %__rm -f %{buildroot}/%{_libdir}/lib*.so* %__rm -rf %{buildroot}/%{_libdir}/pkgconfig %__rm -rf %{buildroot}/%{_bindir} %__rm -rf %{buildroot}/%{_mandir} %__rm -rf %{buildroot}/%{_includedir} %__rm -rf %{buildroot}/%{_datadir}/aclocal %endif %clean %{?buildroot:%__rm -rf "%{buildroot}"} %if "%{name}" == "%{rname}" %post -n %{name}%{soname} -p /sbin/ldconfig %postun -n %{name}%{soname} -p /sbin/ldconfig %files -n %{name}%{soname} %defattr(-,root,root,-) %doc COPYING.LIB %attr(0755,root,root) /%{_lib}/%{rname}.so.%{soname} %attr(0755,root,root) /%{_lib}/%{rname}.so.%{soname}.* %files devel %defattr(-,root,root,-) %attr(0644,root,root) %{_mandir}/man3/*.3%{ext_man} %attr(0644,root,root) %{_includedir}/cap-ng.h %attr(0755,root,root) %{_libdir}/%{rname}.so %attr(0644,root,root) %{_datadir}/aclocal/cap-ng.m4 %{_libdir}/pkgconfig/%{rname}.pc %files utils %defattr(-,root,root,-) %doc COPYING %attr(0755,root,root) %{_bindir}/captest %attr(0755,root,root) %{_bindir}/filecap %attr(0755,root,root) %{_bindir}/netcap %attr(0755,root,root) %{_bindir}/pscap %attr(0644,root,root) %{_mandir}/man8/*.8%{ext_man} %else %files -n python-capng %defattr(-,root,root,-) %attr(755,root,root) %{python_sitearch}/_capng.so %{python_sitearch}/capng.py* %endif %changelog