summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2011-07-08 00:03:28 +0000
committerAlexis Ballier <aballier@gentoo.org>2011-07-08 00:03:28 +0000
commitf7ed383b9c7bcffefbcf9d94bd0cc9ba43f7adf2 (patch)
tree4365780ba8f5c8a4888331791b0941d38b31cab4 /dev-python/py-freebsd
parentAdd bug number. (diff)
downloadgentoo-2-f7ed383b9c7bcffefbcf9d94bd0cc9ba43f7adf2.tar.gz
gentoo-2-f7ed383b9c7bcffefbcf9d94bd0cc9ba43f7adf2.tar.bz2
gentoo-2-f7ed383b9c7bcffefbcf9d94bd0cc9ba43f7adf2.zip
fix build on FreeBSD 8, by Dmitri Bogomolov, bug #364605
(Portage version: 2.2.0_alpha43/cvs/Linux x86_64)
Diffstat (limited to 'dev-python/py-freebsd')
-rw-r--r--dev-python/py-freebsd/ChangeLog8
-rw-r--r--dev-python/py-freebsd/files/freebsd8_patch-src-jail.c49
-rw-r--r--dev-python/py-freebsd/py-freebsd-0.9.3-r1.ebuild5
3 files changed, 58 insertions, 4 deletions
diff --git a/dev-python/py-freebsd/ChangeLog b/dev-python/py-freebsd/ChangeLog
index 4dd240aab358..c83d2d76ef76 100644
--- a/dev-python/py-freebsd/ChangeLog
+++ b/dev-python/py-freebsd/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-python/py-freebsd
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/py-freebsd/ChangeLog,v 1.6 2010/12/30 21:27:48 arfrever Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/py-freebsd/ChangeLog,v 1.7 2011/07/08 00:03:28 aballier Exp $
+
+ 08 Jul 2011; Alexis Ballier <aballier@gentoo.org>
+ +files/freebsd8_patch-src-jail.c, py-freebsd-0.9.3-r1.ebuild:
+ fix build on FreeBSD 8, by Dmitri Bogomolov, bug #364605
30 Dec 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
py-freebsd-0.9.3-r1.ebuild:
diff --git a/dev-python/py-freebsd/files/freebsd8_patch-src-jail.c b/dev-python/py-freebsd/files/freebsd8_patch-src-jail.c
new file mode 100644
index 000000000000..685af1201f08
--- /dev/null
+++ b/dev-python/py-freebsd/files/freebsd8_patch-src-jail.c
@@ -0,0 +1,49 @@
+Fix build on FreeBSD 8
+http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/py-freebsd/files/freebsd8_patch-src-jail.c
+https://bugs.gentoo.org/show_bug.cgi?id=364605
+
+--- src/jail.c.orig 2005-05-08 06:55:00.000000000 +0000
++++ src/jail.c 2008-12-23 13:54:31.000000000 +0000
+@@ -40,21 +40,37 @@ static PyObject *
+ PyFB_jail(PyObject *self, PyObject *args)
+ {
+ struct jail jp;
++ struct in_addr ia;
+ char *ipaddr;
++ int error;
+
+ if (!PyArg_ParseTuple(args, "sss:jail", &(jp.path),
+ &(jp.hostname), &ipaddr))
+ return NULL;
+
+- jp.version = 0;
+- jp.ip_number = inet_addr(ipaddr);
+-
+- if (jp.ip_number == INADDR_NONE) {
++ ia.s_addr = inet_addr(ipaddr);
++ if (ia.s_addr == INADDR_NONE) {
+ PyErr_SetString(PyExc_ValueError, "malformed internet address");
+ return NULL;
+ }
+
+- if (jail(&jp) == -1)
++ jp.version = JAIL_API_VERSION;
++ jp.jailname = NULL;
++ jp.ip4s = 1;
++ jp.ip4 = malloc(jp.ip4s * sizeof(struct in_addr));
++ if (jp.ip4 == NULL) {
++ PyErr_SetString(PyExc_ValueError, "Cannot allocate memory");
++ return NULL;
++ }
++ jp.ip4->s_addr = ia.s_addr;
++ jp.ip6s = 0;
++ jp.ip6 = NULL;
++
++ error = jail(&jp);
++
++ free(jp.ip4);
++
++ if (error == -1)
+ return OSERROR();
+
+ Py_RETURN_NONE;
diff --git a/dev-python/py-freebsd/py-freebsd-0.9.3-r1.ebuild b/dev-python/py-freebsd/py-freebsd-0.9.3-r1.ebuild
index f3b7edb44f0f..519071b21890 100644
--- a/dev-python/py-freebsd/py-freebsd-0.9.3-r1.ebuild
+++ b/dev-python/py-freebsd/py-freebsd-0.9.3-r1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/py-freebsd/py-freebsd-0.9.3-r1.ebuild,v 1.3 2010/12/30 21:27:48 arfrever Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/py-freebsd/py-freebsd-0.9.3-r1.ebuild,v 1.4 2011/07/08 00:03:28 aballier Exp $
EAPI="3"
PYTHON_DEPEND="2"
@@ -28,6 +28,7 @@ src_prepare() {
distutils_src_prepare
epatch "${FILESDIR}/fbsd7-netstat.patch"
epatch "${FILESDIR}/process-fix.patch"
+ epatch "${FILESDIR}/freebsd8_patch-src-jail.c"
}
src_test() {