]> git.pld-linux.org Git - packages/libcap.git/blobdiff - libcap.spec
up to 2.69 (fixes CVE-2023-2602 CVE-2023-2603)
[packages/libcap.git] / libcap.spec
index 6d4085976815a4ae080868e97663ed55c79ecc5d..36f595d11f1ed3529de56f553f3f304c1402af24 100644 (file)
+#
+# 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):   Wsparcie dla standardu POSIX.1e
+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:       1.92
+Version:       2.69
 Release:       1
-License:       BSD or GNU GPL
-Group:         Utilities/System
-Group(pl):     Narzêdzia/System
-Source0:       ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.2/%{name}-%{version}.tar.gz
-Patch0:                libcap-1.92-make.patch
-Icon:          libcap.gif
-URL:           http://linux.kernel.org/pub/linux/libs/security/linux-privs/
+Epoch:         1
+License:       GPL v2 or BSD
+Group:         Applications/System
+Source0:       https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/%{name}-%{version}.tar.xz
+# Source0-md5: 4667bacb837f9ac4adb4a1a0266f4b65
+URL:           https://sites.google.com/site/fullycapable/
+BuildRequires: attr-devel
+%{?with_golang:BuildRequires:  golang}
+BuildRequires: pam-devel
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                _sbindir                /sbin
+
 %description
 The POSIX.1e capability library for Linux. This package contains the
 getcap and setcap binaries and manual pages.
 
-%description -l pl
-Biblioteka, programy oraz strony manuala zawieraj±ce implementacje
-standardu POSIX.1e.
+%description -l pl.UTF-8
+Biblioteka, programy oraz strony manuala zawierające implementację
+"capability" standardu POSIX.1e.
+
+%description -l pt_BR.UTF-8
+Biblioteca para leitura e configuração de capabilities.
+
+%package libs
+Summary:       libcap library
+Summary(pl.UTF-8):     Biblioteka libcap
+Group:         Libraries
+Conflicts:     libcap < 1:2.16-2
+
+%description libs
+libcap library.
+
+%description libs -l pl.UTF-8
+Biblioteka libcap.
 
 %package devel
 Summary:       Header files and development documentation for libcap
-Summary(pl):   Pliki nag³ówkowe i dokumentacja do libcap
+Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja do libcap
+Summary(pt_BR.UTF-8):  Arquivos de desenvolvimento para capabilities
 Group:         Development/Libraries
-Group(fr):     Development/Librairies
-Group(pl):     Programowanie/Biblioteki
-Requires:      %{name} = %{version}
+Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 
 %description devel
 Header files and development documentation for libcap.
 
-%description -l pl devel
-Pliki nag³ówkowe i dokumentacja do libcap.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja do libcap.
+
+%description devel -l pt_BR.UTF-8
+Arquivos de desenvolvimento para capabilities.
+
+%package static
+Summary:       Static libcap library
+Summary(pl.UTF-8):     Statyczna biblioteka libcap
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
+
+%description static
+Static libcap library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka libcap.
+
+%package -n pam-pam_cap
+Summary:       Capability module for PAM
+Summary(pl.UTF-8):     Moduł PAM capability
+Group:         Libraries
+Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
+Requires:      pam
+
+%description -n pam-pam_cap
+PAM capability module enforces inheritable capability sets.
+
+%description -n pam-pam_cap -l pl.UTF-8
+Moduł PAM capability wymuszający dziedziczone zbiory uprawnień.
 
 %prep
 %setup -q
-%patch -p1
 
 %build
-make "COPTFLAGS=$RPM_OPT_FLAGS"
+LDFLAGS="%{rpmldflags}" \
+%{__make} -j1 \
+       CC="%{__cc}" \
+       COPTS="%{rpmcflags} %{rpmcppflags}" \
+       BUILD_CC="%{__cc}" \
+       BUILD_COPTS="%{rpmcflags} %{rpmcppflags}" \
+       DEBUG= \
+       %{!?with_golang:GOLANG=0}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-make install \
+%{__make} -j1 install \
        FAKEROOT=$RPM_BUILD_ROOT \
-       MANDIR=$RPM_BUILD_ROOT%{_mandir}
-
-gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man*/* README 
+       %{!?with_golang:GOLANG=0} \
+       PKGCONFIGDIR=%{_pkgconfigdir} \
+       RAISE_SETFCAP=no \
+       lib=%{_lib}
 
-strip --strip-unneeded $RPM_BUILD_ROOT/lib/lib*so.*.*
+install -d $RPM_BUILD_ROOT/%{_lib}/security
+install -p pam_cap/pam_cap.so $RPM_BUILD_ROOT/%{_lib}/security
+install -d $RPM_BUILD_ROOT/etc/security
+cp -a pam_cap/capability.conf $RPM_BUILD_ROOT/etc/security
 
-%post   -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+install -d $RPM_BUILD_ROOT%{_libdir}
+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
 
+%post   libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) /lib/lib*.so.*.*
-%attr(755,root,root) /sbin/*
-%{_mandir}/man8/*
+%doc CHANGELOG License README
+%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)
-%doc README.gz
-%attr(755,root,root) /lib/lib*.so
-%{_mandir}/man[23]/*
+%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/__psx_syscall.3*
+%{_mandir}/man3/libcap*.3*
+%{_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.482613 seconds and 4 git commands to generate.