add python3 subpackage (#985288)
This commit is contained in:
parent
c2150c3aea
commit
c73ce635bc
101
0003-python3-use-Py_TYPE-obj-instead-of-obj-ob_type.patch
Normal file
101
0003-python3-use-Py_TYPE-obj-instead-of-obj-ob_type.patch
Normal file
@ -0,0 +1,101 @@
|
||||
From 1b2df1bd709c6fffc830bc3d5f5a06ebe2f7c8b5 Mon Sep 17 00:00:00 2001
|
||||
From: Kamil Dudka <kdudka@redhat.com>
|
||||
Date: Thu, 8 Aug 2013 13:56:50 +0200
|
||||
Subject: [PATCH] python3: use Py_TYPE(obj) instead of obj->ob_type
|
||||
|
||||
---
|
||||
src/pycurl.c | 22 +++++++++++-----------
|
||||
1 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/src/pycurl.c b/src/pycurl.c
|
||||
index 87dac7e..fcd8880 100644
|
||||
--- a/src/pycurl.c
|
||||
+++ b/src/pycurl.c
|
||||
@@ -382,7 +382,7 @@ get_thread_state(const CurlObject *self)
|
||||
*/
|
||||
if (self == NULL)
|
||||
return NULL;
|
||||
- assert(self->ob_type == p_Curl_Type);
|
||||
+ assert(Py_TYPE(self) == p_Curl_Type);
|
||||
if (self->state != NULL)
|
||||
{
|
||||
/* inside perform() */
|
||||
@@ -412,7 +412,7 @@ get_thread_state_multi(const CurlMultiObject *self)
|
||||
*/
|
||||
if (self == NULL)
|
||||
return NULL;
|
||||
- assert(self->ob_type == p_CurlMulti_Type);
|
||||
+ assert(Py_TYPE(self) == p_CurlMulti_Type);
|
||||
if (self->state != NULL)
|
||||
{
|
||||
/* inside multi_perform() */
|
||||
@@ -455,7 +455,7 @@ static void
|
||||
assert_share_state(const CurlShareObject *self)
|
||||
{
|
||||
assert(self != NULL);
|
||||
- assert(self->ob_type == p_CurlShare_Type);
|
||||
+ assert(Py_TYPE(self) == p_CurlShare_Type);
|
||||
#ifdef WITH_THREAD
|
||||
assert(self->lock != NULL);
|
||||
#endif
|
||||
@@ -467,7 +467,7 @@ static void
|
||||
assert_curl_state(const CurlObject *self)
|
||||
{
|
||||
assert(self != NULL);
|
||||
- assert(self->ob_type == p_Curl_Type);
|
||||
+ assert(Py_TYPE(self) == p_Curl_Type);
|
||||
#ifdef WITH_THREAD
|
||||
(void) get_thread_state(self);
|
||||
#endif
|
||||
@@ -479,7 +479,7 @@ static void
|
||||
assert_multi_state(const CurlMultiObject *self)
|
||||
{
|
||||
assert(self != NULL);
|
||||
- assert(self->ob_type == p_CurlMulti_Type);
|
||||
+ assert(Py_TYPE(self) == p_CurlMulti_Type);
|
||||
#ifdef WITH_THREAD
|
||||
if (self->state != NULL) {
|
||||
assert(self->multi_handle != NULL);
|
||||
@@ -1061,7 +1061,7 @@ util_curl_close(CurlObject *self)
|
||||
/* Zero handle and thread-state to disallow any operations to be run
|
||||
* from now on */
|
||||
assert(self != NULL);
|
||||
- assert(self->ob_type == p_Curl_Type);
|
||||
+ assert(Py_TYPE(self) == p_Curl_Type);
|
||||
handle = self->handle;
|
||||
self->handle = NULL;
|
||||
if (handle == NULL) {
|
||||
@@ -2351,7 +2351,7 @@ do_curl_setopt(CurlObject *self, PyObject *args)
|
||||
return Py_None;
|
||||
}
|
||||
}
|
||||
- if (obj->ob_type != p_CurlShare_Type) {
|
||||
+ if (Py_TYPE(obj) != p_CurlShare_Type) {
|
||||
PyErr_SetString(PyExc_TypeError, "invalid arguments to setopt");
|
||||
return NULL;
|
||||
}
|
||||
@@ -3093,7 +3093,7 @@ do_multi_info_read(CurlMultiObject *self, PyObject *args)
|
||||
Py_DECREF(ok_list);
|
||||
CURLERROR_MSG("Unable to fetch curl handle from curl object");
|
||||
}
|
||||
- assert(co->ob_type == p_Curl_Type);
|
||||
+ assert(Py_TYPE(co) == p_Curl_Type);
|
||||
if (msg->msg != CURLMSG_DONE) {
|
||||
/* FIXME: what does this mean ??? */
|
||||
}
|
||||
@@ -3684,9 +3684,9 @@ initpycurl(void)
|
||||
p_Curl_Type = &Curl_Type;
|
||||
p_CurlMulti_Type = &CurlMulti_Type;
|
||||
p_CurlShare_Type = &CurlShare_Type;
|
||||
- Curl_Type.ob_type = &PyType_Type;
|
||||
- CurlMulti_Type.ob_type = &PyType_Type;
|
||||
- CurlShare_Type.ob_type = &PyType_Type;
|
||||
+ Py_TYPE(&Curl_Type) = &PyType_Type;
|
||||
+ Py_TYPE(&CurlMulti_Type) = &PyType_Type;
|
||||
+ Py_TYPE(&CurlShare_Type) = &PyType_Type;
|
||||
|
||||
/* Create the module and add the functions */
|
||||
m = Py_InitModule3("pycurl", curl_methods, module_doc);
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
Name: python-pycurl
|
||||
Version: 7.19.0
|
||||
Release: 18.20130315git8d654296%{?dist}
|
||||
Release: 19.20130315git8d654296%{?dist}
|
||||
Summary: A Python interface to libcurl
|
||||
|
||||
Group: Development/Languages
|
||||
@ -17,8 +17,12 @@ Patch0: 0000-pycurl-7.19.7-8d654296.patch
|
||||
Patch1: 0001-do_curl_getinfo-fix-misplaced-endif.patch
|
||||
Patch2: 0002-runwsgi.py-start-the-server-explicitly-at-127.0.0.1.patch
|
||||
|
||||
# for Python3 compatibility
|
||||
Patch3: 0003-python3-use-Py_TYPE-obj-instead-of-obj-ob_type.patch
|
||||
|
||||
Requires: keyutils-libs
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: curl-devel >= 7.19.0
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: python-bottle
|
||||
@ -44,6 +48,15 @@ objects identified by a URL from a Python program, similar to the
|
||||
urllib Python module. PycURL is mature, very fast, and supports a lot
|
||||
of features.
|
||||
|
||||
%package -n python3-pycurl
|
||||
Summary: A Python interface to libcurl for Python 3
|
||||
|
||||
%description -n python3-pycurl
|
||||
PycURL is a Python interface to libcurl. PycURL can be used to fetch
|
||||
objects identified by a URL from a Python program, similar to the
|
||||
urllib Python module. PycURL is mature, very fast, and supports a lot
|
||||
of features.
|
||||
|
||||
%prep
|
||||
%setup0 -q -n pycurl-%{version}
|
||||
|
||||
@ -56,6 +69,7 @@ find -type f | xargs sed -i 's/\$Id: [^$]*\$/$Id$/'
|
||||
# patches not yet upstream
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
# remove a test specific to OpenSSL-powered libcurl
|
||||
rm -f tests/certinfo_test.py
|
||||
@ -63,22 +77,43 @@ rm -f tests/certinfo_test.py
|
||||
# temporarily disable intermittently failing test-case
|
||||
rm -f tests/multi_socket_select_test.py
|
||||
|
||||
# copy the whole directory for the python3 build
|
||||
cp -a . %{py3dir}
|
||||
|
||||
%build
|
||||
CFLAGS="$RPM_OPT_FLAGS -DHAVE_CURL_OPENSSL" %{__python} setup.py build
|
||||
export CFLAGS="$RPM_OPT_FLAGS -DHAVE_CURL_OPENSSL"
|
||||
%{__python} setup.py build
|
||||
pushd %{py3dir}
|
||||
%{__python3} setup.py build
|
||||
popd
|
||||
|
||||
%check
|
||||
export PYTHONPATH=$RPM_BUILD_ROOT%{python_sitearch}
|
||||
make test PYTHON=%{__python}
|
||||
pushd %{py3dir}
|
||||
export PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch}
|
||||
make test PYTHON=%{__python3}
|
||||
popd
|
||||
|
||||
%install
|
||||
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
|
||||
pushd %{py3dir}
|
||||
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
|
||||
popd
|
||||
rm -rf %{buildroot}%{_datadir}/doc/pycurl
|
||||
|
||||
%files
|
||||
%doc COPYING COPYING2 ChangeLog README.rst TODO examples doc tests
|
||||
%{python_sitearch}/*
|
||||
|
||||
%files -n python3-pycurl
|
||||
%doc COPYING COPYING2 ChangeLog README.rst TODO examples doc tests
|
||||
%{python3_sitearch}/*
|
||||
|
||||
%changelog
|
||||
* Thu Aug 08 2013 Kamil Dudka <kdudka@redhat.com> - 7.19.0-19.20130315git8d654296
|
||||
- add python3 subpackage (#985288)
|
||||
|
||||
* Thu Aug 08 2013 Kamil Dudka <kdudka@redhat.com> - 7.19.0-18.20130315git8d654296
|
||||
- sync with upstream 8d654296
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user