diff options
Diffstat (limited to 'user/py3-psutil/utmpx.patch')
-rw-r--r-- | user/py3-psutil/utmpx.patch | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/user/py3-psutil/utmpx.patch b/user/py3-psutil/utmpx.patch new file mode 100644 index 000000000..e7881e8f2 --- /dev/null +++ b/user/py3-psutil/utmpx.patch @@ -0,0 +1,87 @@ +--- psutil-5.6.2/psutil/_psutil_linux.c.old 2019-04-11 21:10:12.000000000 +0000 ++++ psutil-5.6.2/psutil/_psutil_linux.c 2019-06-14 20:19:26.804374285 +0000 +@@ -14,7 +14,7 @@ + #include <stdlib.h> + #include <mntent.h> + #include <features.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <sched.h> + #include <linux/version.h> + #include <sys/syscall.h> +@@ -454,7 +454,7 @@ + */ + static PyObject * + psutil_users(PyObject *self, PyObject *args) { +- struct utmp *ut; ++ struct utmpx *utx; + PyObject *py_retlist = PyList_New(0); + PyObject *py_tuple = NULL; + PyObject *py_username = NULL; +@@ -465,20 +465,20 @@ + if (py_retlist == NULL) + return NULL; +- setutent(); ++ setutxent(); +- while (NULL != (ut = getutent())) { ++ while (NULL != (utx = getutxent())) { + py_tuple = NULL; + py_user_proc = NULL; +- if (ut->ut_type == USER_PROCESS) ++ if (utx->ut_type == USER_PROCESS) + py_user_proc = Py_True; + else + py_user_proc = Py_False; +- py_username = PyUnicode_DecodeFSDefault(ut->ut_user); ++ py_username = PyUnicode_DecodeFSDefault(utx->ut_user); + if (! py_username) + goto error; +- py_tty = PyUnicode_DecodeFSDefault(ut->ut_line); ++ py_tty = PyUnicode_DecodeFSDefault(utx->ut_line); + if (! py_tty) + goto error; +- py_hostname = PyUnicode_DecodeFSDefault(ut->ut_host); ++ py_hostname = PyUnicode_DecodeFSDefault(utx->ut_host); + if (! py_hostname) + goto error; + py_tuple = Py_BuildValue( +@@ -486,9 +486,9 @@ + py_username, // username + py_tty, // tty + py_hostname, // hostname +- (float)ut->ut_tv.tv_sec, // tstamp ++ (float)utx->ut_tv.tv_sec, // tstamp + py_user_proc, // (bool) user process +- ut->ut_pid // process id ++ utx->ut_pid // process id + ); + if (! py_tuple) + goto error; +@@ -499,7 +499,7 @@ + Py_DECREF(py_hostname); + Py_DECREF(py_tuple); + } +- endutent(); ++ endutxent(); + return py_retlist; + + error: +@@ -508,7 +508,7 @@ + Py_XDECREF(py_hostname); + Py_XDECREF(py_tuple); + Py_DECREF(py_retlist); +- endutent(); ++ endutxent(); + return NULL; + } + +--- psutil-5.6.2/setup.py.old 2019-04-11 21:10:12.000000000 +0000 ++++ psutil-5.6.2/setup.py 2019-06-14 20:25:29.994927919 +0000 +@@ -227,6 +227,7 @@ + ext = Extension( + 'psutil._psutil_linux', + sources=sources + ['psutil/_psutil_linux.c'], ++ libraries=['utmps', 'skarnet'], + define_macros=macros) + + elif SUNOS: |