[libtevent] Build pytevent properly
Stephen Gallagher
sgallagh at fedoraproject.org
Wed Dec 7 01:40:59 UTC 2011
commit 5871d0df25bea3641c04a06232d48ed5feff95f4
Author: Stephen Gallagher <sgallagh at redhat.com>
Date: Tue Dec 6 20:40:46 2011 -0500
Build pytevent properly
0002-Add-stub-python-module-for-tevent.patch | 47 ++++++++++++++++++++
...tform-independent-python-scripts-to-the-P.patch | 23 ++++++++++
0004-tevent-Install-python-tevent-modules.patch | 31 +++++++++++++
libtevent.spec | 29 ++++++++++++-
4 files changed, 129 insertions(+), 1 deletions(-)
---
diff --git a/0002-Add-stub-python-module-for-tevent.patch b/0002-Add-stub-python-module-for-tevent.patch
new file mode 100644
index 0000000..37c8551
--- /dev/null
+++ b/0002-Add-stub-python-module-for-tevent.patch
@@ -0,0 +1,47 @@
+From 5d1922739e852fcc2a143996e88420b09c5dbff9 Mon Sep 17 00:00:00 2001
+From: Jelmer Vernooij <jelmer at samba.org>
+Date: Tue, 6 Dec 2011 21:03:21 +0100
+Subject: [PATCH 1/3] Add stub python module for tevent.
+
+---
+ lib/tevent/tevent.py | 28 ++++++++++++++++++++++++++++
+ 1 files changed, 28 insertions(+), 0 deletions(-)
+ create mode 100644 lib/tevent/tevent.py
+
+diff --git a/lib/tevent/tevent.py b/lib/tevent/tevent.py
+new file mode 100644
+index 0000000000000000000000000000000000000000..758ed48a483f922382241a86ae933e61881b8dda
+--- /dev/null
++++ b/lib/tevent/tevent.py
+@@ -0,0 +1,28 @@
++#!/usr/bin/python
++#
++# Python integration for tevent
++#
++# Copyright (C) Jelmer Vernooij 2011
++#
++# ** NOTE! The following LGPL license applies to the tevent
++# ** library. This does NOT imply that all of Samba is released
++# ** under the LGPL
++#
++# This library is free software; you can redistribute it and/or
++# modify it under the terms of the GNU Lesser General Public
++# License as published by the Free Software Foundation; either
++# version 3 of the License, or (at your option) any later version.
++#
++# This library is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Lesser General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public
++# License along with this library; if not, see <http://www.gnu.org/licenses/>.
++
++from _tevent import (
++ backend_list,
++ Context,
++ Signal,
++ )
+--
+1.7.7.3
+
diff --git a/0003-Install-platform-independent-python-scripts-to-the-P.patch b/0003-Install-platform-independent-python-scripts-to-the-P.patch
new file mode 100644
index 0000000..5591165
--- /dev/null
+++ b/0003-Install-platform-independent-python-scripts-to-the-P.patch
@@ -0,0 +1,23 @@
+From de4b8943bfb40e2f50c9e4e2ee5d39e986317d08 Mon Sep 17 00:00:00 2001
+From: Jelmer Vernooij <jelmer at samba.org>
+Date: Tue, 6 Dec 2011 21:08:15 +0100
+Subject: [PATCH 2/3] Install (platform-independent) python scripts to the
+ PYTHONDIR rather than PYTHONARCHDIR.
+
+---
+ source4/scripting/python/wscript_build | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/source4/scripting/python/wscript_build b/source4/scripting/python/wscript_build
+index 8879f759bad789e9647437722c2a64146259595c..73f7ae80aeaae4d9c33f8bf52274b808660c2e5e 100644
+--- a/source4/scripting/python/wscript_build
++++ b/source4/scripting/python/wscript_build
+@@ -36,4 +36,4 @@ bld.SAMBA_SCRIPT('samba_python',
+ pattern='samba/**/*.py',
+ installdir='python')
+
+-bld.INSTALL_WILDCARD('${PYTHONARCHDIR}', 'samba/**/*.py', flat=False)
++bld.INSTALL_WILDCARD('${PYTHONDIR}', 'samba/**/*.py', flat=False)
+--
+1.7.7.3
+
diff --git a/0004-tevent-Install-python-tevent-modules.patch b/0004-tevent-Install-python-tevent-modules.patch
new file mode 100644
index 0000000..e8011d5
--- /dev/null
+++ b/0004-tevent-Install-python-tevent-modules.patch
@@ -0,0 +1,31 @@
+From 817f7529d3e6483c83ef336600b8743af62c545e Mon Sep 17 00:00:00 2001
+From: Jelmer Vernooij <jelmer at samba.org>
+Date: Tue, 6 Dec 2011 21:18:43 +0100
+Subject: [PATCH 3/3] tevent: Install python tevent modules.
+
+Autobuild-User: Jelmer Vernooij <jelmer at samba.org>
+Autobuild-Date: Tue Dec 6 23:13:37 CET 2011 on sn-devel-104
+---
+ lib/tevent/wscript | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/lib/tevent/wscript b/lib/tevent/wscript
+index 5afaacaa55d80ca174ad8806385deddaf648b3f6..d240630b6a6fed3c75dca9a4f5ec211996683edf 100644
+--- a/lib/tevent/wscript
++++ b/lib/tevent/wscript
+@@ -97,6 +97,12 @@ def build(bld):
+ 'pytevent.c',
+ deps='tevent',
+ realname='_tevent.so')
++ # install out various python scripts for use by make test
++ bld.SAMBA_SCRIPT('tevent_python',
++ pattern='tevent.py',
++ installdir='python')
++
++ bld.INSTALL_WILDCARD('${PYTHONDIR}', 'tevent.py', flat=False)
+
+
+ def test(ctx):
+--
+1.7.7.3
+
diff --git a/libtevent.spec b/libtevent.spec
index a7de97e..2aaa505 100644
--- a/libtevent.spec
+++ b/libtevent.spec
@@ -6,7 +6,7 @@
Name: libtevent
Version: 0.9.14
-Release: 3%{?dist}
+Release: 4%{?dist}
Group: System Environment/Daemons
Summary: The tevent library
License: LGPLv3+
@@ -23,6 +23,7 @@ Provides: bundled(libreplace)
# Patches
Patch1001: 0001-build-added-autoconf-disable-silent-rules-option.patch
+Patch1002: FED02-fix-pytevent-build.patch
%description
Tevent is an event system based on the talloc memory management library.
@@ -51,13 +52,35 @@ Requires: libtevent = %{version}-%{release}
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}
+
%patch1001 -p1
+UpdateTimestamps -p1 %{_sourcedir}/0001-build-added-autoconf-disable-silent-rules-option.patch
+
+%patch1002 -p1
+UpdateTimestamps -p1 %{_sourcedir}/FED02-fix-pytevent-build.patch
+
%build
%configure --disable-rpath \
--bundled-libraries=NONE \
--builtin-libraries=replace
+
make %{?_smp_mflags} V=1
doxygen doxy.config
@@ -93,6 +116,7 @@ rm -rf $RPM_BUILD_ROOT
%files -n python-tevent
%defattr(-,root,root,-)
+%{python_sitelib}/tevent.py*
%{python_sitearch}/_tevent.so
%post -p /sbin/ldconfig
@@ -100,6 +124,9 @@ rm -rf $RPM_BUILD_ROOT
%postun -p /sbin/ldconfig
%changelog
+* Tue Dec 06 2011 Stephen Gallagher <sgallagh at redhat.com> - 0.9.14-4
+- Build pytevent properly
+
* Thu Dec 01 2011 Stephen Gallagher <sgallagh at redhat.com> - 0.9.14-3
- Add patch to ignore --disable-silent-rules
- Include API documentation
More information about the scm-commits
mailing list