3
0
forked from pool/libcap-ng
libcap-ng/libcap-ng.spec

147 lines
4.5 KiB
RPMSpec

%{!?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