diff --git a/.gitignore b/.gitignore index e69de29..95105f6 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,16 @@ +clog +/6fb87d6eb01b.tar.bz2 +/fb6fca832fd2.tar.bz2 +/alanxz-rabbitmq-c-0.2-69-g2059570.tar.gz +/db13342f2443.tar.bz2 +/rabbitmq-c-v0.3.0.tar.gz +/rabbitmq-c-0.4.1.tar.gz +/rabbitmq-c-0.5.0.tar.gz +/rabbitmq-c-0.5.1.tar.gz +/rabbitmq-c-0.5.2.tar.gz +/rabbitmq-c-0.6.0.tar.gz +/rabbitmq-c-0.7.0-4dde30c.tar.gz +/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 diff --git a/librabbitmq.spec b/librabbitmq.spec new file mode 100644 index 0000000..765f6ba --- /dev/null +++ b/librabbitmq.spec @@ -0,0 +1,253 @@ +# Fedora spec file for librabbitmq +# +# Copyright (c) 2012-2020 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +%global gh_commit ffe918a5fcef72038a88054dca3c56762b1953d4 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner alanxz +%global gh_project rabbitmq-c +%global libname librabbitmq +%global soname 4 + +Name: %{libname} +Summary: Client library for AMQP +Version: 0.10.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 +# For tools +BuildRequires: popt-devel > 1.14 +# For man page +BuildRequires: xmlto + + +%description +This is a C-language AMQP client library for use with AMQP servers +speaking protocol versions 0-9-1. + + +%package devel +Summary: Header files and development libraries for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains the header files and development libraries +for %{name}. + + +%package tools +Summary: Example tools built using the librabbitmq package +Requires: %{name}%{?_isa} = %{version} + +%description tools +This package contains example tools built using %{name}. + +It provides: +amqp-consume Consume messages from a queue on an AMQP server +amqp-declare-queue Declare a queue on an AMQP server +amqp-delete-queue Delete a queue from an AMQP server +amqp-get Get a message from a queue on an AMQP server +amqp-publish Publish a message on an AMQP server + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} + +# Copy sources to be included in -devel docs. +cp -pr examples Examples + +# This test requires a running server +sed -e '/test_basic/d' -i tests/CMakeLists.txt + + +%build +# static lib required for tests +%cmake \ + -DBUILD_TOOLS_DOCS:BOOL=ON \ + -DBUILD_STATIC_LIBS:BOOL=ON \ + -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}" +%endif + +rm %{buildroot}%{_libdir}/%{libname}.a + + +%check +: check .pc is usable +grep @ %{buildroot}%{_libdir}/pkgconfig/librabbitmq.pc && exit 1 + +: upstream tests +%if 0%{?ctest:1} +%ctest +%else +make test +%endif + + +%files +%license LICENSE-MIT +%{_libdir}/%{libname}.so.%{soname}* + + +%files devel +%doc AUTHORS THANKS TODO *.md +%doc Examples +%{_libdir}/%{libname}.so +%{_includedir}/amqp* +%{_libdir}/pkgconfig/%{libname}.pc + +%files tools +%{_bindir}/amqp-* +%doc %{_mandir}/man1/amqp-*.1* +%doc %{_mandir}/man7/librabbitmq-tools.7* + + +%changelog +* 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 + +* Tue Feb 20 2018 Remi Collet - 0.8.0-7 +- missing BR on C compiler + +* Thu Feb 15 2018 Remi Collet - 0.8.0-6 +- drop ldconfig scriptlets + +* Wed Feb 07 2018 Fedora Release Engineering - 0.8.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Apr 12 2016 Remi Collet - 0.8.0-1 +- update to 0.8.0 + +* Thu Feb 04 2016 Fedora Release Engineering - 0.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 13 2015 Remi Collet - 0.7.1-1 +- update to 0.7.1 + +* Fri Jul 3 2015 Remi Collet - 0.7.0-1 +- update to 0.7.0 +- swicth to cmake +- switch from upstream tarball to github sources + +* Wed Jun 17 2015 Fedora Release Engineering - 0.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Apr 20 2015 Remi Collet - 0.6.0-1 +- update to 0.6.0 +- soname changed to .4 + +* Mon Sep 15 2014 Remi Collet - 0.5.2-1 +- update to 0.5.2 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 13 2014 Remi Collet - 0.5.1-1 +- update to 0.5.1 +- fix license handling +- move all documentation in devel subpackage + +* Sat Jun 07 2014 Fedora Release Engineering - 0.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 15 2014 Remi Collet - 0.5.0-2 +- upstream patch for missing function + +* Mon Feb 17 2014 Remi Collet - 0.5.0-1 +- update to 0.5.0 +- open https://github.com/alanxz/rabbitmq-c/issues/169 (version is 0.5.1-pre) +- open https://github.com/alanxz/rabbitmq-c/issues/170 (amqp_get_server_properties) + +* Mon Jan 13 2014 Remi Collet - 0.4.1-4 +- drop BR python-simplejson + +* Tue Jan 7 2014 Remi Collet - 0.4.1-3 +- fix broken librabbitmq.pc, #1039555 +- add check for usable librabbitmq.pc + +* Thu Jan 2 2014 Remi Collet - 0.4.1-2 +- fix Source0 URL + +* Sat Sep 28 2013 Remi Collet - 0.4.1-1 +- update to 0.4.1 +- add ssl support + +* Thu Aug 1 2013 Remi Collet - 0.3.0-3 +- cleanups + +* Wed Mar 13 2013 Remi Collet - 0.3.0-2 +- remove tools from main package + +* Wed Mar 13 2013 Remi Collet - 0.3.0-1 +- update to 0.3.0 +- create sub-package for tools + +* Thu Feb 14 2013 Fedora Release Engineering - 0.2-0.2.git2059570 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Aug 01 2012 Remi Collet - 0.2-0.1.git2059570 +- update to latest snapshot (version 0.2, moved to github) +- License is now MIT + +* Thu Jul 19 2012 Fedora Release Engineering - 0.1-0.3.hgfb6fca832fd2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Mar 11 2012 Remi Collet - 0.1-0.2.hgfb6fca832fd2 +- add %%check (per review comment) + +* Sat Mar 10 2012 Remi Collet - 0.1-0.1.hgfb6fca832fd2 +- Initial RPM + diff --git a/sources b/sources new file mode 100644 index 0000000..1f552b6 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (rabbitmq-c-0.10.0-ffe918a.tar.gz) = 05756176feffc3ccff9bf4f8416191c382c9e5b51d7dd72664cea0407c847d50cb4048b8669415d879396c0c7e8c1c38c65a66a98701e55de09afed893abc5a0 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/runtest.sh b/tests/Sanity/Sanity-test-for-librabbitmq/runtest.sh new file mode 100755 index 0000000..76ed9f6 --- /dev/null +++ b/tests/Sanity/Sanity-test-for-librabbitmq/runtest.sh @@ -0,0 +1,58 @@ +#!/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/bin/rhts-environment.sh || exit 1 +. /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-MIT" 0 "correct form for doc file" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -fr $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..96c2b94 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,11 @@ +--- +# Run tests in all contexts +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-beakerlib + tests: + - Sanity + required_packages: + - librabbitmq