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
This commit is contained in:
Dominique Leuenberger 2015-09-04 14:30:00 +00:00 committed by Git OBS Bridge
parent 8be979d931
commit b187ea296a
5 changed files with 505 additions and 6 deletions

4
pre_checkin.sh Normal file
View File

@ -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

250
tevent-man.changes Normal file
View File

@ -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.

208
tevent-man.spec Normal file
View File

@ -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

View File

@ -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

View File

@ -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