saltbundle-zeromq/saltbundle-zeromq.spec

152 lines
4.5 KiB
RPMSpec

#
# spec file for package saltbundle-zeromq
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global __brp_check_rpaths %{nil}
%define lib_name saltbundle-libzmq
Name: saltbundle-zeromq
Version: 4.2.3
Release: 0
Summary: Lightweight messaging kernel
License: LGPL-3.0-or-later
Group: Productivity/Networking/Web/Servers
URL: http://www.zeromq.org/
Source: https://github.com/zeromq/libzmq/releases/download/v%{version}/zeromq-%{version}.tar.gz
Source1000: saltbundle-zeromq-rpmlintrc
Patch1: CVE-2019-6250.patch
Patch2: CVE-2019-13132.patch
Patch3: CVE-2020-15166.patch
Patch4: bsc1176259.patch
Patch5: bsc1176258.patch
Patch6: bsc1176256.patch
Patch7: bsc1176257.patch
%if 0%{?suse_version} == 1110
BuildRequires: gcc48-c++
%else
BuildRequires: gcc-c++
%endif
BuildRequires: pkgconfig
BuildRequires: saltbundle-libsodium-devel
BuildRequires: pkgconfig(uuid)
AutoReqProv: 0
%description
The ZeroMQ messaging kernel is a library extending the standard
socket interfaces with an abstraction of asynchronous message queues,
multiple messaging patterns, message filtering (subscriptions) and
seamless access to multiple transport protocols.
%package -n %{lib_name}
Summary: Shared Library for ZeroMQ
Group: Productivity/Networking/Web/Servers
Requires: saltbundle-libsodium
AutoReqProv: 0
%description -n %{lib_name}
The ZeroMQ messaging kernel is a library extending the standard
socket interfaces with an abstraction of asynchronous message queues,
multiple messaging patterns, message filtering (subscriptions) and
seamless access to multiple transport protocols.
This package holds the shared library part of the ZeroMQ package.
%package tools
Summary: Tools to work with ZeroMQ
# Conflict old libraries as we collide with them
Group: Productivity/Networking/Web/Servers
Conflicts: libzmq1
Conflicts: libzmq2
Conflicts: libzmq3
AutoReqProv: 0
%description tools
The ZeroMQ messaging kernel is a library extending the standard
socket interfaces with an abstraction of asynchronous message queues,
multiple messaging patterns, message filtering (subscriptions) and
seamless access to multiple transport protocols.
This package contains the utilities to work with ZeroMQ library.
%package devel
Summary: Development files for ZeroMQ
Group: Development/Languages/C and C++
Requires: %{lib_name} = %{version}
AutoReqProv: 0
%description devel
The ZeroMQ messaging kernel is a library extending the standard
socket interfaces with an abstraction of asynchronous message queues,
multiple messaging patterns, message filtering (subscriptions) and
seamless access to multiple transport protocols.
This package holds the development files for ZeroMQ.
%prep
%autosetup -p1 -n zeromq-%{version}
%build
%ifarch i386
export LIBS="-ldl -latomic"
%else
export LIBS=-ldl
%endif
%if 0%{?suse_version} == 1110
export CXX=g++-4.8
%endif
%configure \
--with-libsodium \
--enable-curve \
--disable-static \
--disable-dependency-tracking \
--disable-silent-rules \
--disable-Werror
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%check
%if ! 0%{?qemu_user_space_build}
# Tests don't run well concurrently and some are flaky, hence 3x before fail
make check %{?_smp_mflags} || make check || make check || make check || (cat ./test-suite.log && false)
%endif
%post -n %{lib_name} -p /sbin/ldconfig
%postun -n %{lib_name} -p /sbin/ldconfig
%files -n %{lib_name}
%license COPYING COPYING.LESSER
%{_libdir}/libzmq.so.*
%files tools
%license COPYING COPYING.LESSER
%{_bindir}/curve_keygen
%files devel
%doc AUTHORS ChangeLog NEWS
%license COPYING COPYING.LESSER
%{_includedir}/zmq*
%{_libdir}/libzmq.so
%{_libdir}/pkgconfig/libzmq.pc
%{_mandir}/man3/zmq*.3%{?ext_man}
%{_mandir}/man7/zmq*.7%{?ext_man}
%changelog