%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} # Keep this value in sync with the definition in openssl.spec. %define multilib_arches %{ix86} ia64 ppc ppc64 s390 s390x x86_64 sparc sparcv9 sparc64 Summary: Support for using OpenSSL in python scripts Name: m2crypto Version: 0.19.1 Release: 7 Source0: http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-%{version}.tar.gz # https://bugzilla.osafoundation.org/show_bug.cgi?id=2341 Patch0: m2crypto-0.18-timeouts.patch # This is only precautionary, it does fix anything - not sent upstream Patch1: m2crypto-0.18-gcc_macros.patch # https://bugzilla.osafoundation.org/show_bug.cgi?id=12718 Patch2: m2crypto-0.19.1-close-HTTPResponse.patch # Half in upstream SVN # Half is https://bugzilla.osafoundation.org/show_bug.cgi?id=12760 Patch3: m2crypto-0.19.1-ssl-selector.patch License: MIT Group: System Environment/Libraries URL: http://wiki.osafoundation.org/bin/view/Projects/MeTooCrypto BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: openssl-devel, python-devel BuildRequires: perl, pkgconfig, swig Requires: python %description This package allows you to call OpenSSL functions from python scripts. %prep %setup -q -n M2Crypto-%{version} %patch0 -p1 %patch1 -p1 -b .gcc_macros %patch2 -p1 %patch3 -p1 # Red Hat opensslconf.h #includes an architecture-specific file, but SWIG # doesn't follow the #include. # Determine which arch opensslconf.h is going to try to #include. basearch=%{_arch} %ifarch %{ix86} basearch=i386 %endif %ifarch sparcv9 basearch=sparc %endif %ifarch %{multilib_arches} for i in SWIG/_ec.i SWIG/_evp.i; do sed -i -e "s/opensslconf/opensslconf-${basearch}/" "$i" done %endif gcc -E -dM - < /dev/null | grep -v __STDC__ \ | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > SWIG/gcc_macros.h %build CFLAGS="$RPM_OPT_FLAGS" ; export CFLAGS if pkg-config openssl ; then CFLAGS="$CFLAGS `pkg-config --cflags openssl`" ; export CFLAGS LDFLAGS="$LDFLAGS`pkg-config --libs-only-L openssl`" ; export LDFLAGS fi # -cpperraswarn is necessary for including opensslconf-${basearch} directly SWIG_FEATURES=-cpperraswarn python setup.py build %install rm -rf $RPM_BUILD_ROOT CFLAGS="$RPM_OPT_FLAGS" ; export CFLAGS if pkg-config openssl ; then CFLAGS="$CFLAGS `pkg-config --cflags openssl`" ; export CFLAGS LDFLAGS="$LDFLAGS`pkg-config --libs-only-L openssl`" ; export LDFLAGS fi python setup.py install --root=$RPM_BUILD_ROOT for i in medusa medusa054; do sed -i -e '1s,#! /usr/local/bin/python,#! /usr/bin/python,' \ demo/$i/http_server.py done # Windows-only rm demo/Zope/starts.bat # Fix up documentation permssions find demo tests -type f -perm -111 -print0 | xargs -0 chmod a-x %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc CHANGES LICENCE README demo tests %{python_sitearch}/M2Crypto %{python_sitearch}/M2Crypto-*.egg-info %changelog * Wed Jun 3 2009 Miloslav Trmač - 0.19.1-7 - Only send the selector in SSL HTTP requests. Patch by James Bowes . Resolves: #491674 * Wed Feb 25 2009 Fedora Release Engineering - 0.19.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Wed Feb 4 2009 Miloslav Trmač - 0.19.1-5 - Close the connection when an m2urllib2 response is closed Resolves: #460692 - Work around conflicts between macros defined by gcc and swig * Sat Jan 17 2009 Tomas Mraz - 0.19.1-4 - rebuild with new openssl * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.19.1-3 - Rebuild for Python 2.6 * Mon Nov 10 2008 Miloslav Trmač - 0.19.1-2 - Import all gcc-defined macros into SWIG (recommended by Adam Tkac) * Mon Oct 13 2008 Miloslav Trmač - 0.19.1-1 - Update to m2crypto-0.19.1 * Mon Oct 6 2008 Miloslav Trmač - 0.19-1 - Update to m2crypto-0.19 - Fix some rpmlint warnings * Thu Sep 18 2008 Dennis Gilmore - 0.18.2-8 - enable sparc arches * Wed Jun 11 2008 Miloslav Trmač - 0.18.2-7 - Update m2urllib2 to match the Python 2.5 code instead * Sun Jun 8 2008 Miloslav Trmač - 0.18.2-6 - Don't remove the User-Agent header from proxied requests Related: #448858 - Update m2urllib2.py to work with Python 2.5 * Sat Jun 7 2008 Miloslav Trmač - 0.18.2-5 - Use User-Agent in HTTP proxy CONNECT requests Related: #448858 * Tue Feb 19 2008 Fedora Release Engineering - 0.18.2-4 - Autorebuild for GCC 4.3 * Fri Jan 11 2008 Miloslav Trmač - 0.18.2-3 - Ship Python egg information * Tue Dec 4 2007 Miloslav Trmač - 0.18.2-2 - Rebuild with openssl-0.9.8g * Fri Oct 26 2007 Miloslav Trmač - 0.18.2-1 - Update to m2crypto-0.18.2 - Remove BuildRequires: unzip * Sun Sep 23 2007 Miloslav Trmač - 0.18-2 - Add missing Host: header to CONNECT requests (patch by Karl Grindley) Resolves: #239034 - Fix License: * Wed Aug 1 2007 Miloslav Trmač - 0.18-1 - Update to m2crypto-0.18 * Wed Jul 11 2007 Miloslav Trmač - 0.17-3 - Try to fix build on Alpha Resolves: #246828 * Fri Apr 27 2007 Miloslav Trmac - 0.17-2 - Make m2xmlrpclib work with Python 2.5 Resolves: #237902 * Wed Jan 17 2007 Miloslav Trmac - 0.17-1 - Update to m2crypto-0.17 - Update for Python 2.5 * Thu Dec 7 2006 Miloslav Trmac - 0.16-8 - Rebuild with updated build tools to avoid DT_TEXTREL on s390x Resolves: #218578 * Thu Dec 7 2006 Jeremy Katz - 0.16-7 - rebuild against python 2.5 * Mon Oct 23 2006 Miloslav Trmac - 0.16-6 - Add support for SSL socket timeouts (based on a patch by James Bowes ) Resolves: #219966 * Fri Oct 20 2006 Miloslav Trmac - 0.16-5 - Backport the urllib2 wrapper (code by James Bowes ) Resolves: #210956 - Add proxy support for https using CONNECT (original patch by James Bowes ) Resolves: #210963 * Tue Sep 26 2006 Miloslav Trmac - 0.16-4 - Drop Obsoletes: openssl-python, openssl-python was last shipped in RHL 7.1 - Fix interpreter paths in demos * Sat Sep 23 2006 Miloslav Trmac - 0.16-3 - Make more compliant with Fedora guidelines - Update URL: * Wed Jul 12 2006 Jesse Keating - 0.16-2.1 - rebuild * Thu Jul 6 2006 Miloslav Trmac - 0.16-2 - Fix build with rawhide swig * Thu Jul 6 2006 Miloslav Trmac - 0.16-1 - Update to m2crypto-0.16 * Wed Apr 19 2006 Miloslav Trmac - 0.15-4 - Fix SSL.Connection.accept (#188742) * Fri Feb 10 2006 Jesse Keating - 0.15-3.2 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 0.15-3.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Tue Jan 3 2006 Miloslav Trmac - 0.15-3 - Add BuildRequires: swig * Fri Dec 09 2005 Jesse Keating - rebuilt * Wed Nov 9 2005 Miloslav Trmac - 0.15-2 - Rebuild with newer openssl * Mon Aug 29 2005 Miloslav Trmac - 0.15-1 - Update to m2crypto-0.15 - Drop bundled swig * Tue Jun 14 2005 Miloslav Trmac - 0.13-5 - Better fix for #159898, by Dan Williams * Thu Jun 9 2005 Miloslav Trmac - 0.13-4 - Fix invalid handle_error override in SSL.SSLServer (#159898, patch by Dan Williams) * Tue May 31 2005 Miloslav Trmac - 0.13-3 - Fix invalid Python version comparisons in M2Crypto.httpslib (#156979) - Don't ship obsolete xmlrpclib.py.patch - Clean up the build process a bit * Wed Mar 16 2005 Nalin Dahyabhai 0.13-2 - rebuild * Tue Nov 23 2004 Karsten Hopp 0.13-1 - update, remove now obsolete patches * Mon Nov 22 2004 Karsten Hopp 0.09-7 - changed pythonver from 2.3 to 2.4 * Tue Jun 15 2004 Elliot Lee - rebuilt * Tue Mar 02 2004 Elliot Lee - rebuilt * Tue Feb 24 2004 Harald Hoyer - 0.09-5 - changed pythonver from 2.2 to 2.3 - patched setup.py to cope with include path * Fri Feb 13 2004 Elliot Lee - rebuilt * Wed Jun 04 2003 Elliot Lee - rebuilt * Wed Jan 22 2003 Tim Powers - rebuilt * Tue Jan 14 2003 Nalin Dahyabhai 0.09-1 - Update to version 0.09 - Build using bundled copy of SWIG - Pick up additional CFLAGS and LDFLAGS from OpenSSL's pkgconfig data, if there is any - Handle const changes in new OpenSSL - Remove unnecessary ldconfig calls in post/postun * Thu Dec 12 2002 Elliot Lee 0.07_snap3-2 - Update to version 0.07_snap3 * Fri Jun 21 2002 Tim Powers - automated rebuild * Sun May 26 2002 Tim Powers - automated rebuild * Mon May 20 2002 Nalin Dahyabhai 0.05_snap4-4 - rebuild with Python 2.2 * Wed Apr 24 2002 Nalin Dahyabhai 0.05_snap4-3 - remove a stray -L at link-time which prevented linking with libssl (#59985) * Thu Aug 23 2001 Nalin Dahyabhai 0.05_snap4-2 - drop patch which isn't needed because we know swig is installed * Mon Apr 9 2001 Nalin Dahyabhai 0.05_snap4-1 - break off from openssl-python