[Python-modules-commits] r4922 - in packages/python-processing/trunk/debian (4 files)

morph-guest at users.alioth.debian.org morph-guest at users.alioth.debian.org
Tue Mar 25 22:55:33 UTC 2008


    Date: Tuesday, March 25, 2008 @ 22:55:32
  Author: morph-guest
Revision: 4922

fix execution on 64bit arch + tests

Added:
  packages/python-processing/trunk/debian/patches/20_fix_64bit_arch.dpatch
  packages/python-processing/trunk/debian/patches/30_fixes_to_make_tests_work.dpatch
Modified:
  packages/python-processing/trunk/debian/changelog
  packages/python-processing/trunk/debian/patches/00list

Modified: packages/python-processing/trunk/debian/changelog
===================================================================
--- packages/python-processing/trunk/debian/changelog	2008-03-25 19:42:18 UTC (rev 4921)
+++ packages/python-processing/trunk/debian/changelog	2008-03-25 22:55:32 UTC (rev 4922)
@@ -7,8 +7,12 @@
     - updated tests location and added examples location to dh_installexamples
   * debian/control
     - added {build-,}dep on python-ctypes
+  * debian/patches/20_fix_64bit_arch.dpatch
+    - added to let the package be usable on 64 bit arches
+  * debian/patches/30_fixes_to_make_tests_work.dpatch
+    - added to fix some problems in tests code
 
- -- Sandro Tosi <matrixhasu at gmail.com>  Sun, 23 Mar 2008 23:19:03 +0100
+ -- Sandro Tosi <matrixhasu at gmail.com>  Tue, 25 Mar 2008 23:55:20 +0100
 
 python-processing (0.40-2) unstable; urgency=low
 

Modified: packages/python-processing/trunk/debian/patches/00list
===================================================================
--- packages/python-processing/trunk/debian/patches/00list	2008-03-25 19:42:18 UTC (rev 4921)
+++ packages/python-processing/trunk/debian/patches/00list	2008-03-25 22:55:32 UTC (rev 4922)
@@ -1,2 +1,4 @@
 01_setup.py
 10_fix_index_html
+20_fix_64bit_arch
+30_fixes_to_make_tests_work

Added: packages/python-processing/trunk/debian/patches/20_fix_64bit_arch.dpatch
===================================================================
--- packages/python-processing/trunk/debian/patches/20_fix_64bit_arch.dpatch	                        (rev 0)
+++ packages/python-processing/trunk/debian/patches/20_fix_64bit_arch.dpatch	2008-03-25 22:55:32 UTC (rev 4922)
@@ -0,0 +1,104 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_fix_64bit_arch.dpatch by Sandro Tosi <matrixhasu at gmail.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Allow to be usable on 64 bit arches
+
+ at DPATCH@
+diff -urNad python-processing~/src/processing.c python-processing/src/processing.c
+--- python-processing~/src/processing.c	2008-03-20 14:03:02.000000000 +0100
++++ python-processing/src/processing.c	2008-03-25 23:54:13.420966304 +0100
+@@ -160,63 +160,70 @@
+ {
+     int conn, fd, res;
+     char dummy_char;
+-    struct fd_control_message fdmsg;
+-    struct iovec dummy_iov;
++    char buf[CMSG_SPACE(sizeof(int))];
+     struct msghdr msg = {0};
++    struct iovec dummy_iov;
++    struct cmsghdr *cmsg;
+ 
+     if (!PyArg_ParseTuple(args, "ii", &conn, &fd))
+         return NULL;
+ 
+-    fdmsg.fd = fd;
+-    fdmsg.hdr.cmsg_level = SOL_SOCKET;
+-    fdmsg.hdr.cmsg_type = SCM_RIGHTS;
+-    fdmsg.hdr.cmsg_len = sizeof(fdmsg);
+     dummy_iov.iov_base = &dummy_char;
+     dummy_iov.iov_len = 1;
+-    msg.msg_control = &fdmsg;
+-    msg.msg_controllen = sizeof(fdmsg);
++    msg.msg_control = buf;
++    msg.msg_controllen = sizeof(buf);
+     msg.msg_iov = &dummy_iov;
+     msg.msg_iovlen = 1;
++    cmsg = CMSG_FIRSTHDR(&msg);
++    cmsg->cmsg_level = SOL_SOCKET;
++    cmsg->cmsg_type = SCM_RIGHTS;
++    cmsg->cmsg_len = CMSG_LEN(sizeof(int));
++    msg.msg_controllen = cmsg->cmsg_len;
++    *(int*)CMSG_DATA(cmsg) = fd;
+ 
+     Py_BEGIN_ALLOW_THREADS
+     res = sendmsg(conn, &msg, 0);
+     Py_END_ALLOW_THREADS
+ 
+     if (res < 0)
+-        return PyErr_SetFromErrno(PyExc_IOError);
++        return PyErr_SetFromErrno(PyExc_OSError);
+     Py_RETURN_NONE;
+ }
+ 
+ static PyObject *
+ processing_recvfd(PyObject *self, PyObject *args)
+ {
+-    int conn, res;
++    int conn, fd, res;
+     char dummy_char;
+-    struct fd_control_message fdmsg;
+-    struct iovec dummy_iov;
++    char buf[CMSG_SPACE(sizeof(int))];
+     struct msghdr msg = {0};
+-    
++    struct iovec dummy_iov;
++    struct cmsghdr *cmsg;
++
+     if (!PyArg_ParseTuple(args, "i", &conn))
+         return NULL;
+-    
+-    fdmsg.fd = -1;
+-    fdmsg.hdr.cmsg_level = SOL_SOCKET;
+-    fdmsg.hdr.cmsg_type = SCM_RIGHTS;
+-    fdmsg.hdr.cmsg_len = sizeof(fdmsg);
++
+     dummy_iov.iov_base = &dummy_char;
+     dummy_iov.iov_len = 1;
+-    msg.msg_control = &fdmsg;
+-    msg.msg_controllen = sizeof(fdmsg);
++    msg.msg_control = buf;
++    msg.msg_controllen = sizeof(buf);
+     msg.msg_iov = &dummy_iov;
+     msg.msg_iovlen = 1;
+-    
++    cmsg = CMSG_FIRSTHDR(&msg);
++    cmsg->cmsg_level = SOL_SOCKET;
++    cmsg->cmsg_type = SCM_RIGHTS;
++    cmsg->cmsg_len = CMSG_LEN(sizeof(int));
++    msg.msg_controllen = cmsg->cmsg_len;
++
+     Py_BEGIN_ALLOW_THREADS
+     res = recvmsg(conn, &msg, 0);
+     Py_END_ALLOW_THREADS
+ 
+     if (res < 0)
+-        return PyErr_SetFromErrno(PyExc_IOError);
+-    return Py_BuildValue("i", fdmsg.fd);
++        return PyErr_SetFromErrno(PyExc_OSError);
++
++    fd = *(int*)CMSG_DATA(cmsg);
++    return Py_BuildValue("i", fd);
+ }
+ 
+ #endif /* HAVE_FD_TRANSFER */


