X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=libcap.spec;h=f4813973f57ba610e804253bf232a35cda4b1614;hb=a097656b3d21be0af4ef96155b77bf982c57f63b;hp=9b33b9f0fb3062dfb2c9c7599dc4b4b85b0dd9d2;hpb=3b626146a40229e1c22d3ed1ac5b9165a1ffa5ec;p=packages%2Flibcap.git diff --git a/libcap.spec b/libcap.spec index 9b33b9f..f481397 100644 --- a/libcap.spec +++ b/libcap.spec @@ -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