Import py-psutil from github commit fc1e59d0, versionning it 3.3.0pre0.
This now supports OpenBSDi mostly properly, the patches in the port fixing the build and warnings being pushed back. psutil (python system and process utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python. It is useful mainly for system monitoring, profiling and limiting process resources and management of running processes. It implements many functionalities offered by command line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. ok/reqd by sthen@
This commit is contained in:
parent
7d38c1014c
commit
baf4eae578
27
sysutils/py-psutil/Makefile
Normal file
27
sysutils/py-psutil/Makefile
Normal file
@ -0,0 +1,27 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2015/11/14 07:35:29 landry Exp $
|
||||
|
||||
COMMENT = library to retrieve system information and utilisation
|
||||
|
||||
MODPY_EGG_VERSION = 3.3.0
|
||||
GH_ACCOUNT = giampaolo
|
||||
GH_PROJECT = psutil
|
||||
GH_COMMIT = fc1e59d08c968898c2ede425a621b62ccf44681c
|
||||
DISTNAME= psutil-${MODPY_EGG_VERSION}
|
||||
PKGNAME= py-psutil-${MODPY_EGG_VERSION}pre0
|
||||
CATEGORIES= sysutils
|
||||
|
||||
HOMEPAGE= https://github.com/giampaolo/psutil
|
||||
|
||||
# BSD
|
||||
PERMIT_PACKAGE_CDROM= Yes
|
||||
|
||||
MODULES = lang/python
|
||||
TEST_DEPENDS = ${BUILD_PKGPATH} \
|
||||
net/py-ipaddress \
|
||||
devel/py-mock
|
||||
MODPY_SETUPTOOLS = Yes
|
||||
|
||||
do-test:
|
||||
cd ${WRKSRC}; ${MODPY_BIN} test/test_psutil.py
|
||||
|
||||
.include <bsd.port.mk>
|
2
sysutils/py-psutil/distinfo
Normal file
2
sysutils/py-psutil/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (psutil-3.3.0.tar.gz) = yMAo0apo1th3CN7iG/mx8GtC5nVPCkzrUWpmfF9m8Vg=
|
||||
SIZE (psutil-3.3.0.tar.gz) = 256736
|
95
sysutils/py-psutil/patches/patch-psutil_arch_bsd_openbsd_c
Normal file
95
sysutils/py-psutil/patches/patch-psutil_arch_bsd_openbsd_c
Normal file
@ -0,0 +1,95 @@
|
||||
$OpenBSD: patch-psutil_arch_bsd_openbsd_c,v 1.1.1.1 2015/11/14 07:35:29 landry Exp $
|
||||
--- psutil/arch/bsd/openbsd.c.orig Thu Nov 12 23:04:39 2015
|
||||
+++ psutil/arch/bsd/openbsd.c Fri Nov 13 16:10:24 2015
|
||||
@@ -30,9 +30,12 @@
|
||||
#include <sys/file.h>
|
||||
#undef _KERNEL
|
||||
#include <sys/disk.h> // struct diskstats
|
||||
+#include <err.h> // for err() && warn()
|
||||
+#include <arpa/inet.h> // for inet_ntoa()
|
||||
|
||||
|
||||
#include "openbsd.h"
|
||||
+#include "../../_psutil_common.h"
|
||||
|
||||
#define PSUTIL_KPT2DOUBLE(t) (t ## _sec + t ## _usec / 1000000.0)
|
||||
#define PSUTIL_TV2DOUBLE(t) ((t).tv_sec + (t).tv_usec / 1000000.0)
|
||||
@@ -138,6 +141,7 @@ psutil_raise_ad_or_nsp(long pid) {
|
||||
NoSuchProcess();
|
||||
else
|
||||
AccessDenied();
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -154,13 +158,9 @@ psutil_get_proc_list(struct kinfo_proc **procList, siz
|
||||
// On success, the function returns 0.
|
||||
// On error, the function returns a BSD errno value.
|
||||
struct kinfo_proc *result;
|
||||
- int done;
|
||||
- static const int name[] = { CTL_KERN, KERN_PROC, KERN_PROC, 0 };
|
||||
// Declaring name as const requires us to cast it when passing it to
|
||||
// sysctl because the prototype doesn't include the const modifier.
|
||||
- size_t length;
|
||||
char errbuf[_POSIX2_LINE_MAX];
|
||||
- struct kinfo_proc *x;
|
||||
int cnt;
|
||||
kvm_t *kd;
|
||||
|
||||
@@ -200,7 +200,6 @@ psutil_get_proc_list(struct kinfo_proc **procList, siz
|
||||
char **
|
||||
_psutil_get_argv(long pid) {
|
||||
static char **argv;
|
||||
- char **p;
|
||||
int argv_mib[] = {CTL_KERN, KERN_PROC_ARGS, pid, KERN_PROC_ARGV};
|
||||
size_t argv_size = 128;
|
||||
/* Loop and reallocate until we have enough space to fit argv. */
|
||||
@@ -321,7 +320,7 @@ error:
|
||||
|
||||
PyObject *
|
||||
psutil_virtual_mem(PyObject *self, PyObject *args) {
|
||||
- unsigned int total, active, inactive, wired, cached, free;
|
||||
+ unsigned int total;
|
||||
size_t size = sizeof(total);
|
||||
struct uvmexp uvmexp;
|
||||
int mib[] = {CTL_VM, VM_UVMEXP};
|
||||
@@ -479,7 +478,6 @@ psutil_proc_connections(PyObject *self, PyObject *args
|
||||
struct kinfo_file *freep = NULL;
|
||||
struct kinfo_file *kif;
|
||||
char *tcplist = NULL;
|
||||
- struct tcpcb *tcp;
|
||||
|
||||
PyObject *py_retlist = PyList_New(0);
|
||||
PyObject *py_tuple = NULL;
|
||||
@@ -509,7 +507,6 @@ psutil_proc_connections(PyObject *self, PyObject *args
|
||||
int state;
|
||||
int lport;
|
||||
int rport;
|
||||
- char path[PATH_MAX];
|
||||
char addrbuf[NI_MAXHOST + 2];
|
||||
int inseq;
|
||||
struct in6_addr laddr6;
|
||||
@@ -555,7 +552,6 @@ psutil_proc_connections(PyObject *self, PyObject *args
|
||||
else {
|
||||
// local address, IPv6
|
||||
memcpy(&laddr6, kif->inp_laddru, sizeof(laddr6));
|
||||
- (void *)(uintptr_t)kif->inp_ppcb;
|
||||
snprintf(addrbuf, sizeof(addrbuf), "%s",
|
||||
psutil_inet6_addrstr(&laddr6));
|
||||
py_laddr = Py_BuildValue("(si)", addrbuf, lport);
|
||||
@@ -575,7 +571,6 @@ psutil_proc_connections(PyObject *self, PyObject *args
|
||||
else {
|
||||
// remote address, IPv6
|
||||
memcpy(&laddr6, kif->inp_faddru, sizeof(laddr6));
|
||||
- (void *)(uintptr_t)kif->inp_ppcb;
|
||||
snprintf(addrbuf, sizeof(addrbuf), "%s",
|
||||
psutil_inet6_addrstr(&laddr6));
|
||||
py_raddr = Py_BuildValue("(si)", addrbuf, rport);
|
||||
@@ -641,7 +636,6 @@ error:
|
||||
|
||||
PyObject *
|
||||
psutil_per_cpu_times(PyObject *self, PyObject *args) {
|
||||
- static int maxcpus;
|
||||
int mib[3];
|
||||
int ncpu;
|
||||
size_t len;
|
12
sysutils/py-psutil/patches/patch-setup_py
Normal file
12
sysutils/py-psutil/patches/patch-setup_py
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-setup_py,v 1.1.1.1 2015/11/14 07:35:29 landry Exp $
|
||||
--- setup.py.orig Fri Nov 13 15:47:46 2015
|
||||
+++ setup.py Fri Nov 13 15:47:58 2015
|
||||
@@ -144,7 +144,7 @@ elif sys.platform.startswith("openbsd"):
|
||||
ext = Extension(
|
||||
'psutil._psutil_bsd',
|
||||
sources=[
|
||||
- 'psutil/_psutil_openbsd.c',
|
||||
+ 'psutil/_psutil_bsd.c',
|
||||
'psutil/_psutil_common.c',
|
||||
'psutil/arch/bsd/openbsd.c',
|
||||
],
|
7
sysutils/py-psutil/pkg/DESCR
Normal file
7
sysutils/py-psutil/pkg/DESCR
Normal file
@ -0,0 +1,7 @@
|
||||
psutil (python system and process utilities) is a cross-platform library
|
||||
for retrieving information on running processes and system utilization
|
||||
(CPU, memory, disks, network) in Python. It is useful mainly for system
|
||||
monitoring, profiling and limiting process resources and management of
|
||||
running processes. It implements many functionalities offered by command
|
||||
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill,
|
||||
free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.
|
27
sysutils/py-psutil/pkg/PLIST
Normal file
27
sysutils/py-psutil/pkg/PLIST
Normal file
@ -0,0 +1,27 @@
|
||||
@comment $OpenBSD: PLIST,v 1.1.1.1 2015/11/14 07:35:29 landry Exp $
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/__init__.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/__init__.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_common.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_common.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_compat.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_compat.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_psbsd.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_psbsd.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_pslinux.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_pslinux.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_psosx.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_psosx.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_psposix.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_psposix.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_pssunos.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_pssunos.pyc
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_psutil_bsd.so
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_psutil_posix.so
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_pswindows.py
|
||||
lib/python${MODPY_VERSION}/site-packages/psutil/_pswindows.pyc
|
Loading…
Reference in New Issue
Block a user