From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Aug 24 10:40:02 2007 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1FAF16A468; Fri, 24 Aug 2007 10:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CBCB613C468; Fri, 24 Aug 2007 10:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id l7OAe1qw067991; Fri, 24 Aug 2007 10:40:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.1/8.14.1/Submit) id l7OAe1MS067990; Fri, 24 Aug 2007 10:40:01 GMT (envelope-from gnats) Resent-Date: Fri, 24 Aug 2007 10:40:01 GMT Resent-Message-Id: <200708241040.l7OAe1MS067990@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Cc: delphij@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Xin LI Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30FB316A4DC for ; Fri, 24 Aug 2007 10:36:27 +0000 (UTC) (envelope-from delphij@tarsier.delphij.net) Received: from tarsier.geekcn.org (tarsier.geekcn.org [210.51.165.229]) by mx1.freebsd.org (Postfix) with ESMTP id B1C9113C459 for ; Fri, 24 Aug 2007 10:36:25 +0000 (UTC) (envelope-from delphij@tarsier.delphij.net) Received: from localhost (tarsier.geekcn.org [210.51.165.229]) by tarsier.geekcn.org (Postfix) with ESMTP id 35CF8EB9E0F; Fri, 24 Aug 2007 18:36:25 +0800 (CST) Received: from tarsier.geekcn.org ([210.51.165.229]) by localhost (mail.geekcn.org [210.51.165.229]) (amavisd-new, port 10024) with ESMTP id jY7lx7Az8K-e; Fri, 24 Aug 2007 18:36:17 +0800 (CST) Received: from tarsier.delphij.net (tarsier.freebsd.org.cn [210.51.165.232]) by tarsier.geekcn.org (Postfix) with ESMTP id 8FE2DEB7862; Fri, 24 Aug 2007 18:36:15 +0800 (CST) Received: by tarsier.delphij.net (Postfix, from userid 1001) id 6A45528449; Fri, 24 Aug 2007 18:36:15 +0800 (CST) Message-Id: <20070824103615.6A45528449@tarsier.delphij.net> Date: Fri, 24 Aug 2007 18:36:15 +0800 (CST) From: Xin LI To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 X-GNATS-Notify: delphij@FreeBSD.org Cc: ports2@dclg.ca Subject: ports/115781: [PATCH] Fix py-kqueue with Python 2.5 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Xin LI List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Aug 2007 10:40:02 -0000 >Number: 115781 >Category: ports >Synopsis: [PATCH] Fix py-kqueue with Python 2.5 >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Aug 24 10:40:01 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Xin LI >Release: FreeBSD 6.2-RELEASE-p7 i386 >Organization: The FreeBSD Project >Environment: System: FreeBSD tarsier.delphij.net 6.2-RELEASE-p7 FreeBSD 6.2-RELEASE-p7 #5: Thu Aug 2 22:09:50 CST 2007 delphij@tarsier.delphij.net:/usr/obj/usr/src/sys/TARSIER i386 >Description: With python 2.5, the Python 1.5 API has been changed, therefore, we have to reflect these changes or py-kqueue would crash. Maintainer CC'ed. This bug is critical, which makes py-kqueue unusable with Python 2.5. >How-To-Repeat: Python would crash with the following codelet: import KQueue p = KQueue.KQueue() >Fix: --- patch-py-kqueue begins here --- Index: Makefile =================================================================== RCS file: /home/ncvs/ports/devel/py-kqueue/Makefile,v retrieving revision 1.16 diff -u -p -r1.16 Makefile --- Makefile 30 Jul 2007 09:41:15 -0000 1.16 +++ Makefile 24 Aug 2007 10:31:40 -0000 @@ -7,7 +7,7 @@ PORTNAME= kqueue PORTVERSION= 1.4 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel python MASTER_SITES= http://ox.eicat.ca/~dgilbert/files/ PKGNAMEPREFIX= py- Index: files/patch-kqsyscallmodule.c =================================================================== RCS file: files/patch-kqsyscallmodule.c diff -N files/patch-kqsyscallmodule.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-kqsyscallmodule.c 24 Aug 2007 10:31:14 -0000 @@ -0,0 +1,61 @@ +--- ./kqsyscallmodule.c.orig 2001-01-29 10:59:50.000000000 +0800 ++++ ./kqsyscallmodule.c 2007-08-24 18:27:42.250897722 +0800 +@@ -42,6 +42,12 @@ + + #define MAX_KEVENTS 512 + ++#if PYTHON_API_VERSION <= 1007 ++ /* 1.5 compatibility */ ++#define PyObject_New PyObject_NEW ++#define PyObject_Del PyMem_DEL ++#endif ++ + // ---------------------------------------------------------------------- + // KQEventObject + // ---------------------------------------------------------------------- +@@ -58,8 +64,7 @@ + static KQEventObject * + newKQEventObject (PyObject *arg) + { +- // return PyObject_New (KQEventObject, &KQEvent_Type); +- return PyObject_NEW (KQEventObject, &KQEvent_Type); ++ return PyObject_New (KQEventObject, &KQEvent_Type); + } + + /* KQEvent methods */ +@@ -67,8 +72,7 @@ + static void + KQEvent_dealloc(KQEventObject *self) + { +- // PyObject_Del(self); +- PyMem_DEL (self); ++ PyObject_Del(self); + } + + // -------------------------------------------------------------------------------- +@@ -201,14 +205,14 @@ + static KQueueObject * + newKQueueObject (PyObject *arg) + { +- KQueueObject * self = PyObject_NEW (KQueueObject, &KQueue_Type); ++ KQueueObject * self = PyObject_New(KQueueObject, &KQueue_Type); + if (!self) { + PyErr_SetFromErrno (PyExc_MemoryError); + return NULL; + } else { + int kqfd = kqueue(); + if (kqfd < 0) { +- PyMem_DEL (self); ++ PyObject_Del(self); + PyErr_SetFromErrno (PyExc_OSError); + return NULL; + } else { +@@ -234,7 +238,7 @@ + KQueue_dealloc(KQueueObject *self) + { + close (self->fd); +- PyMem_DEL(self); ++ PyObject_Del(self); + } + + /* Call kevent(2) and do appropriate digestion of lists. */ --- patch-py-kqueue ends here --- >Release-Note: >Audit-Trail: >Unformatted: