diff --git a/_makenames-build.patch b/_makenames-build.patch new file mode 100644 index 0000000..460de75 --- /dev/null +++ b/_makenames-build.patch @@ -0,0 +1,13 @@ +diff --git a/libcap/Makefile b/libcap/Makefile +index f0eb87e..e90a950 100644 +--- a/libcap/Makefile ++++ b/libcap/Makefile +@@ -80,7 +80,7 @@ $(PSXTITLE).pc: $(PSXTITLE).pc.in + $< >$@ + + _makenames: _makenames.c cap_names.list.h +- $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@ $(BUILD_LDFLAGS) ++ $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@ + + cap_names.h: _makenames + ./_makenames > cap_names.h diff --git a/gating.yaml b/gating.yaml index fba44d0..3738107 100644 --- a/gating.yaml +++ b/gating.yaml @@ -4,7 +4,6 @@ product_versions: decision_context: bodhi_update_push_testing subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} @@ -14,7 +13,6 @@ product_versions: decision_context: bodhi_update_push_stable subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/libcap.spec b/libcap.spec index b8ab0a9..3476fd1 100644 --- a/libcap.spec +++ b/libcap.spec @@ -1,6 +1,6 @@ Name: libcap -Version: 2.69 -Release: 4%{?dist} +Version: 2.77 +Release: 1%{?dist} Summary: Library for getting and setting POSIX.1e capabilities URL: https://sites.google.com/site/fullycapable/ License: BSD-3-Clause OR GPL-2.0-only @@ -8,6 +8,7 @@ License: BSD-3-Clause OR GPL-2.0-only Source0: https://mirrors.edge.kernel.org/pub/linux/libs/security/linux-privs/libcap2/%{name}-%{version}.tar.gz Source1: https://mirrors.edge.kernel.org/pub/linux/libs/security/linux-privs/libcap2/%{name}-%{version}.tar.sign Source2: https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/plain/keys/29EE848AE2CCF3F4.asc +Patch0: _makenames-build.patch BuildRequires: pam-devel gcc BuildRequires: make @@ -15,7 +16,14 @@ BuildRequires: glibc-static BuildRequires: gnupg2 %ifarch %{golang_arches} -BuildRequires: golang >= 1.11 +BuildRequires: golang >= 1.22 +%endif + +%if "%{_sbindir}" == "%{_bindir}" +# Compat symlinks for Requires in other packages. +# We rely on filesystem to create the symlinks for us. +Requires: filesystem(unmerged-sbin-symlinks) +Provides: /usr/sbin/setcap %endif %description @@ -62,15 +70,15 @@ gzip -cd %{SOURCE0} | %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1 %build -%make_build prefix=%{_prefix} lib=%{_lib} GO_BUILD_FLAGS="-ldflags=-linkmode=external" all +%make_build prefix=%{_prefix} lib=%{_lib} SBINDIR=%{_sbindir} CGO_REQUIRED=1 CGO_CFLAGS="${CFLAGS}" CGO_LDFLAGS="${LDFLAGS}" GO_BUILD_FLAGS="-buildmode=pie -a -v -x -ldflags='-compressdwarf=false -B gobuildid'" all %check make test %install -%make_install prefix=%{_prefix} lib=%{_lib} GO_BUILD_FLAGS="-ldflags=-linkmode=external" +%make_install prefix=%{_prefix} lib=%{_lib} SBINDIR=%{_sbindir} CGO_REQUIRED=1 CGO_CFLAGS="${CFLAGS}" CGO_LDFLAGS="${LDFLAGS}" GO_BUILD_FLAGS="-buildmode=pie -ldflags='-compressdwarf=false -B gobuildid'" -mkdir -p %{buildroot}/%{_mandir}/man{2,3,8} +mkdir -p %{buildroot}/%{_mandir}/man{2,3,5,8} mv -f doc/*.3 %{buildroot}/%{_mandir}/man3/ chmod +x %{buildroot}/%{_libdir}/*.so.* @@ -84,7 +92,9 @@ chmod +x %{buildroot}/%{_libdir}/*.so.* %{_libdir}/libpsx.so.2{,.*} %{_sbindir}/{capsh,getcap,getpcaps,setcap} %{_mandir}/man1/capsh.1* -%{_mandir}/man8/{getcap,getpcaps,setcap}.8* +%{_mandir}/man5/capability.conf.5* +%{_mandir}/man7/cap_text_formats.7* +%{_mandir}/man8/{getcap,getpcaps,setcap,pam_cap}.8* %{_libdir}/security/pam_cap.so %exclude %{_mandir}/man8/captree.8* @@ -112,6 +122,61 @@ chmod +x %{buildroot}/%{_libdir}/*.so.* %endif %changelog +* Tue Oct 28 2025 Carlos Rodriguez-Fernandez - 2.77-1 +- Update to version 2.77 (rhbz#2406446) + +* Fri Oct 10 2025 Alejandro Sáez - 2.76-4 +- rebuild + +* Fri Aug 15 2025 Maxwell G - 2.76-3 +- Rebuild for golang-1.25.0 + +* Thu Jul 24 2025 Fedora Release Engineering - 2.76-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + + +* Mon Apr 14 2025 Carlos Rodriguez-Fernandez - 2.76-1 +- Update to version 2.76 (rhbz#2349318, rhbz#2352529) + +* Fri Jan 24 2025 Carlos Rodriguez-Fernandez - 2.73-2 +- Update internal CI tests + +* Fri Jan 24 2025 Carlos Rodriguez-Fernandez - 2.73-1 +- Update to version 2.73 (rhbz#2340722) + +* Fri Jan 17 2025 Fedora Release Engineering - 2.71-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 2.71-2 +- Rebuilt for the bin-sbin merge (2nd attempt) + +* Mon Oct 28 2024 Carlos Rodriguez-Fernandez - 2.71-1 +- Update to version 2.71 + +* Thu Jul 18 2024 Fedora Release Engineering - 2.70-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 2.70-3 +- Rebuilt for the bin-sbin merge + +* Tue Jun 04 2024 Anderson Toshiyuki Sasaki - 2.70-2 +- Set CGO_CFLAGS=$CFLAGS and CGO_LDFLAGS=$LDFLAGS to build Go code + +* Mon May 20 2024 Carlos Rodriguez-Fernandez - 2.70-1 +- Update to version 2.70 + +* Fri Apr 05 2024 Carlos Rodriguez-Fernandez - 2.69-8 +- Make correction to the capability.conf manpage + +* Fri Apr 05 2024 Carlos Rodriguez-Fernandez - 2.69-7 +- Reenable PIE in the captree tool + +* Thu Apr 04 2024 Carlos Rodriguez-Fernandez - 2.69-6 +- Fix incompatibility of the build with go 1.22. + +* Wed Apr 03 2024 Carlos Rodriguez-Fernandez - 2.69-5 +- Add manpages for pam_cap and capability.conf + * Sun Feb 11 2024 Maxwell G - 2.69-4 - Rebuild for golang 1.22.0 diff --git a/sources b/sources index 7857c6f..3dbe9ea 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (libcap-2.69.tar.gz) = 75ee0fe8e1ac835f29cb76d233f731dcf126b73eed5229a130bbe4308a42441934d4e9cefeaaab45f774de2ed6859c752fbbfb9908e792f2f9f3d0f841e01aee -SHA512 (libcap-2.69.tar.sign) = 00f323444463b020c999f6fab255a61bd719f8d0ec1b619352e4f1b13407acee9a8e176861e5b408f64a871dc4095c6a26af541c3a0d4efca364c2d4b3679d30 +SHA512 (libcap-2.77.tar.gz) = e5471afc4f149a8330e6df07effe58cac44d8a773b1fff0686e7039c41888e33402e1942fe5271a142e159a6088abbdbb7a82133389b3a9351749c2bf797b6b8 +SHA512 (libcap-2.77.tar.sign) = c362eefb80bbc110b7d7c676cc2b37e04bd3dab1b8b4577d62a0774b6300258743156c57102e8dc11c35d2ea876053dc57eae44197137273413b959df33ef0c0 diff --git a/tests/manpages/test.sh b/tests/manpages/test.sh index f9b20ac..db05935 100755 --- a/tests/manpages/test.sh +++ b/tests/manpages/test.sh @@ -5,9 +5,11 @@ expected_manpages=( 'capsh(1)' 'libcap(3)' # there are many more but if these are present then it verifies it because of the glob install 'libpsx(3)' + 'capability.conf(5)' 'getcap(8)' 'getpcaps(8)' 'setcap(8)' + 'pam_cap(8)' ) rlJournalStart diff --git a/tests/pkg-configs/test.sh b/tests/pkg-configs/test.sh index 45f98a4..cc28259 100755 --- a/tests/pkg-configs/test.sh +++ b/tests/pkg-configs/test.sh @@ -26,7 +26,7 @@ rlJournalStart rlRun "rpm -ql libcap-devel | grep libpsx.pc" 0 "There must be libpsx.pc" if [ $? -eq 0 ]; then PCFILE=$(rpm -ql libcap-devel | grep libpsx.pc) - rlRun "pkg-config --libs libpsx | grep -- '-lpsx -lpthread -Wl,-wrap,pthread_create'" + rlRun "pkg-config --libs libpsx | grep -- '-lpsx'" VER=$(awk '/Version:/ { print $2 }' $PCFILE | tail -1) rlRun "pkg-config --modversion libpsx | grep $VER" rlRun -s "pkg-config --print-variables libpsx"