commit 7b3168b4801728dcd50b2d535186708f98b8e009 Author: Adrian Schröter Date: Tue Oct 24 14:32:39 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 tevent revision b56c4bad81fb70d48dd99a5e8349702e diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..38080b1 --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + tevent-man + + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..d3a7913 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,2 @@ +libtevent0 +python3-tevent diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..e03da8b --- /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 -a tevent.changes tevent-man.changes diff --git a/tevent-0.15.0.tar.asc b/tevent-0.15.0.tar.asc new file mode 100644 index 0000000..9482e4a --- /dev/null +++ b/tevent-0.15.0.tar.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCgAdFiEEkUejOXGVGO6QEby1R5ORYRMIQCUFAmS5ESwACgkQR5ORYRMI +QCVAAQf/QZDVMYTCi/23rbzJWiNJVd9moL/simYWSN3loWqwKL8HZ0rsqjt2RG1z +zPwdv0eVkr0jo7pPaqj6r1FY6/PRPA3wzSSzTEx0nCCeGkNlqI9Is33yY6QUzxcg +P2iVN5ZsHPtPXWkt5+II35ZYliB/dOHqdDhwCqJm0IxZSMUCvkq+75IV62Jk+EWz +HynFfypX7Yb2uyC4r+j2puvGxzfYGXX6mHt2x/m9JC4Pg9bquLNb9Low5WwSdJ5r +AZlbOJ95oSVqO1N6Rp22qEG1dBtG+53MYMF7mhglPg3T6b7QEanb2k9876/yslD/ +NZTE7ptqN5JwkWMlotHSiOCM5pcKEQ== +=j9uE +-----END PGP SIGNATURE----- diff --git a/tevent-0.15.0.tar.gz b/tevent-0.15.0.tar.gz new file mode 100644 index 0000000..ebb90d9 --- /dev/null +++ b/tevent-0.15.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:662a9f277281bcf506b6bc0a0baa03e44a62229516ee34bcc703a0b82aa46905 +size 884634 diff --git a/tevent-man.changes b/tevent-man.changes new file mode 100644 index 0000000..ed25d16 --- /dev/null +++ b/tevent-man.changes @@ -0,0 +1,477 @@ +------------------------------------------------------------------- +Tue Sep 26 09:34:49 UTC 2023 - Noel Power + +- Update to version 0.15.0 + * remove py2 ifdefs + * python: Safely clear structure members + * the tevent_thread_call_depth API is updated + in order to allow better tracing. + pass TEVENT_DEBUG_TRACE to tevent_debug() callbacks by default. + * Spelling fixes + * Make use of epoll_create1() for epoll backend + * Optimize overhead in the epoll backend + +------------------------------------------------------------------- +Fri Mar 17 07:58:05 UTC 2023 - Samuel Cabrero + +- Update to version 0.14.1 + * Build fix for GNU/Hurd + * Build fix for Solaris, after removal of ports backend (bso#15298) +- Changes from version 0.14.0 + * Support python 3.12 + * Remove solaris port backend + * Make tevent_find_ops_byname() available for callers + * Allow the "standard" backend to be overloaded + * Add interface for request/subrequest call depth tracking + +------------------------------------------------------------------- +Thu Sep 22 15:48:44 UTC 2022 - Noel Power + +- Update to version 0.13.0 + + tevent: add tevent_cached_getpid() helper +- Update to version 0.12.0 + + tevent: Add tevent queue tracing support + + tevent: Use internally an empty trigger function for + blocker requests + +------------------------------------------------------------------- +Wed Feb 02 13:56:12 UTC 2022 - David Mulder + +- Fix build on 15.3 (for the heimdal addc build), by bundling cmocka. + +------------------------------------------------------------------- +Fri Sep 17 08:49:47 UTC 2021 - Samuel Cabrero + +- Update to version 0.11.0 + + Other minor build fixes; (bso#14526); + + Add custom tag to events + + Add event trace api + +------------------------------------------------------------------- +Sat Mar 7 00:20:55 UTC 2020 - Noel Power + +- Update to version 0.10.2 + + Upgrade waf to version 2.0.18 to fix a cross-compilation issue; + (bso#13846). + +------------------------------------------------------------------- +Tue Nov 26 21:52:29 CET 2019 - Matej Cepl + +- Update to 0.10.1 ... make build with Python 3.8 working again + (new waf). + +------------------------------------------------------------------- +Thu Oct 03 22:04:33 UTC 2019 - James McDonough + +- Update to version 0.10.0 + + Remove Python 2.x support except to build just the bare C library + + Remove --extra-python (a build time mode to produce Python2 and Python3 + bindings at the same time) + + New minor version to allow Samba 4.10 to release a tevent if + required from that branch + +------------------------------------------------------------------- +Tue Mar 5 18:22:33 UTC 2019 - dmulder@suse.com + +- Update to version 0.9.39 + + py_tevent: add_timer takes float argument + + C99 build fixes. + + Fix standalone build of tevent. + +------------------------------------------------------------------- +Wed Feb 6 17:50:12 UTC 2019 - dmulder@suse.com + +- Update to version 0.9.38 + + Deprecate tevent wrapper api again + + Build fixes + + The build uses python3 by default: + + --extra-python would take python2 now + + To build with python2 only use: + PYTHON=python2 ./configure + PYTHON=python2 make + PYTHON=python2 make install + +------------------------------------------------------------------- +Tue Sep 25 07:37:57 UTC 2018 - Samuel Cabrero + +- Update license to LGPL-3.0 + +------------------------------------------------------------------- +Wed Aug 8 16:28:21 UTC 2018 - dmulder@suse.com + +- Update to version 0.9.37 + + simplify "poll" and "poll_mt" backends + + make tevent_abort() reachable for backends + + add tevent_common_invoke_*_handler() functions + + add tevent_context_same_loop() function + + add tevent_context_wrapper_create() infrastructure + + add tevent_req_profile infrastructure + +------------------------------------------------------------------- +Fri Mar 16 17:57:04 UTC 2018 - jmcdonough@suse.com + +- Update to version 0.9.36; (bso#13291); + + improve documentation of tevent_queue_add_optimize_empty() + + add tevent_queue_entry_untrigger() + + Minor cleanup. wakeup_fd can always be gotten from the event context. + + Use smb_set_close_on_exec() in example code. +- Use tirpc on newer sytems + +------------------------------------------------------------------- +Tue Nov 28 17:31:07 UTC 2017 - scabrero@suse.com + +- Update to version 0.9.34; (bsc#1069666); + + Remove unused select backend + + Fix a race condition in tevent_threaded_schedule_immediate(); + (bso#13130); + +------------------------------------------------------------------- +Wed Jul 26 08:49:04 UTC 2017 - scabrero@suse.com + +- Update to version 0.9.33 + + make tevent_req_print() more robust against crashes + +------------------------------------------------------------------- +Fri Jun 30 11:58:18 UTC 2017 - scabrero@suse.com + +- Update to version 0.9.32 + + Fix mutex locking in tevent_threaded_context_destructor(). + + Fix a memleak on FreeBSD. + + Re-init threading in tevent_re_initialise(). + + Include the finish location in tevent_req_default_print(). + +------------------------------------------------------------------- +Mon Feb 6 15:00:05 UTC 2017 - jengelh@inai.de + +- Drop redundant PreReq for ldconfig; this is autodetected. + Set RPM group right. + +------------------------------------------------------------------- +Thu Feb 2 14:57:25 UTC 2017 - aaptel@suse.com + + - Use https urls. + +------------------------------------------------------------------- +Tue Jan 24 17:21:20 UTC 2017 - ddiss@suse.com + +- Update to version 0.9.31; (bsc#1032915). + + Add tevent_req_reset_endtime + + Make talloc_free safe when threaded_contexts exist + + Add tevent_update_timer + + Factor out tevent_common_insert_timer + + Add threaded immediate activation + +------------------------------------------------------------------- +Wed Sep 14 08:49:43 UTC 2016 - jmcdonough@suse.com + +- Update to version 0.9.29. + + performance improvements. + +------------------------------------------------------------------- +Tue Mar 15 16:43:15 UTC 2016 - lmuelle@suse.com + +- Require talloc 2.1.6 at build-time; (bsc#954658). + +------------------------------------------------------------------- +Sun Feb 21 16:53:17 UTC 2016 - lmuelle@suse.com + +- Avoid a file collision for non SUSE build targets; (bsc#966174). + +------------------------------------------------------------------- +Wed Feb 19 15:48:45 UTC 2016 - lmuelle@suse.com + +- Update to 0.9.28; (bsc#954658). + + Fix memory leak when old signal action restored (bso#11742). +- Update to 0.9.27. + + Fix bug in poll backend - poll_event_loop_poll() exits the for loop on + POLLNVAL instead of continuing to find an event that is ready. + + Fix ETIME handling for Solaris event ports (bso#11728). + +------------------------------------------------------------------- +Wed Nov 11 17:52:45 UTC 2015 - lmuelle@suse.com + +- Update to 0.9.26; (bsc#954658). + + New tevent_thread_proxy API + + Minor build fixes + +------------------------------------------------------------------- +Fri Oct 30 15:18:10 UTC 2015 - lmuelle@suse.com + +- Disable rpath-install and silent-rules while configure. + +------------------------------------------------------------------- +Sun Oct 25 13:48:42 UTC 2015 - lmuelle@suse.com + +- Add python3-tevent; (bsc#951911). + +------------------------------------------------------------------- +Thu Oct 22 21:03:11 UTC 2015 - lmuelle@suse.com + +- Require python-talloc-devel instead of pytalloc-devel. + +------------------------------------------------------------------- +Mon Sep 7 22:14:42 UTC 2015 - lmuelle@suse.com + +- Recommend to install tevent-man from libtevent-devel on post-10.3 systems. + +------------------------------------------------------------------- +Mon Sep 7 17:50:34 UTC 2015 - lmuelle@suse.com + +- Remove superfluous _name define. + +------------------------------------------------------------------- +Mon Sep 7 17:06:26 UTC 2015 - lmuelle@suse.com + +- Update the Samba Library Distribution Key file 'tevent.keyring'; + (bso#945116). + +------------------------------------------------------------------- +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..c248b5b --- /dev/null +++ b/tevent-man.spec @@ -0,0 +1,228 @@ +# +# spec file for package tevent-man +# +# Copyright (c) 2023 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/ +# + + +%{!?py3_soflags: %global py3_soflags cpython-%{python3_version_nodots}m} + +%define talloc_version 2.4.1 +%define build_man 1 + +%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300 +%define bundle_cmocka 0 +%else +%define bundle_cmocka 1 +%endif + +%if %{build_man} +Name: tevent-man +BuildRequires: doxygen +%else +Name: tevent +BuildRequires: libtalloc-devel >= %{talloc_version} +%if 0%{?suse_version} >= 1330 +BuildRequires: libtirpc-devel +%endif +%if 0%{?suse_version} > 1020 +BuildRequires: pkg-config +%else +BuildRequires: pkgconfig +%endif +BuildRequires: pkg-config +BuildRequires: python3-devel +BuildRequires: python3-talloc >= %{talloc_version} +BuildRequires: python3-talloc-devel >= %{talloc_version} +%if ! %{bundle_cmocka} +BuildRequires: pkgconfig(cmocka) >= 1.1.3 +%endif +%endif # build_man +%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: https://tevent.samba.org/ +Version: 0.15.0 +Release: 0 +Summary: An event system based on the talloc memory management library +License: LGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Source: https://download.samba.org/pub/tevent/tevent-%{version}.tar.gz +Source1: https://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} + +%package -n libtevent0 +PreReq: /sbin/ldconfig +Summary: Samba tevent Library +Group: System/Libraries + +%description -n libtevent0 +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 +# Man pages are built in a 2nd spec file in order to break a build cycle with doxygen->cmake->krb5->libtevent +Group: Development/Libraries/C and C++ +%if 0%{?suse_version} > 1030 +Recommends: %{name}-man +%endif +Requires: libtalloc-devel >= %{talloc_version} +Requires: libtevent0 = %{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 python3-tevent +Summary: Python3 bindings for the Tevent library +Group: Development/Libraries/Python +Requires: libtevent0 = %{version} +PreReq: /sbin/ldconfig +Obsoletes: python-tevent + +%description -n python3-tevent +This package contains the python bindings for the Tevent library. + +%endif # ! build_man + +%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 +%if %{bundle_cmocka} + BUNDLED_LIBS="cmocka" +%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 \ + --disable-rpath-install \ + --disable-silent-rules \ + --bundled-libraries=NONE,${BUNDLED_LIBS} \ + --builtin-libraries=replace \ +" +./configure ${CONFIGURE_OPTIONS} +%{__make} %{build_make_smp_mflags} \ + all +%else + +doxygen doxy.config + +%endif # ! build_man + +%if ! %{build_man} +%check +LD_LIBRARY_PATH=bin/shared %{__make} test +%endif # ! build_man + +%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 # ! build_man + +%if ! %{build_man} +%post -n libtevent0 -p /sbin/ldconfig + +%postun -n libtevent0 -p /sbin/ldconfig + +%post -n python3-tevent -p /sbin/ldconfig + +%postun -n python3-tevent -p /sbin/ldconfig + +%files -n libtevent0 +%defattr(-,root,root) +%{_libdir}/libtevent.so.* +%if %{bundle_cmocka} +%dir %{_libdir}/tevent +%{_libdir}/tevent/libcmocka-tevent.so +%endif + +%files -n libtevent-devel +%defattr(-,root,root) +%{_includedir}/tevent.h +%{_libdir}/libtevent.so +%{_libdir}/pkgconfig/tevent.pc + +%files -n python3-tevent +%defattr(-,root,root) +%{python3_sitearch}/_tevent.%{py3_soflags}.so +%{python3_sitearch}/tevent.py +%if 0%{?centos_version} > 599 || 0%{?fedora_version} > 11 || 0%{?rhel_version} > 599 +%{python3_sitearch}/__pycache__/tevent.cpython-*.py[co] +%endif + +%else + +%files +%defattr(-,root,root) +%{_mandir}/man3/tevent*.* + +%endif # ! build_man + +%changelog diff --git a/tevent.changes b/tevent.changes new file mode 100644 index 0000000..c240890 --- /dev/null +++ b/tevent.changes @@ -0,0 +1,484 @@ +------------------------------------------------------------------- +Tue Sep 26 09:34:49 UTC 2023 - Noel Power + +- Update to version 0.15.0 + * remove py2 ifdefs + * python: Safely clear structure members + * the tevent_thread_call_depth API is updated + in order to allow better tracing. + * add tevent_set_max_debug_level() only and don't + pass TEVENT_DEBUG_TRACE to tevent_debug() callbacks by default. + * Spelling fixes + * Make use of epoll_create1() for epoll backend + * Optimize overhead in the epoll backend + +------------------------------------------------------------------- +Mon Apr 24 10:07:08 UTC 2023 - Dominique Leuenberger + +- Add _multibuild to define 2nd spec file as additional flavor. + Eliminates the need for source package links in OBS. + +------------------------------------------------------------------- +Fri Mar 17 07:58:05 UTC 2023 - Samuel Cabrero + +- Update to version 0.14.1 + * Build fix for GNU/Hurd + * Build fix for Solaris, after removal of ports backend (bso#15298) +- Changes from version 0.14.0 + * Support python 3.12 + * Remove solaris port backend + * Make tevent_find_ops_byname() available for callers + * Allow the "standard" backend to be overloaded + * Add interface for request/subrequest call depth tracking + +------------------------------------------------------------------- +Thu Sep 22 15:48:44 UTC 2022 - Noel Power + +- Update to version 0.13.0 + + tevent: add tevent_cached_getpid() helper +- Update to version 0.12.0 + + tevent: Add tevent queue tracing support + + tevent: Use internally an empty trigger function for + blocker requests + +------------------------------------------------------------------- +Wed Feb 02 13:56:12 UTC 2022 - David Mulder + +- Fix build on 15.3 (for the heimdal addc build), by bundling cmocka. + +------------------------------------------------------------------- +Fri Sep 17 08:49:47 UTC 2021 - Samuel Cabrero + +- Update to version 0.11.0 + + Other minor build fixes; (bso#14526); + + Add custom tag to events + + Add event trace api + +------------------------------------------------------------------- +Sat Mar 7 00:20:55 UTC 2020 - Noel Power + +- Update to version 0.10.2 + + Upgrade waf to version 2.0.18 to fix a cross-compilation issue; + (bso#13846). + +------------------------------------------------------------------- +Tue Nov 26 21:52:29 CET 2019 - Matej Cepl + +- Update to 0.10.1 ... make build with Python 3.8 working again + (new waf). + +------------------------------------------------------------------- +Thu Oct 03 22:04:33 UTC 2019 - James McDonough + +- Update to version 0.10.0 + + Remove Python 2.x support except to build just the bare C library + + Remove --extra-python (a build time mode to produce Python2 and Python3 + bindings at the same time) + + New minor version to allow Samba 4.10 to release a tevent if + required from that branch + +------------------------------------------------------------------- +Tue Mar 5 18:22:33 UTC 2019 - dmulder@suse.com + +- Update to version 0.9.39 + + py_tevent: add_timer takes float argument + + C99 build fixes. + + Fix standalone build of tevent. + +------------------------------------------------------------------- +Wed Feb 6 17:50:12 UTC 2019 - dmulder@suse.com + +- Update to version 0.9.38 + + Deprecate tevent wrapper api again + + Build fixes + + The build uses python3 by default: + + --extra-python would take python2 now + + To build with python2 only use: + PYTHON=python2 ./configure + PYTHON=python2 make + PYTHON=python2 make install + +------------------------------------------------------------------- +Tue Sep 25 07:37:57 UTC 2018 - Samuel Cabrero + +- Update license to LGPL-3.0 + +------------------------------------------------------------------- +Wed Aug 8 16:28:21 UTC 2018 - dmulder@suse.com + +- Update to version 0.9.37 + + simplify "poll" and "poll_mt" backends + + make tevent_abort() reachable for backends + + add tevent_common_invoke_*_handler() functions + + add tevent_context_same_loop() function + + add tevent_context_wrapper_create() infrastructure + + add tevent_req_profile infrastructure + +------------------------------------------------------------------- +Fri Mar 16 17:57:04 UTC 2018 - jmcdonough@suse.com + +- Update to version 0.9.36; (bso#13291); + + improve documentation of tevent_queue_add_optimize_empty() + + add tevent_queue_entry_untrigger() + + Minor cleanup. wakeup_fd can always be gotten from the event context. + + Use smb_set_close_on_exec() in example code. +- Use tirpc on newer sytems + +------------------------------------------------------------------- +Tue Nov 28 17:31:07 UTC 2017 - scabrero@suse.com + +- Update to version 0.9.34; (bsc#1069666); + + Remove unused select backend + + Fix a race condition in tevent_threaded_schedule_immediate(); + (bso#13130); + +------------------------------------------------------------------- +Wed Jul 26 08:49:04 UTC 2017 - scabrero@suse.com + +- Update to version 0.9.33 + + make tevent_req_print() more robust against crashes + +------------------------------------------------------------------- +Fri Jun 30 11:58:18 UTC 2017 - scabrero@suse.com + +- Update to version 0.9.32 + + Fix mutex locking in tevent_threaded_context_destructor(). + + Fix a memleak on FreeBSD. + + Re-init threading in tevent_re_initialise(). + + Include the finish location in tevent_req_default_print(). + +------------------------------------------------------------------- +Mon Feb 6 15:00:05 UTC 2017 - jengelh@inai.de + +- Drop redundant PreReq for ldconfig; this is autodetected. + Set RPM group right. + +------------------------------------------------------------------- +Thu Feb 2 14:57:25 UTC 2017 - aaptel@suse.com + + - Use https urls. + +------------------------------------------------------------------- +Tue Jan 24 17:21:20 UTC 2017 - ddiss@suse.com + +- Update to version 0.9.31; (bsc#1032915). + + Add tevent_req_reset_endtime + + Make talloc_free safe when threaded_contexts exist + + Add tevent_update_timer + + Factor out tevent_common_insert_timer + + Add threaded immediate activation + +------------------------------------------------------------------- +Wed Sep 14 08:49:43 UTC 2016 - jmcdonough@suse.com + +- Update to version 0.9.29. + + performance improvements. + +------------------------------------------------------------------- +Tue Mar 15 16:43:15 UTC 2016 - lmuelle@suse.com + +- Require talloc 2.1.6 at build-time; (bsc#954658). + +------------------------------------------------------------------- +Sun Feb 21 16:53:17 UTC 2016 - lmuelle@suse.com + +- Avoid a file collision for non SUSE build targets; (bsc#966174). + +------------------------------------------------------------------- +Wed Feb 19 15:48:45 UTC 2016 - lmuelle@suse.com + +- Update to 0.9.28; (bsc#954658). + + Fix memory leak when old signal action restored (bso#11742). +- Update to 0.9.27. + + Fix bug in poll backend - poll_event_loop_poll() exits the for loop on + POLLNVAL instead of continuing to find an event that is ready. + + Fix ETIME handling for Solaris event ports (bso#11728). + +------------------------------------------------------------------- +Wed Nov 11 17:52:45 UTC 2015 - lmuelle@suse.com + +- Update to 0.9.26; (bsc#954658). + + New tevent_thread_proxy API + + Minor build fixes + +------------------------------------------------------------------- +Fri Oct 30 15:18:10 UTC 2015 - lmuelle@suse.com + +- Disable rpath-install and silent-rules while configure. + +------------------------------------------------------------------- +Sun Oct 25 13:48:42 UTC 2015 - lmuelle@suse.com + +- Add python3-tevent; (bsc#951911). + +------------------------------------------------------------------- +Thu Oct 22 21:03:11 UTC 2015 - lmuelle@suse.com + +- Require python-talloc-devel instead of pytalloc-devel. + +------------------------------------------------------------------- +Mon Sep 7 22:14:42 UTC 2015 - lmuelle@suse.com + +- Recommend to install tevent-man from libtevent-devel on post-10.3 systems. + +------------------------------------------------------------------- +Mon Sep 7 17:50:34 UTC 2015 - lmuelle@suse.com + +- Remove superfluous _name define. + +------------------------------------------------------------------- +Mon Sep 7 17:06:26 UTC 2015 - lmuelle@suse.com + +- Update the Samba Library Distribution Key file 'tevent.keyring'; + (bso#945116). + +------------------------------------------------------------------- +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.keyring b/tevent.keyring new file mode 100644 index 0000000..4574fe5 --- /dev/null +++ b/tevent.keyring @@ -0,0 +1,70 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +mQENBE0uBhsBCADIjamou8B7vf0Gnvdb8ZhJ708kXnoeGH161xffaYJg40rXhyyl +OHlc4ZLVc4OyFr+tWREgNDyBkeS5TTsJ3ul/cBMbBjpn2LOO41X1fenhlvWFkhuC +TcZJK1GNEH8iEHgHp7fjZ24p8cvHILGnHKOYFuHSK8t4Eai0vT/dwNDuU7HD4ZC0 +LZdVRIkIH5mZ+8ILmLKzzHl+Pbyoit/Utv+SuRuP1rGU606XEaMzBjejPlctHJSv +7SWRQCjnhg8rCdklJstBxUg5M/gof0WLCN5UfW8BJ08EP+ByAjPL2hGKQIBE9NVo +2dxEiLoLNwOT5724zcnzFpnaQrEqrxyD+YI1ABEBAAG0NVNhbWJhIExpYnJhcnkg +RGlzdHJpYnV0aW9uIEtleSA8c2FtYmEtYnVnc0BzYW1iYS5vcmc+iEYEEBECAAYF +Ak0uEpUACgkQbzORW2Vot+qG6ACfUQt2yoecHBL/V0iHOIx8UjPgbhEAnRTNt8jE +QzN6C2EoJDmbkl7Upp4fiEYEEBECAAYFAk0uFOYACgkQKGi9fisXk1FCKQCgk8Po +z2uzV5PUUec6VjKZfAHhV+YAoJaNpGAAjSio60pg1RjCRtCPadhCiEYEEBECAAYF +Ak1UwFIACgkQbf9zMVhTZ5Ef/ACfYBiLXN5chLucuj2K3FpaX6VGpXQAoLNZPFxx +i/5xQxaXMWQh383JtGpmiEYEExECAAYFAk01WA8ACgkQm70gjA5TCD8osgCfelqD +/E/2R1vAHaAkGBlaaLr/ZOMAn3qs18nkrINABIsO0ICeBkYJT0I1iQE8BBMBAgAm +AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AFAk8aer0FCQPNqBEACgkQR5ORYRMI +QCVy0AgAiZ13HmovVXtOEhyr62EFM9uzuD2iOx84tKemAutTYKV1E0lscoJRgj09 +U7i2ZJRdgPdpziGX+efnnZcpWmoIj8RzC67swlZD7YPYpVY+BKSFo3t8IHwyeECP +UZlEro6I5/J5rK8GdFEN8eqjjQIKOy7VojtEm//oqb1H75bHa52QOmDKaGXB0DZ2 +5fyKfi9hEKTK6YFD7ItLk8BU6t0tty57kDEpu5HcaNJbtRHveSTaVt1PBdfH99XH +AjkaOUtB43pQltMoDbSMil87Kjiy84KZvOMydgIBzNTEpdJ1B7FYQcf4MbVR6l9O +iHjoAUOio1MreObETNtQzdFDwal4bokBPAQTAQIAJgUCTS4GGwIbAwUJAeEzgAYL +CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEEeTkWETCEAl+h8H/2swoikW7T9Saa7G +vaOVcEuNkbRMjc3FP9BdfhSpxxuUCwH4xXNMZXXQeTT+4BD5p8niDK+gRS2RQMBH +I0f4s4ewRlkImV6mBcRuhxqFB3PUUKcjm9sb7vk3tuyQhGz7JvKdCiLBqRKYVIpJ +f++FVFzl62T/XUPrMwTvczl5zEMxlU62FzkZbjMbKr+xypJAzfh+TCE+h9QNPqky +9j7guQIWear3R2n4trcv2SigrCWa1+ZHPEf723OJsBm8HHxisqXQEqmkS8J6YLR/ +wowqNolPKjIiZaCOQ+YKxnVRxHQ/29cHxw8FNceg1nzOTlAGXR1wTozGGwQXcQx3 +CTXEGr6JATwEEwECACYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCUQUZzgUJ +BbhHJAAKCRBHk5FhEwhAJXAKB/4k71NcxA/xjJFMxh5HUjeLPi1ll7EYWVz9oOP6 ++0dfSfIxyfF0MGXEnHUFr8OZG3RnTKtPpmFsj+kN67SjtWW/JKYlq8+kV61DW065 +4kLYkzSIYwoqCxr6aMC6Q4QvJT0SCLM7hEZ6j+wI5PlDKSPp0DBIcnVjDDTjpjbq +9LYHEstZOOJ30Yw2wJVe3kvLlUAMTV1ovNgUE04xiR+mjvwUYTZpgxrllwwz8k+Q +Q3Ly1VX1z4N/mfMFSh+wiyvcZp37lhjHvHwATNDgcN8NUqREx5xPooqKk53YhycX +yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78iQE8BBMBAgAmAhsD +BgsJCAcDAgQVAggDBBYCAwECHgECF4AFAlMqq+EFCQfd2TsACgkQR5ORYRMIQCWx +FwgAjeJt022IVtvBH/IXBL6JWoA1ctTaNZXDvUFaCdstDQCh0v/8XjH0wUrADqrg +1TH1C3PAG4QNlssyd+WAyUNsdccGwd5GbNbIA8D3ZbabR5gYVkVu+ENxP0LHnHd/ +0YesYovhnwV9CLXMssnJtLNKxU/wOnG0TxnOVIBPU1nE/Gan8cUoCFKfdYsXRdUG +8mkslj0/fZ9xdKNZrGdTQ9Gvtt7ksAbkF+vC7ZkDcHqGL06sYzuBHoAAxpsKdnk3 +2A1P+84fVaBnszoD1dR6f32j/8t11FA8i6L+EzcS42y0+e9JDtywrmb5kF7hlDsj +jAsAgQYazdBZON+DSaua0XXoEIkBPAQTAQIAJgIbAwYLCQgHAwIEFQIIAwQWAgMB +Ah4BAheABQJVQKNgBQkJ89CjAAoJEEeTkWETCEAlrIAH/0lCfyN1KNWSv3KDnyBN +9RjsAGBIKYm+D7rgmrCLc7j/ogVEmcuun3IoyDLKNYSBan9qrwKo9vlE7ffzIUCf +UUyWaI/Zk6gzuyICDCrBHzl+uk+Rsc/qteTyF4HII2UfZgL8kHrqkwQ1iubNNJL9 +aMj8XrwRPJ4MbXDV3vay2uQ3REttUZFBa6Vrn5EtmWdtyCcLFFYWVDhzdpn1Zm7S +8XaUEjR/keEKFTg1iZW8+upURgTggu6/HDmheD2HQeqzbaIIRB+TumfE3SRqsZXK +1coupUPXTSeBQWz6q+k9NjSaz57EevuA5bD5vD4mbmM6grbz8cEkJwLNWmbYZ9+u +oom5AQ0ETS4GGwEIAL+v14HugI80TV1iTNpau3kusDxqhkvSyf1S7zvWHrcvllsI +DyecZAw9FjUn3bJLYBfBdqCfZD6QH2XIHSlfnFifEishfh4C88NKI9/wWVP9rnfg +APWRdI1ooC77JfzpWWa2hh5ZPgk8WrEB0ps6TAougz6mP2EUpB3NqJAEv1KE1STB +DrYIoZgX4Akxyiaf7Ny3J+Wdgw3JskuG7HeEC+rKZxqCrZHAyoGSMJTVTl4YPNF8 +GffuL8Sbqk015F3gbkXuY/2iLpAELQTeMlCzqZn3gZ9IAdJkmp0McbfSL6LSLI0M +0csE91g4bG42TPgAIwPLHsp1SiuuJbuE75ch3K0AEQEAAYkBJQQYAQIADwIbDAUC +Uyqr+AUJB93ZWQAKCRBHk5FhEwhAJdn6B/95HdRqkN78tlCrQjx1De/hqBAzR+9R +9Qa3JliTLMMwii6xp+NYiYXQCs2zBvM4vVIFwnFNawbzR7IGlP3mzeXKYHNAPVer +9DfoKdYxMVm/YfH8XFhjdloRLvahyV5zzPfuwHnp9O+D2ux9+rj9T+Y2FYX0NFDg +BRoJcsYa05EZzz86btYxUcaXcI/r7gCzChSfLA8/690erOHSBmEIUY4oWXjy56O8 +294CMqyqYs4bqDnIeH5nQ2Zlcld2rLMpXtuINPsrkqwrOgZb2WQ7Sdlvxd32YO9v +lL/Xyrdjn+VnTaSIQ/Rip6qosqxYuzDqeL9+In+ZnnnuF9ZLophqx7f7iQElBBgB +AgAPAhsMBQJVQKN0BQkJ89DUAAoJEEeTkWETCEAlbkgH/1v5ntI2GMIplnbar6Hp +q8FtGpfWKFXzxNR9ihKzOfWOicbd/v0yC2b2g5gZDumLFQIgyzEst7bgpwhk+WxH +7G+sYceMsEymZ/S9oLWOd++kwUSF5arPfxtpIi4KdFAShgDpdBTNNkm7K6ACjRh7 +Aq+4attqvsIUNTBYkb+zSO0UuJI53DCOM4Z9+qwGsQbMvTer6xR2lNlPKP9yRk1S +Sc/YAlT46qp53IiugtymDGBegSOsNGuehXQY7V2eKxWdtEilTmjuGUFutaoX89oX +YEB+l7H+SaCAZUAkYz6tfJVpU00FLTZeiLk2TGiQ71APpx3DjJkGryv48W6lwozb +T5Q= +=9mzF +-----END PGP PUBLIC KEY BLOCK----- diff --git a/tevent.spec b/tevent.spec new file mode 100644 index 0000000..37fc143 --- /dev/null +++ b/tevent.spec @@ -0,0 +1,228 @@ +# +# spec file for package tevent-man +# +# Copyright (c) 2023 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/ +# + + +%{!?py3_soflags: %global py3_soflags cpython-%{python3_version_nodots}m} + +%define talloc_version 2.4.1 +%define build_man 0 + +%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300 +%define bundle_cmocka 0 +%else +%define bundle_cmocka 1 +%endif + +%if %{build_man} +Name: tevent-man +BuildRequires: doxygen +%else +Name: tevent +BuildRequires: libtalloc-devel >= %{talloc_version} +%if 0%{?suse_version} >= 1330 +BuildRequires: libtirpc-devel +%endif +%if 0%{?suse_version} > 1020 +BuildRequires: pkg-config +%else +BuildRequires: pkgconfig +%endif +BuildRequires: pkg-config +BuildRequires: python3-devel +BuildRequires: python3-talloc >= %{talloc_version} +BuildRequires: python3-talloc-devel >= %{talloc_version} +%if ! %{bundle_cmocka} +BuildRequires: pkgconfig(cmocka) >= 1.1.3 +%endif +%endif # build_man +%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: https://tevent.samba.org/ +Version: 0.15.0 +Release: 0 +Summary: An event system based on the talloc memory management library +License: LGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Source: https://download.samba.org/pub/tevent/tevent-%{version}.tar.gz +Source1: https://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} + +%package -n libtevent0 +PreReq: /sbin/ldconfig +Summary: Samba tevent Library +Group: System/Libraries + +%description -n libtevent0 +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 +# Man pages are built in a 2nd spec file in order to break a build cycle with doxygen->cmake->krb5->libtevent +Group: Development/Libraries/C and C++ +%if 0%{?suse_version} > 1030 +Recommends: %{name}-man +%endif +Requires: libtalloc-devel >= %{talloc_version} +Requires: libtevent0 = %{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 python3-tevent +Summary: Python3 bindings for the Tevent library +Group: Development/Libraries/Python +Requires: libtevent0 = %{version} +PreReq: /sbin/ldconfig +Obsoletes: python-tevent + +%description -n python3-tevent +This package contains the python bindings for the Tevent library. + +%endif # ! build_man + +%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 +%if %{bundle_cmocka} + BUNDLED_LIBS="cmocka" +%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 \ + --disable-rpath-install \ + --disable-silent-rules \ + --bundled-libraries=NONE,${BUNDLED_LIBS} \ + --builtin-libraries=replace \ +" +./configure ${CONFIGURE_OPTIONS} +%{__make} %{build_make_smp_mflags} \ + all +%else + +doxygen doxy.config + +%endif # ! build_man + +%if ! %{build_man} +%check +LD_LIBRARY_PATH=bin/shared %{__make} test +%endif # ! build_man + +%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 # ! build_man + +%if ! %{build_man} +%post -n libtevent0 -p /sbin/ldconfig + +%postun -n libtevent0 -p /sbin/ldconfig + +%post -n python3-tevent -p /sbin/ldconfig + +%postun -n python3-tevent -p /sbin/ldconfig + +%files -n libtevent0 +%defattr(-,root,root) +%{_libdir}/libtevent.so.* +%if %{bundle_cmocka} +%dir %{_libdir}/tevent +%{_libdir}/tevent/libcmocka-tevent.so +%endif + +%files -n libtevent-devel +%defattr(-,root,root) +%{_includedir}/tevent.h +%{_libdir}/libtevent.so +%{_libdir}/pkgconfig/tevent.pc + +%files -n python3-tevent +%defattr(-,root,root) +%{python3_sitearch}/_tevent.%{py3_soflags}.so +%{python3_sitearch}/tevent.py +%if 0%{?centos_version} > 599 || 0%{?fedora_version} > 11 || 0%{?rhel_version} > 599 +%{python3_sitearch}/__pycache__/tevent.cpython-*.py[co] +%endif + +%else + +%files +%defattr(-,root,root) +%{_mandir}/man3/tevent*.* + +%endif # ! build_man + +%changelog