From b187ea296a413679cec96dff9397d5fd704675377fc29374c71db47f45303da1 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 4 Sep 2015 14:30:00 +0000 Subject: [PATCH] Accepting request 329143 from network:samba:STABLE Sorry for the noise.. the fix invovles actually THIS one AND a change in doxygen... neither of the two manages to solve it completely OBS-URL: https://build.opensuse.org/request/show/329143 OBS-URL: https://build.opensuse.org/package/show/network:samba:STABLE/tevent?expand=0&rev=51 --- pre_checkin.sh | 4 + tevent-man.changes | 250 +++++++++++++++++++++++++++++++++++++++++++++ tevent-man.spec | 208 +++++++++++++++++++++++++++++++++++++ tevent.changes | 8 ++ tevent.spec | 41 ++++++-- 5 files changed, 505 insertions(+), 6 deletions(-) create mode 100644 pre_checkin.sh create mode 100644 tevent-man.changes create mode 100644 tevent-man.spec diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..7a201e8 --- /dev/null +++ b/pre_checkin.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sed 's/%define.*build_man.*0/%define build_man 1/' tevent.spec > tevent-man.spec +cp tevent.changes tevent-man.changes diff --git a/tevent-man.changes b/tevent-man.changes new file mode 100644 index 0000000..c21ee92 --- /dev/null +++ b/tevent-man.changes @@ -0,0 +1,250 @@ +------------------------------------------------------------------- +Thu Aug 20 08:58:37 UTC 2015 - dimstar@opensuse.org + +- Create 2nd spec-file tevent-man.spec: build the man pages in a + separate cycle in order to avoid the follwing build cycle: + doxygen -> curl -> krb5-mini -> libverto -> tevent -> doxygen. +- Recommend tevent-man for installation. + +------------------------------------------------------------------- +Sat Jun 27 17:20:12 UTC 2015 - lmuelle@suse.com + +- Update to 0.9.25. + + Fix compile error in Solaris ports backend. + + Fix access after free in tevent_common_check_signal(); (bso#11308). + + Improve pytevent bindings. + + Testsuite fixes. + + Improve the documentation of the tevent_add_fd() assumtions. It must be + talloc_free'ed before closing the fd! (bso##11141); (bso#11316). + +------------------------------------------------------------------- +Thu Mar 5 11:16:25 UTC 2015 - lmuelle@suse.com + +- Update to 0.9.24. + + Ignore unexpected signal events in the same way the epoll backend does. + +------------------------------------------------------------------- +Fri Feb 27 19:36:39 UTC 2015 - lmuelle@suse.com + +- Update to 0.9.23. + + Update the tevent_data.dox tutrial stuff to fix some errors, including + white space problems. + + Use tevent_req_simple_recv_unix in a few places. + +------------------------------------------------------------------- +Thu Nov 6 13:21:57 UTC 2014 - lmuelle@suse.com + +- Use the upstream tar ball, as signature verification is now able to handle + compressed archives. + +------------------------------------------------------------------- +Tue Oct 28 15:45:11 UTC 2014 - lmuelle@suse.com + +- Remove dependency on gpg-offline as signature checking is implemented in the + source validator. + +------------------------------------------------------------------- +Sun Oct 5 17:40:34 UTC 2014 - lmuelle@suse.com + +- Update to 0.9.22. + + remove unused exit_code in tevent_select.c + + remove unused exit_code in tevent_poll.c + + build: improve detection of srcdir + + lib: tevent: make TEVENT_SIG_INCREMENT atomic. + + Update flags in tevent pkgconfig file + +------------------------------------------------------------------- +Tue Sep 23 20:41:59 UTC 2014 - lmuelle@suse.com + +- Utilize doxygen to generate the API documentation and package it. + +------------------------------------------------------------------- +Mon Feb 17 22:00:55 UTC 2014 - lmuelle@suse.com + +- Update to 0.9.21. + + add tevent_req_set_cleanup_fn() + + add/use tevent_req_destructor + + add doxygen comments for tevent_num_signals() and + tevent_sa_info_queue_count() + + Add prototypes + + Only build "std_fallback_to_poll" when epoll is around + + fix crash bug in tevent_queue_immediate_trigger() + + Fix CID 1138326 Unchecked return value +- Update to 0.9.20. + + give the user the chance to ask for TEVENT_NUM_SIGNALS and + TEVENT_SA_INFO_QUEUE_COUNT + + change TEVENT_SA_INFO_QUEUE_COUNT from 64 to 256 + + tevent_epoll_set_panic_fallback() can be a void function + + make use of talloc_get_type_abort() in tevent_epoll.c, tevent_signal.c, + tevent_select.c, and tevent_queue.c + + use talloc_get_type_abort() in the documentation examples + + add tevent_queue_wait_send/recv() + + tevent_req_create() already uses ZERO_STRUCT(req) + + let tevent_req_received() clear the private_cancel function + + cancel the timeout timer when the request is finished + + Use talloc_pooled_object for tevent_req_create + + Remove a pointless goto + + Add tevent_received to tevent_req_simple_recv_ntstatus + + Fix tutorial reference + + Add echo server sample code + + Sync to tevent 0.9.18 from upstream + + expose tevent_context_init_ops + +------------------------------------------------------------------- +Fri Dec 6 13:51:45 UTC 2013 - lmuelle@suse.com + +- Update to 0.9.19. + + Remove the signal pipe if no signal events are around + + document tevent_req_create state zeroing + + Fix Coverity ID 989236 Operands don't affect result + + Add tevent tutorial files and link it on the mainpage + + Only set poll_ev->delete=false if it was true + +------------------------------------------------------------------- +Fri Dec 6 13:42:37 UTC 2013 - lmuelle@suse.com + +- Verify source tar ball gpg signature. + +------------------------------------------------------------------- +Thu Aug 29 12:12:58 UTC 2013 - lmuelle@suse.com + +- PreReq /sbin/ldconfig from python-tevent. + +------------------------------------------------------------------- +Thu Aug 29 10:54:02 UTC 2013 - lmuelle@suse.com + +- Add python-tevent to baselibs.conf. + +------------------------------------------------------------------- +Tue Jul 2 11:47:29 UTC 2013 - lmuelle@suse.com + +- Add tevent.pyc and pyo to the file list of python-tevent for post Centos and + RHEL 5 and Fedora 11 builds. + +------------------------------------------------------------------- +Tue Apr 9 14:44:24 UTC 2013 - lmuelle@suse.com + +- Update to 0.9.18. + + Adding new timer events is now faster, if there's + a large number of timer events. + + sigprocmask does not work on FreeBSD to stop further signals in a signal + handler. + + TEVENT_NUM_SIGNALS is calculated by configure in order + to support realtime signals on freebsd. + + ./configure --disable-python was fixed for the standalone build. + + Several crash bugs in the poll backend are fixed. + + The poll backend removes deleted events from the cached pollfd array now. + + The poll doesn't pass pollfd.events == 0 to poll() and maintains a list + of disabled events, instead of consuming 100% cpu and/or triggering + the callers handler. + + The poll backend detects POLLNVAL and reports EBADF + instead of consuming 100% cpu. + + The select backend supports separate handlers + for TEVENT_FD_READ and TEVENT_FD_WRITE. + + The poll and select backends are now doing fair queuing of fd events. + + The epoll has better error checking and supports separate handlers + for TEVENT_FD_READ and TEVENT_FD_WRITE. + + The standard backend was rewritten to be a tiny + wrapper on top of epoll with a fallback to poll, + which means that it doesn't use select directly anymore. + + TEVENT_TRACE_BEFORE_LOOP_ONCE and TEVENT_TRACE_AFTER_LOOP_ONCE are added + in order to allow the application to hook in before and after the + loop_once() backend function is called. + The TEVENT_HAS_LOOP_ONCE_TRACE_POINTS define can be used to + detect the new feature. + +------------------------------------------------------------------- +Thu Aug 30 16:25:22 UTC 2012 - lmuelle@suse.com + +- Update to 0.9.17. + + Add threaded poll_mt testcase + + tevent_poll: Decouple poll_ev->fds handling from adding/removing fds + + tevent: Refer to the correct header in testsuite.c + +------------------------------------------------------------------- +Tue Aug 7 21:49:07 UTC 2012 - lmuelle@suse.com + +- Update to 0.9.16. + + Adds tevent_*_trace_*() and tevent_context_init_ops(). + + Move tevent.py to the arch-specific directory. + +------------------------------------------------------------------- +Thu Jun 28 16:29:25 UTC 2012 - lmuelle@suse.com + +- Disable rpath while configure. + +------------------------------------------------------------------- +Wed Jun 13 16:09:22 UTC 2012 - ddiss@suse.com + +- Tag GPLv3 due to tevent_util.h license; (bnc#765270). + +------------------------------------------------------------------- +Sun Jun 3 21:52:07 UTC 2012 - lmuelle@suse.com + +- Define library name and use it instead of libtevent0. + +------------------------------------------------------------------- +Sat Jun 2 15:46:14 UTC 2012 - lmuelle@suse.com + +- Rename package to tevent and add an independent libtevent0 subpackage. +- Enhance and polish the package descriptions and summaries. + +------------------------------------------------------------------- +Sat Jun 2 00:04:43 UTC 2012 - lmuelle@suse.com + +- Define and use talloc version macro. + +------------------------------------------------------------------- +Fri Jun 1 15:41:27 UTC 2012 - lmuelle@suse.com + +- BuildIgnore libtalloc to prevent a package conflict on Fedora systems. + +------------------------------------------------------------------- +Thu May 31 21:33:31 UTC 2012 - lmuelle@suse.com + +- Define python_sitelib and python_sitearch if undefined. + +------------------------------------------------------------------- +Thu May 31 12:01:45 UTC 2012 - lmuelle@suse.com + +- BuildRequire libtalloc-devel instead of libtalloc2-devel. +- Rename libtevent2-devel to libtevent-devel. + +------------------------------------------------------------------- +Wed May 30 15:30:59 UTC 2012 - lmuelle@suse.com + +- Remove superfluous AutoReqProv on line. + +------------------------------------------------------------------- +Fri May 25 08:10:05 UTC 2012 - lmuelle@suse.com + +- BuildRequire pkg-config. +- Move _tevent.so to the python-tevent package. + +------------------------------------------------------------------- +Wed May 16 13:28:23 UTC 2012 - lmuelle@suse.com + +- Cleanup BuildRequires and spec file in general. +- BuildRequire doxygen, libtalloc2-devel >= 2.0.7, python-devel, and + pytalloc-devel >= 2.0.7. +- Require libtalloc2-devel >= 2.0.7 and pkg-config from the devel package. +- Move python files to an independent python-tevent package. + +------------------------------------------------------------------- +Mon May 14 14:56:44 UTC 2012 - lmuelle@suse.com + +- Adjust licence. +- Require libtevent0 = %{version} from the devel package. +- Extend the description of the devel package. + +------------------------------------------------------------------- +Mon May 14 14:26:10 UTC 2012 - lmuelle@suse.com + +- BuildRequire libtalloc2-devel. +- Remove superfluous BuildRequires to talloc libraries. + +------------------------------------------------------------------- +Wed Sep 7 17:52:30 UTC 2011 - lars@samba.org + +- Initial independent libtevent0 package. + diff --git a/tevent-man.spec b/tevent-man.spec new file mode 100644 index 0000000..deafca3 --- /dev/null +++ b/tevent-man.spec @@ -0,0 +1,208 @@ +# +# spec file for package tevent-man +# +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# +# 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 http://bugs.opensuse.org/ +# + + +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} + +%define talloc_version 2.0.7 +%define build_man 1 +%define _name tevent + +%if %{build_man} +Name: %{_name}-man +BuildRequires: doxygen +%else +Name: %{_name} +#!BuildIgnore: libtalloc +BuildRequires: libtalloc-devel >= %{talloc_version} +%if 0%{?suse_version} > 1020 +BuildRequires: pkg-config +%else +BuildRequires: pkgconfig +%endif +BuildRequires: pytalloc-devel >= %{talloc_version} +BuildRequires: python-devel +%endif +%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1140 +%define build_make_smp_mflags %{?_smp_mflags} +%else +%define build_make_smp_mflags %{?jobs:-j%jobs} +%endif +Url: http://tevent.samba.org/ +Version: 0.9.25 +Release: 0 +Summary: An event system based on the talloc memory management library +License: GPL-3.0+ +Group: System/Libraries +Source: http://download.samba.org/pub/tevent/tevent-%{version}.tar.gz +Source1: http://download.samba.org/pub/tevent/tevent-%{version}.tar.asc +Source2: tevent.keyring +Source4: baselibs.conf +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Tevent is an event system based on the talloc memory management library. It +is the core event system used in Samba. + +The low level tevent has support for many event types, including timers, +signals, and the classic file descriptor events. + +Tevent also provide helpers to deal with asynchronous code providing the +tevent_req (tevent request) functions. + +%if ! %{build_man} + +%define libtevent_name libtevent0 +%package -n %{libtevent_name} +PreReq: /sbin/ldconfig +Summary: Samba tevent Library +Group: System/Libraries + +%description -n %{libtevent_name} +Tevent is an event system based on the talloc memory management library. It +is the core event system used in Samba. + +The low level tevent has support for many event types, including timers, +signals, and the classic file descriptor events. + +This package contains the tevent0 library. + + +%package -n libtevent-devel +Summary: Libraries and Header Files to Develop Programs with tevent0 Support +Group: Development/Libraries/C and C++ +# Man pages are built in a 2nd spec file in order to break a build cycle with doxygen->cmake->krb5->libtevent +Recommends: %{name}-man +Requires: %{libtevent_name} = %{version} +Requires: libtalloc-devel >= %{talloc_version} +%if 0%{?suse_version} > 1020 +Requires: pkg-config +%else +Requires: pkgconfig +%endif + +%description -n libtevent-devel +Tevent is an event system based on the talloc memory management library. It +is the core event system used in Samba. + +The low level tevent has support for many event types, including timers, +signals, and the classic file descriptor events. + +Tevent also provide helpers to deal with asynchronous code providing the +tevent_req (tevent request) functions. + +This package contains libraries and header files need for development. + + +%package -n python-tevent +Summary: Python bindings for the Tevent library +Group: Development/Libraries/Python +Requires: %{libtevent_name} = %{version} +PreReq: /sbin/ldconfig + +%description -n python-tevent +This package contains the python bindings for the Tevent library. + +%endif + +%prep +%setup -n tevent-%{version} -q + +%build +%if ! %{build_man} +%if 0%{?suse_version} && 0%{?suse_version} < 911 + OPTIMIZATION="-O" +%else + # use the default optimization + unset OPTIMIZATION +%endif +export CFLAGS="${RPM_OPT_FLAGS} -D_GNU_SOURCE ${OPTIMIZATION} -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS" +CONFIGURE_OPTIONS="\ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --disable-rpath \ + --bundled-libraries=NONE \ + --builtin-libraries=replace \ +" +./configure ${CONFIGURE_OPTIONS} +%{__make} %{build_make_smp_mflags} \ + all +%else + +doxygen doxy.config + +%endif + +%if ! %{build_man} +%check +LD_LIBRARY_PATH=bin/shared %{__make} test +%endif + +%install +%if ! %{build_man} +DESTDIR=${RPM_BUILD_ROOT} make install + +# Shared libraries need to be marked executable for rpmbuild to strip them and +# include them in debuginfo +find ${RPM_BUILD_ROOT} -name "*.so*" -exec chmod -c +x {} \; + +%else + +# install API docs +mkdir -p $RPM_BUILD_ROOT/%{_mandir} +cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir} +rm $RPM_BUILD_ROOT/%{_mandir}/man3/todo.3 + +%endif + +%if ! %{build_man} +%post -n %{libtevent_name} -p /sbin/ldconfig + +%postun -n %{libtevent_name} -p /sbin/ldconfig + +%post -n python-tevent -p /sbin/ldconfig + +%postun -n python-tevent -p /sbin/ldconfig + +%files -n %{libtevent_name} +%defattr(-,root,root) +%{_libdir}/libtevent.so.* + +%files -n libtevent-devel +%defattr(-,root,root) +%{_includedir}/tevent.h +%{_libdir}/libtevent.so +%{_libdir}/pkgconfig/tevent.pc + +%files -n python-tevent +%defattr(-,root,root) +%attr(0755,root,root) +%{python_sitearch}/tevent.py +%{python_sitearch}/_tevent.so +%if 0%{?centos_version} > 599 || 0%{?fedora_version} > 11 || 0%{?rhel_version} > 599 +%{python_sitearch}/tevent.pyc +%{python_sitearch}/tevent.pyo +%endif + +%else +%files +%defattr(-,root,root) +%{_mandir}/man3/tevent*.* + +%endif + +%changelog diff --git a/tevent.changes b/tevent.changes index 5ea724c..c21ee92 100644 --- a/tevent.changes +++ b/tevent.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Aug 20 08:58:37 UTC 2015 - dimstar@opensuse.org + +- Create 2nd spec-file tevent-man.spec: build the man pages in a + separate cycle in order to avoid the follwing build cycle: + doxygen -> curl -> krb5-mini -> libverto -> tevent -> doxygen. +- Recommend tevent-man for installation. + ------------------------------------------------------------------- Sat Jun 27 17:20:12 UTC 2015 - lmuelle@suse.com diff --git a/tevent.spec b/tevent.spec index 6491365..d5feae8 100644 --- a/tevent.spec +++ b/tevent.spec @@ -1,5 +1,5 @@ # -# spec file for package tevent +# spec file for package tevent-man # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # @@ -19,9 +19,14 @@ %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define talloc_version 2.0.7 +%define build_man 0 +%define _name tevent -Name: tevent +%if %{build_man} +Name: %{_name}-man BuildRequires: doxygen +%else +Name: %{_name} #!BuildIgnore: libtalloc BuildRequires: libtalloc-devel >= %{talloc_version} %if 0%{?suse_version} > 1020 @@ -31,6 +36,7 @@ BuildRequires: pkgconfig %endif BuildRequires: pytalloc-devel >= %{talloc_version} BuildRequires: python-devel +%endif %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1140 %define build_make_smp_mflags %{?_smp_mflags} %else @@ -58,6 +64,7 @@ signals, and the classic file descriptor events. Tevent also provide helpers to deal with asynchronous code providing the tevent_req (tevent request) functions. +%if ! %{build_man} %define libtevent_name libtevent0 %package -n %{libtevent_name} @@ -78,6 +85,8 @@ This package contains the tevent0 library. %package -n libtevent-devel Summary: Libraries and Header Files to Develop Programs with tevent0 Support Group: Development/Libraries/C and C++ +# Man pages are built in a 2nd spec file in order to break a build cycle with doxygen->cmake->krb5->libtevent +Recommends: %{name}-man Requires: %{libtevent_name} = %{version} Requires: libtalloc-devel >= %{talloc_version} %if 0%{?suse_version} > 1020 @@ -108,10 +117,13 @@ PreReq: /sbin/ldconfig %description -n python-tevent This package contains the python bindings for the Tevent library. +%endif + %prep %setup -n tevent-%{version} -q %build +%if ! %{build_man} %if 0%{?suse_version} && 0%{?suse_version} < 911 OPTIMIZATION="-O" %else @@ -129,24 +141,35 @@ CONFIGURE_OPTIONS="\ ./configure ${CONFIGURE_OPTIONS} %{__make} %{build_make_smp_mflags} \ all +%else doxygen doxy.config +%endif + +%if ! %{build_man} %check LD_LIBRARY_PATH=bin/shared %{__make} test +%endif %install +%if ! %{build_man} DESTDIR=${RPM_BUILD_ROOT} make install +# Shared libraries need to be marked executable for rpmbuild to strip them and +# include them in debuginfo +find ${RPM_BUILD_ROOT} -name "*.so*" -exec chmod -c +x {} \; + +%else + # install API docs mkdir -p $RPM_BUILD_ROOT/%{_mandir} cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir} rm $RPM_BUILD_ROOT/%{_mandir}/man3/todo.3 -# Shared libraries need to be marked executable for rpmbuild to strip them and -# include them in debuginfo -find ${RPM_BUILD_ROOT} -name "*.so*" -exec chmod -c +x {} \; +%endif +%if ! %{build_man} %post -n %{libtevent_name} -p /sbin/ldconfig %postun -n %{libtevent_name} -p /sbin/ldconfig @@ -164,7 +187,6 @@ find ${RPM_BUILD_ROOT} -name "*.so*" -exec chmod -c +x {} \; %{_includedir}/tevent.h %{_libdir}/libtevent.so %{_libdir}/pkgconfig/tevent.pc -%{_mandir}/man3/tevent*.* %files -n python-tevent %defattr(-,root,root) @@ -176,4 +198,11 @@ find ${RPM_BUILD_ROOT} -name "*.so*" -exec chmod -c +x {} \; %{python_sitearch}/tevent.pyo %endif +%else +%files +%defattr(-,root,root) +%{_mandir}/man3/tevent*.* + +%endif + %changelog