From d4744b4a955cbde79045ddd1a72722be6a69cccc Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: Aug 08 2013 08:09:32 +0000 Subject: import libtevent-0.9.18-4.el7.src.rpm --- diff --git a/.libtevent.metadata b/.libtevent.metadata new file mode 100644 index 0000000..783286e --- /dev/null +++ b/.libtevent.metadata @@ -0,0 +1 @@ +783f6ed1971e053f893940c71276e04a82bca701 SOURCES/tevent-0.9.18.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/0001-tevent-Fix-Coverity-ID-989236-Operands-don-t-affect-.patch b/SOURCES/0001-tevent-Fix-Coverity-ID-989236-Operands-don-t-affect-.patch new file mode 100644 index 0000000..6e2d8e5 --- /dev/null +++ b/SOURCES/0001-tevent-Fix-Coverity-ID-989236-Operands-don-t-affect-.patch @@ -0,0 +1,26 @@ +From dd0e38b5feb51c8aa44e76bb6c84202bf8373005 Mon Sep 17 00:00:00 2001 +From: Volker Lendecke +Date: Thu, 13 Jun 2013 20:35:32 +0200 +Subject: [PATCH] tevent: Fix Coverity ID 989236 Operands don't affect result + +"unsigned" could be less than uint64_t, so idx==UINT64_MAX is always false. + +Signed-off-by: Volker Lendecke +Reviewed-by: Jeremy Allison + +diff --git a/lib/tevent/tevent_poll.c b/lib/tevent/tevent_poll.c +index c6e2a00ffec6393fd6fccc1a3836f63e4ef4e045..75d0ced5a09ea86505a5df49b3c84073d3aa0f02 100644 +--- a/lib/tevent/tevent_poll.c ++++ b/lib/tevent/tevent_poll.c +@@ -546,7 +546,7 @@ static int poll_event_loop_poll(struct tevent_context *ev, + the handler to remove itself when called */ + + for (fde = ev->fd_events; fde; fde = fde->next) { +- unsigned idx = fde->additional_flags; ++ uint64_t idx = fde->additional_flags; + struct pollfd *pfd; + uint16_t flags = 0; + +-- +1.8.2.1 + diff --git a/SOURCES/tevent-0.9.18-wait_never_finishes.patch b/SOURCES/tevent-0.9.18-wait_never_finishes.patch new file mode 100644 index 0000000..464a8c6 --- /dev/null +++ b/SOURCES/tevent-0.9.18-wait_never_finishes.patch @@ -0,0 +1,38 @@ +@@ -, +, @@ + tevent: Remove the signal pipe if no signal events are around + + It makes adding/removing the first/last sigevents a bit more expensive, but it + will fix tevent_loop_wait not finishing when one signal event was added and + removed. + + Bug: https://bugzilla.samba.org/show_bug.cgi?id=10012 + + Signed-off-by: Volker Lendecke + Signed-off-by: Stefan Metzmacher + Reviewed-by: Andreas Schneider +--- + lib/tevent/tevent_signal.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) +--- a/lib/tevent/tevent_signal.c ++++ a/lib/tevent/tevent_signal.c +@@ -175,7 +175,19 @@ static int tevent_signal_destructor(struct tevent_signal *se) + struct tevent_common_signal_list); + + if (se->event_ctx) { +- DLIST_REMOVE(se->event_ctx->signal_events, se); ++ struct tevent_context *ev = se->event_ctx; ++ ++ DLIST_REMOVE(ev->signal_events, se); ++ ++ if (ev->signal_events == NULL && ev->pipe_fde != NULL) { ++ /* ++ * This was the last signal. Destroy the pipe. ++ */ ++ TALLOC_FREE(ev->pipe_fde); ++ ++ close(ev->pipe_fds[0]); ++ close(ev->pipe_fds[1]); ++ } + } + + talloc_free(sl); diff --git a/SPECS/libtevent.spec b/SPECS/libtevent.spec new file mode 100644 index 0000000..99039ee --- /dev/null +++ b/SPECS/libtevent.spec @@ -0,0 +1,220 @@ +Name: libtevent +Version: 0.9.18 +Release: 4%{?dist} +Group: System Environment/Daemons +Summary: The tevent library +License: LGPLv3+ +URL: http://tevent.samba.org/ +Source: http://samba.org/ftp/tevent/tevent-%{version}.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) + +BuildRequires: libtalloc-devel >= 2.0.7 +BuildRequires: python-devel +BuildRequires: pytalloc-devel >= 2.0.7 +BuildRequires: doxygen +BuildRequires: docbook-style-xsl +BuildRequires: libxslt + +Provides: bundled(libreplace) + +# Patches +Patch0001: 0001-tevent-Fix-Coverity-ID-989236-Operands-don-t-affect-.patch +Patch0002: tevent-0.9.18-wait_never_finishes.patch + +%description +Tevent is an event system based on the talloc memory management library. +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. + +%package devel +Group: Development/Libraries +Summary: Developer tools for the Tevent library +Requires: libtevent%{?_isa} = %{version}-%{release} +Requires: libtalloc-devel%{?_isa} >= 2.0.7 +Requires: pkgconfig + +%description devel +Header files needed to develop programs that link against the Tevent library. + + +%package -n python-tevent +Group: Development/Libraries +Summary: Python bindings for the Tevent library +Requires: libtevent%{?_isa} = %{version}-%{release} + +%description -n python-tevent +Python bindings for libtevent + +%prep +# Update timestamps on the files touched by a patch, to avoid non-equal +# .pyc/.pyo files across the multilib peers within a build, where "Level" +# is the patch prefix option (e.g. -p1) +# Taken from specfile for python-simplejson +UpdateTimestamps() { + Level=$1 + PatchFile=$2 + + # Locate the affected files: + for f in $(diffstat $Level -l $PatchFile); do + # Set the files to have the same timestamp as that of the patch: + touch -r $PatchFile $f + done +} + +%setup -q -n tevent-%{version} + +%patch0001 -p3 -b .flags +%patch0002 -p3 -b .wait + +%build +%configure --disable-rpath \ + --bundled-libraries=NONE \ + --builtin-libraries=replace + +make %{?_smp_mflags} V=1 + +doxygen doxy.config + +%install +rm -rf $RPM_BUILD_ROOT + +make install DESTDIR=$RPM_BUILD_ROOT + +# 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 {} \; + +rm -f $RPM_BUILD_ROOT%{_libdir}/libtevent.a + +# Install API docs +rm -f doc/man/man3/todo* +mkdir -p $RPM_BUILD_ROOT/%{_mandir} +cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root,-) +%{_libdir}/libtevent.so.* + +%files devel +%defattr(-,root,root,-) +%{_includedir}/tevent.h +%{_libdir}/libtevent.so +%{_libdir}/pkgconfig/tevent.pc +%{_mandir}/man3/tevent*.gz + +%files -n python-tevent +%defattr(-,root,root,-) +%{python_sitearch}/tevent.py* +%{python_sitearch}/_tevent.so + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%changelog +* Thu Aug 08 2013 Jakub Hrozek - 0.9.18-4 +- Resolves: rhbz#994015 - tevent_loop_wait() never finishes + +* Mon Jul 01 2013 Stephen Gallagher - 0.9.18-3 +- Make the dependency requirements arch-specific +- Remove ancient, unused patches +- Remove python variables that are not needed on modern systems + +* Wed Jun 19 2013 Jakub Hrozek - 0.9.18-2 +- Apply a patch from upstream to fix tevent_poll's additional_flags + on 32bit architectures +- Resolves: rhbz#975490 + +* Mon Mar 18 2013 Jakub Hrozek - 0.9.18-1 +- New upstream release 0.9.18 + +* Thu Feb 14 2013 Fedora Release Engineering - 0.9.17-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Aug 20 2012 Jakub Hrozek - 0.9.17-3 +- Dropping the workaround dropped even the doxygen command itself.. + +* Mon Aug 20 2012 Jakub Hrozek - 0.9.17-2 +- Drop the workaround for building man pages, it has already been + included upstream + +* Mon Aug 20 2012 Jakub Hrozek - 0.9.17-1 +- New upstream release 0.9.17 + +* Fri Aug 03 2012 Jakub Hrozek - 0.9.16-3 +- Own the individual manual pages, not the top-level directory + +* Thu Jul 19 2012 Fedora Release Engineering - 0.9.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 20 2012 Stephen Gallagher - 0.9.16-1 +- New upstream release 0.9.16 +- Adds tevent_*_trace_*() and tevent_context_init_ops() +- Move tevent.py to the arch-specific directory + +* Fri Feb 10 2012 Stephen Gallagher - 0.9.15-1 +- New upstream release 0.9.15 +- Properly re-sets the nested.level flag in the ev.ctx when reinitializing + after a fork() +- Allow tevent_signal events to be freed during their handler + +* Fri Jan 13 2012 Fedora Release Engineering - 0.9.14-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 06 2011 Stephen Gallagher - 0.9.14-4 +- Include missing patch file + +* Tue Dec 06 2011 Stephen Gallagher - 0.9.14-4 +- Build pytevent properly + +* Thu Dec 01 2011 Stephen Gallagher - 0.9.14-3 +- Add patch to ignore --disable-silent-rules +- Include API documentation + +* Wed Nov 23 2011 Stephen Gallagher - 0.9.14-2 +- Add explicit mention of the bundled libreplace +- https://fedorahosted.org/fpc/ticket/120 + +* Wed Nov 09 2011 Stephen Gallagher - 0.9.14-1 +- New upstream release +- Required for building more recent versions of samba4 + +* Tue Aug 2 2011 Simo Sorce - 0.9.13-1 +- New upstream release + +* Tue Mar 15 2011 Simo Sorce - 0.9.11-1 +- New upstream release + +* Tue Feb 08 2011 Fedora Release Engineering - 0.9.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 18 2011 Stephen Gallagher - 0.9.10-3 +- Add missing Buildrequires for pytalloc-devel + +* Fri Jan 14 2011 Stephen Gallagher - 0.9.10-2 +- Let rpmbuild strip binaries, make build more verbose. +- Original patch by Ville Skyttä + +* Wed Jan 12 2011 Stephen Gallagher - 0.9.10-1 +- New upstream release +- Convert to new WAF build-system + +* Wed Feb 24 2010 Stephen Gallagher - 0.9.8-7.1 +- Bump revision to chain-build libtevent, samba4 and sssd + +* Wed Feb 24 2010 Stephen Gallagher - 0.9.8-7 +- Drop ABI compatibility patch (no longer needed) + +* Wed Sep 23 2009 Simo Sorce - 0.9.8-5 +- Add patch to fix a segfault case + +* Wed Sep 16 2009 Simo Sorce - 0.9.8-2 +- Fix abi compatibility with 0.9.3 + +* Sat Sep 8 2009 Simo Sorce - 0.9.8-1 +- First independent release for tevent 0.9.8