]> git.pld-linux.org Git - packages/libcap.git/blobdiff - libcap.spec
up to 2.58
[packages/libcap.git] / libcap.spec
index 9b33b9f0fb3062dfb2c9c7599dc4b4b85b0dd9d2..f4813973f57ba610e804253bf232a35cda4b1614 100644 (file)
@@ -1,19 +1,28 @@
+#
+# Conditional build:
+%bcond_with    golang  # Go components (nothing useful yet?)
+
+%ifnarch %{ix86} %{x8664} %{arm} aarch64 mips64 mips64le ppc64le
+%undefine      with_golang
+%endif
 Summary:       POSIX.1e capability suite
 Summary(pl.UTF-8):     Wsparcie dla standardu "capability" POSIX.1e
 Summary(pt_BR.UTF-8):  Biblioteca para leitura e configuração de capabilities.
 Name:          libcap
-Version:       2.16
-Release:       2
+Version:       2.58
+Release:       1
 Epoch:         1
-License:       GPL or BSD
+License:       GPL v2 or BSD
 Group:         Applications/System
-Source0:       ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2/%{name}-%{version}.tar.gz
-# Source0-md5: 9e075fda242c4070ba76407064c13302
-Patch0:                %{name}-make.patch
-Patch1:                %{name}-vserver.patch
-URL:           http://sites.google.com/site/fullycapable/
+Source0:       https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/%{name}-%{version}.tar.xz
+# Source0-md5: 09b7b62c7b69f9a58098efa7b1d34f64
+URL:           https://sites.google.com/site/fullycapable/
 BuildRequires: attr-devel
+%{?with_golang:BuildRequires:  golang}
 BuildRequires: pam-devel
+BuildRequires: perl-base
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -85,38 +94,40 @@ Moduł PAM capability wymuszający dziedziczone zbiory uprawnień.
 
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
 
 %build
-%{__make} \
+LDFLAGS="%{rpmldflags}" \
+%{__make} -j1 \
        CC="%{__cc}" \
-       OPT_CFLAGS="-Iinclude %{rpmcflags}" \
+       COPTS="%{rpmcflags} %{rpmcppflags}" \
+       BUILD_CC="%{__cc}" \
+       BUILD_COPTS="%{rpmcflags} %{rpmcppflags}" \
        DEBUG= \
-       OPT_LDFLAGS="%{rpmldflags}" \
-       LDLIBS="-L../libcap -lcap"
+       %{!?with_golang:GOLANG=0}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
+%{__make} -j1 install \
        FAKEROOT=$RPM_BUILD_ROOT \
+       %{!?with_golang:GOLANG=0} \
+       PKGCONFIGDIR=%{_pkgconfigdir} \
+       RAISE_SETFCAP=no \
        lib=%{_lib}
 
 install -d $RPM_BUILD_ROOT/%{_lib}/security
-install pam_cap/pam_cap.so $RPM_BUILD_ROOT/%{_lib}/security
+install -p pam_cap/pam_cap.so $RPM_BUILD_ROOT/%{_lib}/security
 install -d $RPM_BUILD_ROOT/etc/security
-install pam_cap/capability.conf $RPM_BUILD_ROOT/etc/security
+cp -a pam_cap/capability.conf $RPM_BUILD_ROOT/etc/security
 
 install -d $RPM_BUILD_ROOT%{_libdir}
-install libcap/libcap.a $RPM_BUILD_ROOT%{_libdir}
-ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcap.so.*.*) \
-       $RPM_BUILD_ROOT%{_libdir}/libcap.so
-rm $RPM_BUILD_ROOT/%{_lib}/libcap.so
-
-# newer versions exist in man-pages
-# and these syscalls are specific to Linux/glibc, not libcap
-rm -f $RPM_BUILD_ROOT%{_mandir}/man2/cap{get,set}.2
+for libname in libcap libpsx ; do
+       ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${libname}.so.*.*) \
+               $RPM_BUILD_ROOT%{_libdir}/${libname}.so
+       %{__rm} $RPM_BUILD_ROOT/%{_lib}/${libname}.so
+       %{__mv} $RPM_BUILD_ROOT/%{_lib}/${libname}.a $RPM_BUILD_ROOT%{_libdir}
+done
+chmod a+x $RPM_BUILD_ROOT/%{_lib}/*.so*
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -130,30 +141,49 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_sbindir}/capsh
 %attr(755,root,root) %{_sbindir}/getcap
 %attr(755,root,root) %{_sbindir}/getpcaps
+# TODO: cap_setfcap=i
 %attr(755,root,root) %{_sbindir}/setcap
+%{_mandir}/man1/capsh.1*
+%{_mandir}/man8/captree.8*
 %{_mandir}/man8/getcap.8*
+%{_mandir}/man8/getpcaps.8*
 %{_mandir}/man8/setcap.8*
 
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/libcap.so.*.*
 %attr(755,root,root) %ghost /%{_lib}/libcap.so.2
+%attr(755,root,root) /%{_lib}/libpsx.so.*.*
+%attr(755,root,root) %ghost /%{_lib}/libpsx.so.2
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libcap.so
+%attr(755,root,root) %{_libdir}/libpsx.so
 %{_includedir}/sys/capability.h
+%{_includedir}/sys/psx_syscall.h
+%{_pkgconfigdir}/libcap.pc
+%{_pkgconfigdir}/libpsx.pc
 %{_mandir}/man3/libcap*.3*
-%{_mandir}/man3/cap_*
+%{_mandir}/man3/libpsx*.3*
+%{_mandir}/man3/cap_*.3*
 %{_mandir}/man3/capgetp.3*
 %{_mandir}/man3/capsetp.3*
+%{_mandir}/man3/psx_*.3*
 
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libcap.a
+%{_libdir}/libpsx.a
 
 %files -n pam-pam_cap
 %defattr(644,root,root,755)
 %doc pam_cap/License
 %attr(755,root,root) /%{_lib}/security/pam_cap.so
 %config(noreplace) %verify(not md5 mtime size) /etc/security/capability.conf
+
+# TODO: golang - where?
+# installs under
+#%{_datadir}/gocode/src/kernel.org/pub/linux/libs/security/libcap
+# or should we use
+#%{_libdir}/golang/src/libcap
This page took 0.069321 seconds and 4 git commands to generate.