Property changes on: packages/python-processing/trunk/debian/patches/20_fix_64bit_arch.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: packages/python-processing/trunk/debian/patches/30_fixes_to_make_tests_work.dpatch
===================================================================
--- packages/python-processing/trunk/debian/patches/30_fixes_to_make_tests_work.dpatch	                        (rev 0)
+++ packages/python-processing/trunk/debian/patches/30_fixes_to_make_tests_work.dpatch	2008-03-25 22:55:32 UTC (rev 4922)
@@ -0,0 +1,38 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 30_fixes_to_make_tests_work.dpatch by Sandro Tosi <matrixhasu at gmail.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fixes some problems in tests code
+
+ at DPATCH@
+diff -urNad python-processing~/lib/heap.py python-processing/lib/heap.py
+--- python-processing~/lib/heap.py	2008-03-07 01:30:58.000000000 +0100
++++ python-processing/lib/heap.py	2008-03-25 23:26:44.831018519 +0100
+@@ -66,13 +66,13 @@
+                     # cannot unlink file until it is no longer in use
+                     def _finalize_heap(mmap, unlink):
+                         mmap.close()
+-                        unlink(name)
++                        unlink(self.name)
+                     Finalize(
+                         self, _finalize_heap, args=(self.buffer, os.unlink),
+                         exitpriority=-10
+                         )
+                 else:
+-                    os.unlink(name)
++                    os.unlink(self.name)
+ 
+ #
+ # Class allowing allocation of chunks of memory from arenas
+diff -urNad python-processing~/tests/__init__.py python-processing/tests/__init__.py
+--- python-processing~/tests/__init__.py	2008-03-23 11:49:30.000000000 +0100
++++ python-processing/tests/__init__.py	2008-03-25 23:27:06.988281188 +0100
+@@ -455,7 +455,7 @@
+         self.assertEqual(lock.release(), None)
+         self.assertEqual(lock.release(), None)
+         self.assertEqual(lock.release(), None)
+-        self.assertRaises(AssertionError, lock.release)
++        self.assertRaises((AssertionError, RuntimeError), lock.release)
+         
+         
+ class _TestSemaphore(BaseTestCase):


Property changes on: packages/python-processing/trunk/debian/patches/30_fixes_to_make_tests_work.dpatch
___________________________________________________________________
Name: svn:executable
   + *




More information about the Python-modules-commits mailing list