Date: Tue, 21 Mar 2017 08:38:28 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r436574 - in head/sysutils/py-psutil: . files Message-ID: <201703210838.v2L8cSxl006297@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius (src committer) Date: Tue Mar 21 08:38:28 2017 New Revision: 436574 URL: https://svnweb.freebsd.org/changeset/ports/436574 Log: Make it compilable on FreeBSD 12 after struct inpcb and struct tcpcb were stopped being exported. Added: head/sysutils/py-psutil/files/ head/sysutils/py-psutil/files/patch-psutil__arch__bsd__freebsd_socks.c (contents, props changed) Modified: head/sysutils/py-psutil/Makefile Modified: head/sysutils/py-psutil/Makefile ============================================================================== --- head/sysutils/py-psutil/Makefile Tue Mar 21 08:27:28 2017 (r436573) +++ head/sysutils/py-psutil/Makefile Tue Mar 21 08:38:28 2017 (r436574) @@ -3,6 +3,7 @@ PORTNAME= psutil PORTVERSION= 5.2.0 +PORTREVISION= 1 CATEGORIES= sysutils python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} Added: head/sysutils/py-psutil/files/patch-psutil__arch__bsd__freebsd_socks.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/py-psutil/files/patch-psutil__arch__bsd__freebsd_socks.c Tue Mar 21 08:38:28 2017 (r436574) @@ -0,0 +1,86 @@ +--- psutil/arch/bsd/freebsd_socks.c.orig 2017-03-21 00:28:50.234080000 -0700 ++++ psutil/arch/bsd/freebsd_socks.c 2017-03-21 00:35:53.545508000 -0700 +@@ -112,10 +112,17 @@ + } + + ++#if __FreeBSD_version >= 1200026 ++static struct xtcpcb * ++psutil_search_tcplist(char *buf, struct kinfo_file *kif) { ++ struct xtcpcb *tp; ++ struct xinpcb *inp; ++#else + static struct tcpcb * + psutil_search_tcplist(char *buf, struct kinfo_file *kif) { + struct tcpcb *tp; + struct inpcb *inp; ++#endif + struct xinpgen *xig, *oxig; + struct xsocket *so; + +@@ -123,9 +130,15 @@ + for (xig = (struct xinpgen *)((char *)xig + xig->xig_len); + xig->xig_len > sizeof(struct xinpgen); + xig = (struct xinpgen *)((char *)xig + xig->xig_len)) { ++#if __FreeBSD_version >= 1200026 ++ tp = (struct xtcpcb *)xig; ++ inp = &tp->xt_inp; ++ so = &inp->xi_socket; ++#else + tp = &((struct xtcpcb *)xig)->xt_tp; + inp = &((struct xtcpcb *)xig)->xt_inp; + so = &((struct xtcpcb *)xig)->xt_socket; ++#endif + + if (so->so_type != kif->kf_sock_type || + so->xso_family != kif->kf_sock_domain || +@@ -208,7 +221,11 @@ + struct xinpgen *xig, *exig; + struct xinpcb *xip; + struct xtcpcb *xtp; ++#if __FreeBSD_version >= 1200026 ++ struct xinpcb *inp; ++#else + struct inpcb *inp; ++#endif + struct xsocket *so; + const char *varname = NULL; + size_t len, bufsize; +@@ -273,8 +290,13 @@ + goto error; + } + inp = &xtp->xt_inp; ++#if __FreeBSD_version >= 1200026 ++ so = &inp->xi_socket; ++ status = xtp->t_state; ++#else + so = &xtp->xt_socket; + status = xtp->xt_tp.t_state; ++#endif + break; + case IPPROTO_UDP: + xip = (struct xinpcb *)xig; +@@ -283,7 +305,11 @@ + "struct xinpcb size mismatch"); + goto error; + } ++#if __FreeBSD_version >= 1200026 ++ inp = xip; ++#else + inp = &xip->xi_inp; ++#endif + so = &xip->xi_socket; + status = PSUTIL_CONN_NONE; + break; +@@ -477,7 +503,11 @@ + struct kinfo_file *freep = NULL; + struct kinfo_file *kif; + char *tcplist = NULL; ++#if __FreeBSD_version >= 1200026 ++ struct xtcpcb *tcp; ++#else + struct tcpcb *tcp; ++#endif + + PyObject *py_retlist = PyList_New(0); + PyObject *py_tuple = NULL;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703210838.v2L8cSxl006297>