diff --git a/.gitignore b/.gitignore index e5393a7c..1a4ebc37 100644 --- a/.gitignore +++ b/.gitignore @@ -163,10 +163,8 @@ src/libzmq.pc bin/ lib/ obj/ -builds/redhat/zeromq.spec builds/android/prefix/ packaging/nuget/*.nupkg -packaging/redhat/zeromq.spec foreign/openpgm/* !foreign/openpgm/*.tar.bz2 !foreign/openpgm/*.tar.gz diff --git a/Makefile.am b/Makefile.am index 7b02748a..1f7d292b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -810,7 +810,6 @@ dist-hook: else \ echo A git clone is required to generate a ChangeLog >&2; \ fi - -cp $(top_srcdir)/packaging/redhat/zeromq.spec $(distdir)/zeromq.spec maintainer-clean-local: -rm -rf $(top_srcdir)/config diff --git a/configure.ac b/configure.ac index 80a36151..4fc49ced 100644 --- a/configure.ac +++ b/configure.ac @@ -662,7 +662,6 @@ AC_CONFIG_FILES([ \ src/libzmq.pc \ doc/Makefile \ builds/Makefile \ - builds/msvc/Makefile \ - packaging/redhat/zeromq.spec]) + builds/msvc/Makefile]) AC_OUTPUT diff --git a/packaging/debian/changelog b/packaging/debian/changelog new file mode 100644 index 00000000..a663b878 --- /dev/null +++ b/packaging/debian/changelog @@ -0,0 +1,5 @@ +zeromq (4.2.0) UNRELEASED; urgency=low + + * Initial packaging. + + -- libzmq Developers Wed, 31 Dec 2014 00:00:00 +0000 diff --git a/packaging/debian/compat b/packaging/debian/compat new file mode 100644 index 00000000..ec635144 --- /dev/null +++ b/packaging/debian/compat @@ -0,0 +1 @@ +9 diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100644 index 00000000..7a1845eb --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,61 @@ +Source: zeromq +Section: libs +Priority: optional +Maintainer: libzmq Developers +Build-Depends: debhelper (>= 9), + dh-autoreconf, + libpgm-dev, + libsodium-dev, + libunwind-dev | libunwind7-dev, + pkg-config +Standards-Version: 3.9.8 +Homepage: http://www.zeromq.org/ + +Package: libzmq5 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: lightweight messaging kernel (shared library) + ØMQ is a library which extends the standard socket interfaces with features + traditionally provided by specialised messaging middleware products. + . + ØMQ sockets provide an abstraction of asynchronous message queues, multiple + messaging patterns, message filtering (subscriptions), seamless access to + multiple transport protocols and more. + . + This package contains the libzmq shared library. + +Package: libzmq3-dev +Architecture: any +Section: libdevel +Depends: libzmq5 (= ${binary:Version}), ${misc:Depends} +Conflicts: libzmq-dev, libzmq5-dev +Replaces: libzmq5-dev +Provides: libzmq5-dev +Multi-Arch: same +Description: lightweight messaging kernel (development files) + ØMQ is a library which extends the standard socket interfaces with features + traditionally provided by specialised messaging middleware products. + . + ØMQ sockets provide an abstraction of asynchronous message queues, multiple + messaging patterns, message filtering (subscriptions), seamless access to + multiple transport protocols and more. + . + This package contains the ZeroMQ development libraries and header files. + +Package: libzmq5-dbg +Architecture: any +Priority: extra +Section: debug +Depends: libzmq5 (= ${binary:Version}), ${misc:Depends} +Multi-Arch: same +Description: lightweight messaging kernel (debugging symbols) + ØMQ is a library which extends the standard socket interfaces with features + traditionally provided by specialised messaging middleware products. + . + ØMQ sockets provide an abstraction of asynchronous message queues, multiple + messaging patterns, message filtering (subscriptions), seamless access to + multiple transport protocols and more. + . + This package contains the debugging symbols for the ZeroMQ library. diff --git a/packaging/debian/copyright b/packaging/debian/copyright new file mode 100644 index 00000000..f2928d66 --- /dev/null +++ b/packaging/debian/copyright @@ -0,0 +1,93 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ZeroMQ +Source: http://zeromq.org + +Files: * +Copyright: 2009-2011, 250bpm s.r.o + 2007-2013, iMatix Corporation + 2007-2011, Other contributors as noted in the AUTHORS file +License: LGPL-3.0+ + +Files: src/xreq.cpp + src/xpub.cpp + src/xsub.cpp + tests/test_reqrep_device.cpp + tests/test_invalid_rep.cpp +Copyright: 2010-2011, 250bpm s.r.o + 2011, VMware, Inc + 2010-2011, Other contributors as noted in the AUTHORS file +License: LGPL-3.0+ + +Files: src/msg.hpp + src/xrep.* + src/options.* + src/req.* + src/socket_base.* + src/pipe.* + src/encoder.cpp + src/lb.cpp + src/session_base.* + src/fq.cpp + include/zmq.h +Copyright: 2009-2011, 250bpm s.r.o + 2007-2013, iMatix Corporation + 2011, VMware, Inc + 2007-2011, Other contributors as noted in the AUTHORS file +License: LGPL-3.0+ + +Files: src/pgm_receiver.* + src/pgm_sender.* + src/pgm_socket.* +Copyright: 2009-2011, 250bpm s.r.o + 2007-2013, iMatix Corporation + 2010-2011, Miru Limited + 2007-2011, Other contributors as noted in the AUTHORS file +License: LGPL-3.0+ + +Files: debian/* +Copyright: 2014- , Laszlo Boszormenyi (GCS) + 2012-2014, Alessandro Ghedini + 2010-2012, Martin Lucina + 2009-2010, Adrian von Bidder + 2009-2010, Peter Busser + 2012, Alessandro Ghedini +License: LGPL-2.0+ + +License: LGPL-2.0+ + This package is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + . + This package 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 + Lesser General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU Lesser General + Public License can be found in "/usr/share/common-licenses/LGPL-2". + +License: LGPL-3.0+ + This package is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + . + This package 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 + Lesser General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU Lesser General + Public License can be found in "/usr/share/common-licenses/LGPL-3".BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. diff --git a/packaging/debian/libzmq3-dev.install b/packaging/debian/libzmq3-dev.install new file mode 100644 index 00000000..4f315b7e --- /dev/null +++ b/packaging/debian/libzmq3-dev.install @@ -0,0 +1,4 @@ +usr/include/* +usr/lib/*/libzmq.a +usr/lib/*/libzmq.so +usr/lib/*/pkgconfig/libzmq.pc diff --git a/packaging/debian/libzmq3-dev.manpages b/packaging/debian/libzmq3-dev.manpages new file mode 100644 index 00000000..fe4ecb45 --- /dev/null +++ b/packaging/debian/libzmq3-dev.manpages @@ -0,0 +1,2 @@ +debian/tmp/usr/share/man/man3/* +debian/tmp/usr/share/man/man7/* diff --git a/packaging/debian/libzmq5.docs b/packaging/debian/libzmq5.docs new file mode 100644 index 00000000..3cc350b4 --- /dev/null +++ b/packaging/debian/libzmq5.docs @@ -0,0 +1,2 @@ +AUTHORS +NEWS diff --git a/packaging/debian/libzmq5.install b/packaging/debian/libzmq5.install new file mode 100644 index 00000000..f0d5ab59 --- /dev/null +++ b/packaging/debian/libzmq5.install @@ -0,0 +1 @@ +usr/lib/*/libzmq.so.* diff --git a/packaging/debian/rules b/packaging/debian/rules new file mode 100755 index 00000000..5549b7c9 --- /dev/null +++ b/packaging/debian/rules @@ -0,0 +1,37 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +export TEST_VERBOSE=1 + +ifeq ($(DEB_BUILD_ARCH_OS), kfreebsd) + DO_TEST = no +endif + +override_dh_clean: + dh_clean + find $(CURDIR) -type s -exec rm {} \; + rm -f $(CURDIR)/doc/*.xml $(CURDIR)/doc/*.3 $(CURDIR)/doc/*.7 + rm -f config.log + +override_dh_auto_configure: + dh_auto_configure -- --with-pgm --with-libsodium + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) +ifneq ($(DO_TEST), no) + -dh_auto_test -- VERBOSE=1 +else + -dh_auto_test -- VERBOSE=1 +endif +endif + +override_dh_strip: + dh_strip --dbg-package=libzmq5-dbg + +%: + dh $@ --with=autoreconf --parallel + +.PHONY: override_dh_auto_configure override_dh_strip diff --git a/packaging/debian/source/format b/packaging/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/packaging/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/packaging/debian/zeromq.dsc.obs b/packaging/debian/zeromq.dsc.obs new file mode 100644 index 00000000..1c35fc84 --- /dev/null +++ b/packaging/debian/zeromq.dsc.obs @@ -0,0 +1,15 @@ +Format: 3.0 (quilt) +Source: zeromq +Binary: libzmq5, libzmq3-dev, libzmq5-dbg +Architecture: any +Version: 4.2.0 +Maintainer: libzmq Developers +Homepage: http://www.zeromq.org/ +Standards-Version: 3.9.8 +Build-Depends: debhelper (>= 9), dh-autoreconf, libpgm-dev, libsodium-dev, libunwind-dev | libunwind7-dev, pkg-config +Package-List: + libzmq3-dev deb libdevel optional arch=any + libzmq5 deb libs optional arch=any + libzmq5-dbg deb debug extra arch=any +Files: + e7adf4b7dbae09b28cfd10d26cd67fac 794853 zeromq.orig.tar.gz diff --git a/packaging/obs/_service b/packaging/obs/_service new file mode 100644 index 00000000..2dcc392e --- /dev/null +++ b/packaging/obs/_service @@ -0,0 +1,84 @@ + + + https://github.com/zeromq/libzmq + git + + .git + enable + zeromq + + + + + *.tar + */packaging/redhat/zeromq.spec + zeromq.spec + + + + + *.tar + */packaging/debian/zeromq.dsc.obs + zeromq.dsc + + + *.tar + */packaging/debian/changelog + debian.changelog + + + *.tar + */packaging/debian/compat + debian.compat + + + *.tar + */packaging/debian/control + debian.control + + + *.tar + */packaging/debian/copyright + debian.copyright + + + *.tar + */packaging/debian/source/format + debian.format + + + *.tar + */packaging/debian/rules + debian.rules + + + *.tar + */packaging/debian/libzmq3-dev.install + debian.libzmq3-dev.install + + + *.tar + */packaging/debian/libzmq3-dev.manpages + debian.libzmq3-dev.manpages + + + *.tar + */packaging/debian/libzmq5.docs + debian.libzmq5.docs + + + *.tar + */packaging/debian/libzmq5.install + debian.libzmq5.install + + + + zeromq-*.tar + gz + + + + zeromq + + + diff --git a/packaging/redhat/zeromq.spec.in b/packaging/redhat/zeromq.spec similarity index 72% rename from packaging/redhat/zeromq.spec.in rename to packaging/redhat/zeromq.spec index be467cf9..e7123b72 100644 --- a/packaging/redhat/zeromq.spec.in +++ b/packaging/redhat/zeromq.spec @@ -1,5 +1,6 @@ +%define lib_name libzmq5 Name: zeromq -Version: @PACKAGE_VERSION@ +Version: 4.2.0 Release: 1%{?dist} Summary: The ZeroMQ messaging library Group: Applications/Internet @@ -8,6 +9,17 @@ URL: http://www.zeromq.org/ Source: http://download.zeromq.org/%{name}-%{version}.tar.gz Prefix: %{_prefix} Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root +BuildRequires: autoconf automake libtool libsodium-devel glib2-devel +%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) +BuildRequires: e2fsprogs-devel +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +%else +BuildRequires: libuuid-devel +%endif +%if %{with pgm} +BuildRequires: openpgm-devel +BuildRequires: krb5-devel +%endif BuildRequires: gcc, make, gcc-c++, libstdc++-devel, asciidoc, xmlto Requires: libstdc++ @@ -51,12 +63,25 @@ abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more. +%package -n %{lib_name} +Summary: Shared Library for ZeroMQ +Group: Productivity/Networking/Web/Servers +Conflicts: zeromq + +%description -n %{lib_name} +The 0MQ lightweight messaging kernel is a library which extends the +standard socket interfaces with features traditionally provided by +specialised messaging middleware products. 0MQ sockets provide an +abstraction of asynchronous message queues, multiple messaging +patterns, message filtering (subscriptions), seamless access to +multiple transport protocols and more. + This package contains the ZeroMQ shared library. %package devel Summary: Development files and static library for the ZeroMQ library Group: Development/Libraries -Requires: %{name} = %{version}-%{release}, pkgconfig +Requires: %{lib_name} = %{version}-%{release}, pkgconfig %description devel The 0MQ lightweight messaging kernel is a library which extends the @@ -71,7 +96,13 @@ This package contains ZeroMQ related development libraries and header files. %prep %setup -q +# Sed version number of openpgm into configure +%global openpgm_pc $(basename %{_libdir}/pkgconfig/openpgm*.pc .pc) +sed -i "s/openpgm-[0-9].[0-9]/%{openpgm_pc}/g" \ + configure* + %build +autoreconf -fi %configure \ %{?_with_libsodium} \ %{?_without_libsodium} \ @@ -102,18 +133,14 @@ This package contains ZeroMQ related development libraries and header files. %clean [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} -%files +%files -n %{lib_name} %defattr(-,root,root,-) # docs in the main package -%doc AUTHORS ChangeLog COPYING COPYING.LESSER NEWS - -# binaries -%{_bindir}/curve_keygen +%doc AUTHORS COPYING COPYING.LESSER NEWS # libraries -%{_libdir}/libzmq.so.4 -%{_libdir}/libzmq.so.4.0.0 +%{_libdir}/libzmq.so.* %{_mandir}/man7/zmq.7.gz @@ -127,60 +154,22 @@ This package contains ZeroMQ related development libraries and header files. %{_libdir}/pkgconfig/libzmq.pc %{_libdir}/libzmq.so -%{_mandir}/man3/zmq_bind.3.gz -%{_mandir}/man3/zmq_close.3.gz -%{_mandir}/man3/zmq_connect.3.gz -%{_mandir}/man3/zmq_disconnect.3.gz -%{_mandir}/man3/zmq_ctx_get.3.gz -%{_mandir}/man3/zmq_ctx_new.3.gz -%{_mandir}/man3/zmq_ctx_set.3.gz -%{_mandir}/man3/zmq_ctx_term.3.gz -%{_mandir}/man3/zmq_msg_recv.3.gz -%{_mandir}/man3/zmq_errno.3.gz -%{_mandir}/man3/zmq_getsockopt.3.gz -%{_mandir}/man3/zmq_msg_close.3.gz -%{_mandir}/man3/zmq_msg_copy.3.gz -%{_mandir}/man3/zmq_msg_data.3.gz -%{_mandir}/man3/zmq_msg_init.3.gz -%{_mandir}/man3/zmq_msg_init_data.3.gz -%{_mandir}/man3/zmq_msg_init_size.3.gz -%{_mandir}/man3/zmq_msg_move.3.gz -%{_mandir}/man3/zmq_msg_size.3.gz -%{_mandir}/man3/zmq_msg_get.3.gz -%{_mandir}/man3/zmq_msg_more.3.gz -%{_mandir}/man3/zmq_msg_send.3.gz -%{_mandir}/man3/zmq_msg_set.3.gz -%{_mandir}/man3/zmq_poll.3.gz -%{_mandir}/man3/zmq_proxy.3.gz -%{_mandir}/man3/zmq_recv.3.gz -%{_mandir}/man3/zmq_recvmsg.3.gz -%{_mandir}/man3/zmq_send.3.gz -%{_mandir}/man3/zmq_sendmsg.3.gz -%{_mandir}/man3/zmq_setsockopt.3.gz -%{_mandir}/man3/zmq_socket.3.gz -%{_mandir}/man3/zmq_socket_monitor.3.gz -%{_mandir}/man3/zmq_strerror.3.gz -%{_mandir}/man3/zmq_version.3.gz -%{_mandir}/man3/zmq_unbind.3.gz -%{_mandir}/man3/zmq_ctx_shutdown.3.gz -%{_mandir}/man3/zmq_has.3.gz -%{_mandir}/man3/zmq_msg_gets.3.gz -%{_mandir}/man3/zmq_proxy_steerable.3.gz -%{_mandir}/man7/zmq_epgm.7.gz +%{_mandir}/man3/zmq* +%{_mandir}/man7/zmq_curve.7.gz %{_mandir}/man7/zmq_inproc.7.gz %{_mandir}/man7/zmq_ipc.7.gz -%{_mandir}/man7/zmq_pgm.7.gz -%{_mandir}/man7/zmq_tcp.7.gz -%{_mandir}/man3/zmq_curve_keypair.3.gz -%{_mandir}/man3/zmq_send_const.3.gz -%{_mandir}/man3/zmq_z85_decode.3.gz -%{_mandir}/man3/zmq_z85_encode.3.gz -%{_mandir}/man7/zmq_curve.7.gz %{_mandir}/man7/zmq_null.7.gz +%{_mandir}/man7/zmq_pgm.7.gz %{_mandir}/man7/zmq_plain.7.gz +%{_mandir}/man7/zmq_tcp.7.gz %{_mandir}/man7/zmq_tipc.7.gz +%{_mandir}/man7/zmq_udp.7.gz +%{_mandir}/man7/zmq_vmci.7.gz %changelog +* Sun Jul 31 2016 Luca Boccassi +- Follow RPM standards and rename zeromq to libzmq5 + * Sat Oct 25 2014 Phillip Mienk - Add --with/--without libgssapi_krb5 support following J.T.Conklin's pattern