aboutsummaryrefslogtreecommitdiff
path: root/devel/py-freebsd
diff options
context:
space:
mode:
authorHye-Shik Chang <perky@FreeBSD.org>2007-03-29 07:20:09 +0000
committerHye-Shik Chang <perky@FreeBSD.org>2007-03-29 07:20:09 +0000
commit61edb489112f288dc0a7aed60b3700cf332cefae (patch)
tree62f7d70797e7f5f6a5fadbaa470e999caf3511af /devel/py-freebsd
parent52ab1dbc81f45260fab4f2ba9461e48f886550b8 (diff)
downloadports-61edb489112f288dc0a7aed60b3700cf332cefae.tar.gz
ports-61edb489112f288dc0a7aed60b3700cf332cefae.zip
- Add a patch to fix a bug on setproctitle support. [1]
- Pass the maintainership to python@. PR: 108085 Submitted by: Martin Kammerhofer <dada@pluto.tugraz.at>
Notes
Notes: svn path=/head/; revision=188718
Diffstat (limited to 'devel/py-freebsd')
-rw-r--r--devel/py-freebsd/Makefile3
-rw-r--r--devel/py-freebsd/files/patch-src-process.c52
2 files changed, 54 insertions, 1 deletions
diff --git a/devel/py-freebsd/Makefile b/devel/py-freebsd/Makefile
index f297b1b4a00a..a6adbc551bbc 100644
--- a/devel/py-freebsd/Makefile
+++ b/devel/py-freebsd/Makefile
@@ -7,6 +7,7 @@
PORTNAME= freebsd
PORTVERSION= 0.9.3
+PORTREVISION= 1
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_LOCAL} \
http://people.freebsd.org/~perky/distfiles/
@@ -14,7 +15,7 @@ MASTER_SITE_SUBDIR= perky
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= py-freebsd-${PORTVERSION}
-MAINTAINER= perky@FreeBSD.org
+MAINTAINER= python@FreeBSD.org
COMMENT= Python interface to FreeBSD-specific system libraries
USE_PYTHON= 2.3+
diff --git a/devel/py-freebsd/files/patch-src-process.c b/devel/py-freebsd/files/patch-src-process.c
new file mode 100644
index 000000000000..910492080eb0
--- /dev/null
+++ b/devel/py-freebsd/files/patch-src-process.c
@@ -0,0 +1,52 @@
+--- src/process.c.orig Sun May 8 08:55:00 2005
++++ src/process.c Sat Nov 25 18:12:52 2006
+@@ -51,10 +51,19 @@
+ static PyObject *
+ PyFB_setprogname(PyObject *self, PyObject *args)
+ {
+- char *progname;
++ const char *progname;
++ static PyObject *namestr = NULL;
+
+ if (!PyArg_ParseTuple(args, "s:setprogname", &progname))
+ return NULL;
++ /*
++ * Setprogname(3) does not copy the string, it only stores the
++ * string pointer. Make sure that the string object does not
++ * get garbage collected and its memory reused!
++ */
++ Py_XDECREF(namestr); /* maybe free old progname */
++ PyArg_ParseTuple(args, "O", &namestr);
++ Py_INCREF(namestr); /* keep new progname object */
+
+ setprogname(progname);
+ Py_RETURN_NONE;
+@@ -64,16 +73,24 @@
+ static char PyFB_setproctitle__doc__[] =
+ "setproctitle(title):\n"
+ "The setproctitle() library routine sets the process title that\n"
+-"appears on the ps(1) command.";
++"appears on the ps(1) command. The progname and a colon are\n"
++"prepended automatically. This behaviour is suppressed when the\n"
++"title starts with a dash (-) character. Calling with a None\n"
++"argument restores a default process title.";
+
+ static PyObject *
+ PyFB_setproctitle(PyObject *self, PyObject *args)
+ {
+- char *newtitle;
++ const char *newtitle;
+
+- if (!PyArg_ParseTuple(args, "s:setproctitle", &newtitle))
++ if (!PyArg_ParseTuple(args, "z:setproctitle", &newtitle))
+ return NULL;
+
+- setproctitle(newtitle);
++ if (newtitle == NULL)
++ setproctitle(NULL);
++ else if (*newtitle == '-')
++ setproctitle("-%s", newtitle+1);
++ else
++ setproctitle("%s", newtitle);
+ Py_RETURN_NONE;
+ }