diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 2a9684a..89f6d2c 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,9 @@ clog /rabbitmq-c-0.7.1-a536516.tar.gz /rabbitmq-c-0.8.0-caad0ef.tar.gz /rabbitmq-c-0.9.0-77e3805.tar.gz +/rabbitmq-c-0.10.0-ffe918a.tar.gz +/rabbitmq-c-0.11.0-a64c08c.tar.gz +/rabbitmq-c-0.12.0-675afc2.tar.gz +/rabbitmq-c-0.13.0-974d71a.tar.gz +/rabbitmq-c-0.14.0-124722b.tar.gz +/rabbitmq-c-0.15.0-84b81cd.tar.gz diff --git a/librabbitmq.spec b/librabbitmq.spec index e1128b7..deafdfa 100644 --- a/librabbitmq.spec +++ b/librabbitmq.spec @@ -1,13 +1,15 @@ # Fedora spec file for librabbitmq # -# Copyright (c) 2012-2018 Remi Collet -# License: CC-BY-SA +# Copyright (c) 2012-2024 Remi Collet +# License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # -%global gh_commit 77e3805d1662034339c3c19bcdaaa62a56c1fa7e +%bcond_without tests + +%global gh_commit 84b81cd97a1b5515d3d4b304796680da24c666d8 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner alanxz %global gh_project rabbitmq-c @@ -16,20 +18,22 @@ Name: %{libname} Summary: Client library for AMQP -Version: 0.9.0 -Release: 1%{?dist} +Version: 0.15.0 +Release: 3%{?dist} License: MIT URL: https://github.com/alanxz/rabbitmq-c Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz + BuildRequires: gcc -BuildRequires: cmake > 2.8 -BuildRequires: openssl-devel +BuildRequires: cmake >= 3.22 +BuildRequires: openssl-devel >= 1.1.1 # For tools -BuildRequires: popt-devel > 1.14 +BuildRequires: popt-devel >= 1.14 # For man page BuildRequires: xmlto +BuildRequires: make %description @@ -48,7 +52,7 @@ for %{name}. %package tools Summary: Example tools built using the librabbitmq package -Requires: %{name}%{?_isa} = %{version} +Requires: %{name}%{?_isa} = %{version}-%{release} %description tools This package contains example tools built using %{name}. @@ -74,37 +78,65 @@ sed -e '/test_basic/d' -i tests/CMakeLists.txt %build # static lib required for tests %cmake \ + -DBUILD_TOOLS:BOOL=ON \ -DBUILD_TOOLS_DOCS:BOOL=ON \ - -DBUILD_STATIC_LIBS:BOOL=ON +%if %{with tests} + -DINSTALL_STATIC_LIBS:BOOL=OFF \ +%else + -DBUILD_TESTING:BOOL=OFF \ + -DBUILD_STATIC_LIBS:BOOL=OFF \ +%endif + -S . +%if 0%{?cmake_build:1} +%cmake_build +%else make %{_smp_mflags} +%endif %install +%if 0%{?cmake_install:1} +%cmake_install +%else make install DESTDIR="%{buildroot}" - -rm %{buildroot}%{_libdir}/%{libname}.a +%endif %check : check .pc is usable grep @ %{buildroot}%{_libdir}/pkgconfig/librabbitmq.pc && exit 1 +grep %{version} %{buildroot}%{_libdir}/pkgconfig/librabbitmq.pc || exit 1 +: check cmake files are usable +grep static %{buildroot}%{_libdir}/cmake/rabbitmq-c/*.cmake && exit 1 + +%if %{with tests} : upstream tests +%if 0%{?ctest:1} +%ctest +%else make test +%endif +%else +: Tests disabled +%endif %files -%license LICENSE-MIT -%{_libdir}/%{libname}.so.%{soname}* +%license LICENSE +%{_libdir}/%{libname}.so.%{soname} +%{_libdir}/%{libname}.so.%{version} %files devel -%doc AUTHORS THANKS TODO *.md +%doc AUTHORS THANKS *.md %doc Examples %{_libdir}/%{libname}.so %{_includedir}/amqp* +%{_includedir}/rabbitmq-c %{_libdir}/pkgconfig/%{libname}.pc +%{_libdir}/cmake/rabbitmq-c %files tools %{_bindir}/amqp-* @@ -113,6 +145,94 @@ make test %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 0.15.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jan 20 2025 Fedora Release Engineering - 0.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Nov 21 2024 Remi Collet - 0.15.0-1 +- update to 0.15.0 + +* Thu Jul 18 2024 Fedora Release Engineering - 0.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Mar 26 2024 Remi Collet - 0.14.0-2 +- update to 0.14.0 +- drop upstream patch +- fix rpminspect rpmdeps + +* Thu Jan 25 2024 Fedora Release Engineering - 0.13.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.13.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 0.13.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 29 2023 Than Ngo - 0.13.0-2 +- fix security issue, CVE-2023-35789 + +* Mon Feb 6 2023 Remi Collet - 0.13.0-1 +- update to 0.13.0 +- drop patches merged upstream + +* Wed Feb 1 2023 Remi Collet - 0.12.0-1 +- update to 0.12.0 +- add patch to not install the static library, from + https://github.com/alanxz/rabbitmq-c/pull/749 +- add patch to fix version in pkgconfig file, from + https://github.com/alanxz/rabbitmq-c/pull/751 + +* Thu Jan 19 2023 Fedora Release Engineering - 0.11.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 0.11.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 0.11.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Sep 14 2021 Sahana Prasad - 0.11.0-4 +- Rebuilt with OpenSSL 3.0.0 + +* Thu Jul 22 2021 Fedora Release Engineering - 0.11.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Apr 1 2021 Remi Collet - 0.11.0-2 +- add patch to fix version in cmake file from + https://github.com/alanxz/rabbitmq-c/pull/667 + +* Thu Apr 1 2021 Remi Collet - 0.11.0-1 +- update to 0.11.0 +- add patch to not install the static library, from + https://github.com/alanxz/rabbitmq-c/pull/665 + +* Tue Jan 26 2021 Fedora Release Engineering - 0.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Aug 13 2020 Remi Collet - 0.10.0-3 +- fix cmake macros usage, FTBFS #1863670 + +* Wed Jan 29 2020 Fedora Release Engineering - 0.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Dec 2 2019 Remi Collet - 0.10.0-1 +- update to 0.10.0 + +* Thu Jul 25 2019 Fedora Release Engineering - 0.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Feb 4 2019 Remi Collet - 0.9.0-3 +- fix cmake invocation and FTBFS + +* Fri Feb 01 2019 Fedora Release Engineering - 0.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 0.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue May 15 2018 Remi Collet - 0.9.0-1 - update to 0.9.0 diff --git a/sources b/sources index 779db3a..0b05ed6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rabbitmq-c-0.9.0-77e3805.tar.gz) = f20a841d184a2448b12c59b551ac5f1bf70a4cc0e0226fe803bab64bd6e26be5f275fb36717b3abb614e88212668cb87de5f9f749fc17ff565b2fe15f66c090e +SHA512 (rabbitmq-c-0.15.0-84b81cd.tar.gz) = a3a1e4ac5f9126a905de7f15b0580a3562c626891aa634dd72e96264da1b87107f82ba6b865ba178d228e025c4a1df370c648d30a13d1422710b74b7ba38cbea diff --git a/tests/Sanity/Sanity-test-for-librabbitmq/Makefile b/tests/Sanity/Sanity-test-for-librabbitmq/Makefile new file mode 100644 index 0000000..d50938a --- /dev/null +++ b/tests/Sanity/Sanity-test-for-librabbitmq/Makefile @@ -0,0 +1,63 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /CoreOS/librabbitmq/Sanity/Sanity-test-for-librabbitmq +# Description: Tests the sanity of librabbitmq +# Author: Than Ngo +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/CoreOS/librabbitmq/Sanity/Sanity-test-for-librabbitmq +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Than Ngo " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: tests basic functionality" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 5m" >> $(METADATA) + @echo "RunFor: librabbitmq" >> $(METADATA) + @echo "Requires: librabbitmq librabbitmq-devel" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: MIT" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/Sanity/Sanity-test-for-librabbitmq/PURPOSE b/tests/Sanity/Sanity-test-for-librabbitmq/PURPOSE new file mode 100644 index 0000000..d4111a3 --- /dev/null +++ b/tests/Sanity/Sanity-test-for-librabbitmq/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /CoreOS/librabbitmq/Sanity/Sanity-test-for-librabbitmq +Description: Tests the sanity +Author: Than Ngo diff --git a/tests/Sanity/Sanity-test-for-librabbitmq/main.fmf b/tests/Sanity/Sanity-test-for-librabbitmq/main.fmf new file mode 100644 index 0000000..a7116fe --- /dev/null +++ b/tests/Sanity/Sanity-test-for-librabbitmq/main.fmf @@ -0,0 +1,14 @@ +summary: tests basic functionality +description: '' +contact: Than Ngo +component: + - librabbitmq +test: ./runtest.sh +framework: beakerlib +recommend: + - librabbitmq + - librabbitmq-devel + - objdump +duration: 5m +extra-summary: /CoreOS/librabbitmq/Sanity/Sanity-test-for-librabbitmq +extra-task: /CoreOS/librabbitmq/Sanity/Sanity-test-for-librabbitmq diff --git a/tests/Sanity/Sanity-test-for-librabbitmq/runtest.sh b/tests/Sanity/Sanity-test-for-librabbitmq/runtest.sh new file mode 100755 index 0000000..43816cb --- /dev/null +++ b/tests/Sanity/Sanity-test-for-librabbitmq/runtest.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/librabbitmq/Sanity/Sanity-test-for-librabbitmq +# Description: Tests the sanity +# Author: Than Ngo , Brock Organ +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +PACKAGES="librabbitmq librabbitmq-devel" + +# source the test script helpers +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +rlJournalStart + rlPhaseStartSetup + for p in $PACKAGES ; do + rlAssertRpm $p + done + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest "Smoke, sanity and function tests" + for o in $(ls -1 /usr/lib64/librabbitmq.so*) ; do + rlRun "ldd $o" 0 "validate the shared objects" + rlRun "objdump -T $o" 0 "validate the shared objects" + done + rlRun "head /usr/share/doc/librabbitmq-devel/README.md" 0 "correct form for doc file" + rlRun "head /usr/share/licenses/librabbitmq/LICENSE" 0 "correct form for doc file" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -fr $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd