ports/65846: [UPDATE] misc/py-pexpect to latest version (0.99 -> 0.999)
Marco Molteni
mmolteni at cisco.com
Mon Apr 26 13:00:35 UTC 2004
The following reply was made to PR ports/65846; it has been noted by GNATS.
From: Marco Molteni <mmolteni at cisco.com>
To: freebsd-gnats-submit at FreeBSD.org, mmolteni at cisco.com
Cc:
Subject: Re: ports/65846: [UPDATE] misc/py-pexpect to latest version (0.99
-> 0.999)
Date: Mon, 26 Apr 2004 14:56:35 +0200
There is a strange bug triggered if you use the latest version of python.
Please replace the previous patch with the following:
diff --unified=6 --show-c-function -rN py-pexpect/Makefile py-pexpect999/Makefile
--- py-pexpect/Makefile Sun Jan 11 03:14:33 2004
+++ py-pexpect999/Makefile Wed Apr 21 11:59:13 2004
@@ -1,16 +1,16 @@
# ex:ts=8
# Ports collection makefile for: pexpect
# Date created: Jan 11, 2003
# Whom: ijliao
#
-# $FreeBSD: ports/misc/py-pexpect/Makefile,v 1.4 2004/01/10 09:32:25 krion Exp $
+# $FreeBSD:$
#
PORTNAME= pexpect
-PORTVERSION= 0.99
+PORTVERSION= 0.999
CATEGORIES= misc python
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
EXTRACT_SUFX= .tgz
diff --unified=6 --show-c-function -rN py-pexpect/distinfo py-pexpect999/distinfo
--- py-pexpect/distinfo Fri Jan 30 03:08:54 2004
+++ py-pexpect999/distinfo Wed Apr 21 12:00:55 2004
@@ -1,2 +1,2 @@
-MD5 (pexpect-0.99.tgz) = 597081031c64fc58dc9a0dc5bc6c078c
-SIZE (pexpect-0.99.tgz) = 19933
+MD5 (pexpect-0.999.tgz) = e426e5f54d323aaf392008c9eb35131d
+SIZE (pexpect-0.999.tgz) = 20190
diff --unified=6 --show-c-function -rN py-pexpect/files/patch-pexpect.py py-pexpect999/files/patch-pexpect.py
--- py-pexpect/files/patch-pexpect.py Thu Jan 1 01:00:00 1970
+++ py-pexpect999/files/patch-pexpect.py Mon Apr 26 14:51:02 2004
@@ -0,0 +1,29 @@
+--- pexpect.py.orig Mon Apr 26 14:16:08 2004
++++ pexpect.py Mon Apr 26 14:19:45 2004
+@@ -498,21 +498,24 @@ class spawn:
+ pid, status = os.waitpid(self.pid, os.WNOHANG)
+ except OSError:
+ return 0
+
+ # I have to do this twice for Solaris.
+ # I can't even believe that I figured this out...
+- if pid == 0 and status == 0:
++
++ # If waitpid() returns 0 it means that no child process wishes to
++ # report, and the value of status is undefined.
++ if pid == 0:
+ try:
+ pid, status = os.waitpid(self.pid, os.WNOHANG)
+ #print 'Solaris sucks'
+ except OSError: # This is crufty. When does this happen?
+ return 0
+ # If pid and status is still 0 after two calls to waitpid() then
+ # the process really is alive. This seems to work on all platforms.
+- if pid == 0 and status == 0:
++ if pid == 0:
+ return 1
+
+ # I do not OR this together because I want hooks for debugging.
+ if os.WIFEXITED (status):
+ self.exitstatus = os.WEXITSTATUS(status)
+ return 0
More information about the freebsd-ports-bugs
mailing list