Compare commits
No commits in common. "c8-stream-3.8" and "c8-beta-stream-3.9" have entirely different histories.
c8-stream-
...
c8-beta-st
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/psutil-5.6.4.tar.gz
|
SOURCES/psutil-5.8.0.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
038eebeacabe8f11215961aae307818e4c5af85b SOURCES/psutil-5.6.4.tar.gz
|
4561d6c7747bdcc6764bc14510415016016522b0 SOURCES/psutil-5.8.0.tar.gz
|
||||||
|
@ -1,617 +0,0 @@
|
|||||||
diff --git a/psutil/_psutil_aix.c b/psutil/_psutil_aix.c
|
|
||||||
index 8c055a4..9f58f60 100644
|
|
||||||
--- a/psutil/_psutil_aix.c
|
|
||||||
+++ b/psutil/_psutil_aix.c
|
|
||||||
@@ -265,8 +265,8 @@ psutil_proc_environ(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItem(py_retdict, py_key, py_val))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_key);
|
|
||||||
- Py_DECREF(py_val);
|
|
||||||
+ Py_CLEAR(py_key);
|
|
||||||
+ Py_CLEAR(py_val);
|
|
||||||
}
|
|
||||||
curvar = strchr(curvar, '\0') + 1;
|
|
||||||
}
|
|
||||||
@@ -510,10 +510,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_username);
|
|
||||||
- Py_DECREF(py_tty);
|
|
||||||
- Py_DECREF(py_hostname);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_username);
|
|
||||||
+ Py_CLEAR(py_tty);
|
|
||||||
+ Py_CLEAR(py_hostname);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
endutxent();
|
|
||||||
|
|
||||||
@@ -570,9 +570,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_dev);
|
|
||||||
- Py_DECREF(py_mountp);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_dev);
|
|
||||||
+ Py_CLEAR(py_mountp);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
mt = getmntent(file);
|
|
||||||
}
|
|
||||||
endmntent(file);
|
|
||||||
diff --git a/psutil/_psutil_bsd.c b/psutil/_psutil_bsd.c
|
|
||||||
index b4264ce..7f1c492 100644
|
|
||||||
--- a/psutil/_psutil_bsd.c
|
|
||||||
+++ b/psutil/_psutil_bsd.c
|
|
||||||
@@ -154,7 +154,7 @@ psutil_pids(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_pid))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_pid);
|
|
||||||
+ Py_CLEAR(py_pid);
|
|
||||||
proclist++;
|
|
||||||
}
|
|
||||||
free(orig_address);
|
|
||||||
@@ -507,8 +507,8 @@ psutil_proc_open_files(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_path);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_path);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
free(freep);
|
|
||||||
@@ -670,9 +670,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_dev);
|
|
||||||
- Py_DECREF(py_mountp);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_dev);
|
|
||||||
+ Py_CLEAR(py_mountp);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(fs);
|
|
||||||
@@ -765,7 +765,7 @@ psutil_net_io_counters(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItemString(py_retdict, ifc_name, py_ifc_info))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_ifc_info);
|
|
||||||
+ Py_CLEAR(py_ifc_info);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
continue;
|
|
||||||
@@ -840,10 +840,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
|
||||||
fclose(fp);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
- Py_DECREF(py_username);
|
|
||||||
- Py_DECREF(py_tty);
|
|
||||||
- Py_DECREF(py_hostname);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_username);
|
|
||||||
+ Py_CLEAR(py_tty);
|
|
||||||
+ Py_CLEAR(py_hostname);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose(fp);
|
|
||||||
@@ -883,10 +883,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
|
||||||
endutxent();
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
- Py_DECREF(py_username);
|
|
||||||
- Py_DECREF(py_tty);
|
|
||||||
- Py_DECREF(py_hostname);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_username);
|
|
||||||
+ Py_CLEAR(py_tty);
|
|
||||||
+ Py_CLEAR(py_hostname);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
endutxent();
|
|
||||||
diff --git a/psutil/_psutil_linux.c b/psutil/_psutil_linux.c
|
|
||||||
index 717723d..0d16eb4 100644
|
|
||||||
--- a/psutil/_psutil_linux.c
|
|
||||||
+++ b/psutil/_psutil_linux.c
|
|
||||||
@@ -241,9 +241,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_dev);
|
|
||||||
- Py_DECREF(py_mountp);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_dev);
|
|
||||||
+ Py_CLEAR(py_mountp);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
endmntent(file);
|
|
||||||
return py_retlist;
|
|
||||||
@@ -454,10 +454,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_username);
|
|
||||||
- Py_DECREF(py_tty);
|
|
||||||
- Py_DECREF(py_hostname);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_username);
|
|
||||||
+ Py_CLEAR(py_tty);
|
|
||||||
+ Py_CLEAR(py_hostname);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
endutent();
|
|
||||||
return py_retlist;
|
|
||||||
diff --git a/psutil/_psutil_osx.c b/psutil/_psutil_osx.c
|
|
||||||
index d2ca94b..76ec0ee 100644
|
|
||||||
--- a/psutil/_psutil_osx.c
|
|
||||||
+++ b/psutil/_psutil_osx.c
|
|
||||||
@@ -138,7 +138,7 @@ psutil_pids(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_pid))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_pid);
|
|
||||||
+ Py_CLEAR(py_pid);
|
|
||||||
proclist++;
|
|
||||||
}
|
|
||||||
free(orig_address);
|
|
||||||
@@ -653,7 +653,7 @@ psutil_per_cpu_times(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_cputime))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_cputime);
|
|
||||||
+ Py_CLEAR(py_cputime);
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = vm_deallocate(mach_task_self(), (vm_address_t)info_array,
|
|
||||||
@@ -841,9 +841,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_dev);
|
|
||||||
- Py_DECREF(py_mountp);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_dev);
|
|
||||||
+ Py_CLEAR(py_mountp);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(fs);
|
|
||||||
@@ -911,7 +911,6 @@ psutil_proc_threads(PyObject *self, PyObject *args) {
|
|
||||||
}
|
|
||||||
|
|
||||||
for (j = 0; j < thread_count; j++) {
|
|
||||||
- py_tuple = NULL;
|
|
||||||
thread_info_count = THREAD_INFO_MAX;
|
|
||||||
kr = thread_info(thread_list[j], THREAD_BASIC_INFO,
|
|
||||||
(thread_info_t)thinfo_basic, &thread_info_count);
|
|
||||||
@@ -934,7 +933,7 @@ psutil_proc_threads(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = vm_deallocate(task, (vm_address_t)thread_list,
|
|
||||||
@@ -1043,10 +1042,8 @@ psutil_proc_open_files(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
- py_tuple = NULL;
|
|
||||||
- Py_DECREF(py_path);
|
|
||||||
- py_path = NULL;
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
+ Py_CLEAR(py_path);
|
|
||||||
// --- /construct python list
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1226,7 +1223,7 @@ psutil_proc_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
else if (family == AF_UNIX) {
|
|
||||||
py_laddr = PyUnicode_DecodeFSDefault(
|
|
||||||
@@ -1248,9 +1245,9 @@ psutil_proc_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
- Py_DECREF(py_laddr);
|
|
||||||
- Py_DECREF(py_raddr);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
+ Py_CLEAR(py_laddr);
|
|
||||||
+ Py_CLEAR(py_raddr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1370,7 +1367,7 @@ psutil_net_io_counters(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItemString(py_retdict, ifc_name, py_ifc_info))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_ifc_info);
|
|
||||||
+ Py_CLEAR(py_ifc_info);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
continue;
|
|
||||||
@@ -1543,7 +1540,7 @@ psutil_disk_io_counters(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItemString(py_retdict, disk_name, py_disk_info))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_disk_info);
|
|
||||||
+ Py_CLEAR(py_disk_info);
|
|
||||||
|
|
||||||
CFRelease(parent_dict);
|
|
||||||
IOObjectRelease(parent);
|
|
||||||
@@ -1605,10 +1602,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
|
||||||
endutxent();
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
- Py_DECREF(py_username);
|
|
||||||
- Py_DECREF(py_tty);
|
|
||||||
- Py_DECREF(py_hostname);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_username);
|
|
||||||
+ Py_CLEAR(py_tty);
|
|
||||||
+ Py_CLEAR(py_hostname);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
endutxent();
|
|
||||||
diff --git a/psutil/_psutil_posix.c b/psutil/_psutil_posix.c
|
|
||||||
index 209e787..aa60084 100644
|
|
||||||
--- a/psutil/_psutil_posix.c
|
|
||||||
+++ b/psutil/_psutil_posix.c
|
|
||||||
@@ -324,11 +324,11 @@ psutil_net_if_addrs(PyObject* self, PyObject* args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
- Py_DECREF(py_address);
|
|
||||||
- Py_DECREF(py_netmask);
|
|
||||||
- Py_DECREF(py_broadcast);
|
|
||||||
- Py_DECREF(py_ptp);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
+ Py_CLEAR(py_address);
|
|
||||||
+ Py_CLEAR(py_netmask);
|
|
||||||
+ Py_CLEAR(py_broadcast);
|
|
||||||
+ Py_CLEAR(py_ptp);
|
|
||||||
}
|
|
||||||
|
|
||||||
freeifaddrs(ifaddr);
|
|
||||||
diff --git a/psutil/_psutil_sunos.c b/psutil/_psutil_sunos.c
|
|
||||||
index 919e76d..31d6f36 100644
|
|
||||||
--- a/psutil/_psutil_sunos.c
|
|
||||||
+++ b/psutil/_psutil_sunos.c
|
|
||||||
@@ -300,8 +300,8 @@ psutil_proc_environ(PyObject *self, PyObject *args) {
|
|
||||||
if (PyDict_SetItem(py_retdict, py_envname, py_envval) < 0)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
- Py_DECREF(py_envname);
|
|
||||||
- Py_DECREF(py_envval);
|
|
||||||
+ Py_CLEAR(py_envname);
|
|
||||||
+ Py_CLEAR(py_envval);
|
|
||||||
}
|
|
||||||
|
|
||||||
psutil_free_cstrings_array(env, env_count);
|
|
||||||
@@ -655,10 +655,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_username);
|
|
||||||
- Py_DECREF(py_tty);
|
|
||||||
- Py_DECREF(py_hostname);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_username);
|
|
||||||
+ Py_CLEAR(py_tty);
|
|
||||||
+ Py_CLEAR(py_hostname);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
endutxent();
|
|
||||||
|
|
||||||
@@ -714,9 +714,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_dev);
|
|
||||||
- Py_DECREF(py_mountp);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_dev);
|
|
||||||
+ Py_CLEAR(py_mountp);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
fclose(file);
|
|
||||||
return py_retlist;
|
|
||||||
@@ -767,8 +767,7 @@ psutil_per_cpu_times(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_cputime))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_cputime);
|
|
||||||
- py_cputime = NULL;
|
|
||||||
+ Py_CLEAR(py_cputime);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -824,7 +823,7 @@ psutil_disk_io_counters(PyObject *self, PyObject *args) {
|
|
||||||
if (PyDict_SetItemString(py_retdict, ksp->ks_name,
|
|
||||||
py_disk_info))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_disk_info);
|
|
||||||
+ Py_CLEAR(py_disk_info);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ksp = ksp->ks_next;
|
|
||||||
@@ -959,8 +958,8 @@ psutil_proc_memory_maps(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_path);
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_path);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
|
|
||||||
// increment pointer
|
|
||||||
p += 1;
|
|
||||||
@@ -1075,7 +1074,7 @@ psutil_net_io_counters(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItemString(py_retdict, ksp->ks_name, py_ifc_info))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_ifc_info);
|
|
||||||
+ Py_CLEAR(py_ifc_info);
|
|
||||||
goto next;
|
|
||||||
|
|
||||||
next:
|
|
||||||
@@ -1273,7 +1272,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#if defined(AF_INET6)
|
|
||||||
@@ -1287,7 +1286,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
#ifdef NEW_MIB_COMPLIANT
|
|
||||||
processed_pid = tp6.tcp6ConnCreationProcess;
|
|
||||||
#else
|
|
||||||
- processed_pid = 0;
|
|
||||||
+ processed_pid = 0;
|
|
||||||
#endif
|
|
||||||
if (pid != -1 && processed_pid != pid)
|
|
||||||
continue;
|
|
||||||
@@ -1316,14 +1315,14 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
// UDPv4
|
|
||||||
else if (mibhdr.level == MIB2_UDP || mibhdr.level == MIB2_UDP_ENTRY) {
|
|
||||||
num_ent = mibhdr.len / sizeof(mib2_udpEntry_t);
|
|
||||||
- assert(num_ent * sizeof(mib2_udpEntry_t) == mibhdr.len);
|
|
||||||
+ assert(num_ent * sizeof(mib2_udpEntry_t) == mibhdr.len);
|
|
||||||
for (i = 0; i < num_ent; i++) {
|
|
||||||
memcpy(&ude, databuf.buf + i * sizeof ude, sizeof ude);
|
|
||||||
#ifdef NEW_MIB_COMPLIANT
|
|
||||||
@@ -1355,7 +1354,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#if defined(AF_INET6)
|
|
||||||
@@ -1388,7 +1387,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@@ -1561,7 +1560,7 @@ psutil_net_if_stats(PyObject* self, PyObject* args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItemString(py_retdict, ksp->ks_name, py_ifc_info))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_ifc_info);
|
|
||||||
+ Py_CLEAR(py_ifc_info);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/psutil/_psutil_windows.c b/psutil/_psutil_windows.c
|
|
||||||
index beaba18..08b208d 100644
|
|
||||||
--- a/psutil/_psutil_windows.c
|
|
||||||
+++ b/psutil/_psutil_windows.c
|
|
||||||
@@ -221,7 +221,7 @@ psutil_pids(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_pid))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_pid);
|
|
||||||
+ Py_CLEAR(py_pid);
|
|
||||||
}
|
|
||||||
|
|
||||||
// free C array allocated for PIDs
|
|
||||||
@@ -1003,7 +1003,7 @@ psutil_per_cpu_times(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(sppi);
|
|
||||||
@@ -1156,7 +1156,7 @@ psutil_proc_threads(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
|
|
||||||
CloseHandle(hThread);
|
|
||||||
}
|
|
||||||
@@ -1580,7 +1580,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_conn_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_conn_tuple);
|
|
||||||
+ Py_CLEAR(py_conn_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(table);
|
|
||||||
@@ -1667,7 +1667,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_conn_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_conn_tuple);
|
|
||||||
+ Py_CLEAR(py_conn_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(table);
|
|
||||||
@@ -1730,7 +1730,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_conn_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_conn_tuple);
|
|
||||||
+ Py_CLEAR(py_conn_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(table);
|
|
||||||
@@ -1793,7 +1793,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_conn_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_conn_tuple);
|
|
||||||
+ Py_CLEAR(py_conn_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(table);
|
|
||||||
@@ -2188,8 +2188,8 @@ psutil_net_io_counters(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItem(py_retdict, py_nic_name, py_nic_info))
|
|
||||||
goto error;
|
|
||||||
- Py_XDECREF(py_nic_name);
|
|
||||||
- Py_XDECREF(py_nic_info);
|
|
||||||
+ Py_CLEAR(py_nic_name);
|
|
||||||
+ Py_CLEAR(py_nic_info);
|
|
||||||
|
|
||||||
free(pIfRow);
|
|
||||||
pCurrAddresses = pCurrAddresses->Next;
|
|
||||||
@@ -2304,7 +2304,7 @@ psutil_disk_io_counters(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItemString(py_retdict, szDeviceDisplay, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_XDECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
|
|
||||||
next:
|
|
||||||
CloseHandle(hDevice);
|
|
||||||
@@ -2461,7 +2461,7 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
|
|
||||||
// Continue looking for more mount points
|
|
||||||
mp_flag = FindNextVolumeMountPoint(mp_h, mp_buf, MAX_PATH);
|
|
||||||
@@ -2486,7 +2486,7 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
goto next;
|
|
||||||
|
|
||||||
next:
|
|
||||||
@@ -2610,9 +2610,9 @@ psutil_users(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_XDECREF(py_username);
|
|
||||||
- Py_XDECREF(py_address);
|
|
||||||
- Py_XDECREF(py_tuple);
|
|
||||||
+ Py_CLEAR(py_username);
|
|
||||||
+ Py_CLEAR(py_address);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
}
|
|
||||||
|
|
||||||
WTSFreeMemory(sessions);
|
|
||||||
@@ -2838,8 +2838,8 @@ psutil_proc_memory_maps(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
- Py_DECREF(py_str);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
+ Py_CLEAR(py_str);
|
|
||||||
}
|
|
||||||
previousAllocationBase = (ULONGLONG)basicInfo.AllocationBase;
|
|
||||||
baseAddress = (PCHAR)baseAddress + basicInfo.RegionSize;
|
|
||||||
@@ -2889,8 +2889,8 @@ psutil_ppid_map(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItem(py_retdict, py_pid, py_ppid))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_pid);
|
|
||||||
- Py_DECREF(py_ppid);
|
|
||||||
+ Py_CLEAR(py_pid);
|
|
||||||
+ Py_CLEAR(py_ppid);
|
|
||||||
} while (Process32Next(handle, &pe));
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2993,8 +2993,8 @@ psutil_net_if_addrs(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
- Py_DECREF(py_mac_address);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
+ Py_CLEAR(py_mac_address);
|
|
||||||
}
|
|
||||||
|
|
||||||
// find out the IP address associated with the NIC
|
|
||||||
@@ -3070,14 +3070,14 @@ psutil_net_if_addrs(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyList_Append(py_retlist, py_tuple))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_tuple);
|
|
||||||
- Py_DECREF(py_address);
|
|
||||||
- Py_DECREF(py_netmask);
|
|
||||||
+ Py_CLEAR(py_tuple);
|
|
||||||
+ Py_CLEAR(py_address);
|
|
||||||
+ Py_CLEAR(py_netmask);
|
|
||||||
|
|
||||||
pUnicast = pUnicast->Next;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- Py_DECREF(py_nic_name);
|
|
||||||
+ Py_CLEAR(py_nic_name);
|
|
||||||
pCurrAddresses = pCurrAddresses->Next;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -3197,8 +3197,8 @@ psutil_net_if_stats(PyObject *self, PyObject *args) {
|
|
||||||
goto error;
|
|
||||||
if (PyDict_SetItem(py_retdict, py_nic_name, py_ifc_info))
|
|
||||||
goto error;
|
|
||||||
- Py_DECREF(py_nic_name);
|
|
||||||
- Py_DECREF(py_ifc_info);
|
|
||||||
+ Py_CLEAR(py_nic_name);
|
|
||||||
+ Py_CLEAR(py_ifc_info);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(pIfTable);
|
|
23
SOURCES/python-psutil-skip-flaky-tests.patch
Normal file
23
SOURCES/python-psutil-skip-flaky-tests.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
From 2dda5cf427161ebb66a2de2429395d67fbba3955 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Orsava <torsava@redhat.com>
|
||||||
|
Date: Tue, 26 Jan 2021 15:02:57 +0100
|
||||||
|
Subject: [PATCH] Skip flaky tests
|
||||||
|
---
|
||||||
|
psutil/tests/test_system.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/psutil/tests/test_system.py b/psutil/tests/test_system.py
|
||||||
|
index a55164c..912a254 100755
|
||||||
|
--- a/psutil/tests/test_system.py
|
||||||
|
+++ b/psutil/tests/test_system.py
|
||||||
|
@@ -724,6 +724,7 @@ class TestNetAPIs(PsutilTestCase):
|
||||||
|
self.assertEqual(psutil.net_io_counters(pernic=True), {})
|
||||||
|
assert m.called
|
||||||
|
|
||||||
|
+ @unittest.skip("Skip flaky tests")
|
||||||
|
def test_net_if_addrs(self):
|
||||||
|
nics = psutil.net_if_addrs()
|
||||||
|
assert nics, nics
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
26
SOURCES/python-psutil-skip-test-broken-ipv6.patch
Normal file
26
SOURCES/python-psutil-skip-test-broken-ipv6.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From 19faccd7ebef5c1c8095848909b2b6a629ec0d91 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Orsava <torsava@redhat.com>
|
||||||
|
Date: Tue, 26 Jan 2021 12:49:50 +0100
|
||||||
|
Subject: [PATCH] Test skipped due to broken handling of IPv6 addresses
|
||||||
|
|
||||||
|
See: https://github.com/giampaolo/psutil/issues/1909
|
||||||
|
---
|
||||||
|
psutil/tests/test_linux.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py
|
||||||
|
index 2c5d701..ef77157 100755
|
||||||
|
--- a/psutil/tests/test_linux.py
|
||||||
|
+++ b/psutil/tests/test_linux.py
|
||||||
|
@@ -920,7 +920,7 @@ class TestLoadAvg(PsutilTestCase):
|
||||||
|
# =====================================================================
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(not LINUX, "LINUX only")
|
||||||
|
+@unittest.skip("Test skipped due to broken handling of IPv6 addresses: https://github.com/giampaolo/psutil/issues/1909")
|
||||||
|
class TestSystemNetIfAddrs(PsutilTestCase):
|
||||||
|
|
||||||
|
def test_ips(self):
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
134
SOURCES/python-psutil-skip-tests-in-mock.patch
Normal file
134
SOURCES/python-psutil-skip-tests-in-mock.patch
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
diff --color -Nur psutil-release-5.8.0.orig/psutil/tests/test_linux.py psutil-release-5.8.0/psutil/tests/test_linux.py
|
||||||
|
--- psutil-release-5.8.0.orig/psutil/tests/test_linux.py 2020-12-18 16:45:00.000000000 -0800
|
||||||
|
+++ psutil-release-5.8.0/psutil/tests/test_linux.py 2021-01-10 15:38:31.104890945 -0800
|
||||||
|
@@ -661,14 +661,13 @@
|
||||||
|
value = int(value.split('-')[1]) + 1
|
||||||
|
self.assertEqual(psutil.cpu_count(), value)
|
||||||
|
|
||||||
|
- @unittest.skipIf(not os.path.exists("/sys/devices/system/cpu"),
|
||||||
|
- "/sys/devices/system/cpu does not exist")
|
||||||
|
+ @unittest.skip("Unreliable on mock")
|
||||||
|
def test_against_sysdev_cpu_num(self):
|
||||||
|
ls = os.listdir("/sys/devices/system/cpu")
|
||||||
|
count = len([x for x in ls if re.search(r"cpu\d+$", x) is not None])
|
||||||
|
self.assertEqual(psutil.cpu_count(), count)
|
||||||
|
|
||||||
|
- @unittest.skipIf(not which("nproc"), "nproc utility not available")
|
||||||
|
+ @unittest.skip("Unreliable on mock")
|
||||||
|
def test_against_nproc(self):
|
||||||
|
num = int(sh("nproc --all"))
|
||||||
|
self.assertEqual(psutil.cpu_count(logical=True), num)
|
||||||
|
@@ -713,7 +712,7 @@
|
||||||
|
m.called
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(not LINUX, "LINUX only")
|
||||||
|
+@unittest.skip("Unreliable in mock")
|
||||||
|
class TestSystemCPUCountPhysical(PsutilTestCase):
|
||||||
|
|
||||||
|
@unittest.skipIf(not which("lscpu"), "lscpu utility not available")
|
||||||
|
@@ -745,7 +744,7 @@
|
||||||
|
@unittest.skipIf(not LINUX, "LINUX only")
|
||||||
|
class TestSystemCPUFrequency(PsutilTestCase):
|
||||||
|
|
||||||
|
- @unittest.skipIf(not HAS_CPU_FREQ, "not supported")
|
||||||
|
+ @unittest.skip("Unreliable in mock")
|
||||||
|
def test_emulate_use_second_file(self):
|
||||||
|
# https://github.com/giampaolo/psutil/issues/981
|
||||||
|
def path_exists_mock(path):
|
||||||
|
@@ -759,7 +758,7 @@
|
||||||
|
create=True):
|
||||||
|
assert psutil.cpu_freq()
|
||||||
|
|
||||||
|
- @unittest.skipIf(not HAS_CPU_FREQ, "not supported")
|
||||||
|
+ @unittest.skip("Unreliable in mock")
|
||||||
|
def test_emulate_use_cpuinfo(self):
|
||||||
|
# Emulate a case where /sys/devices/system/cpu/cpufreq* does not
|
||||||
|
# exist and /proc/cpuinfo is used instead.
|
||||||
|
@@ -888,7 +887,7 @@
|
||||||
|
self.assertEqual(freq.current, 200)
|
||||||
|
|
||||||
|
|
||||||
|
-@unittest.skipIf(not LINUX, "LINUX only")
|
||||||
|
+@unittest.skip("Unreliable in mock")
|
||||||
|
class TestSystemCPUStats(PsutilTestCase):
|
||||||
|
|
||||||
|
def test_ctx_switches(self):
|
||||||
|
@@ -2126,13 +2125,14 @@
|
||||||
|
value = tuple(map(int, value.split()[1:4]))
|
||||||
|
self.assertEqual(self.proc.gids(), value)
|
||||||
|
|
||||||
|
- @retry_on_failure()
|
||||||
|
+ @unittest.skip("Unreliable in mock")
|
||||||
|
def test_num_ctx_switches(self):
|
||||||
|
value = self.read_status_file("voluntary_ctxt_switches:")
|
||||||
|
self.assertEqual(self.proc.num_ctx_switches().voluntary, value)
|
||||||
|
value = self.read_status_file("nonvoluntary_ctxt_switches:")
|
||||||
|
self.assertEqual(self.proc.num_ctx_switches().involuntary, value)
|
||||||
|
|
||||||
|
+ @unittest.skip("Unreliable in mock")
|
||||||
|
def test_cpu_affinity(self):
|
||||||
|
value = self.read_status_file("Cpus_allowed_list:")
|
||||||
|
if '-' in str(value):
|
||||||
|
diff --color -Nur psutil-release-5.8.0.orig/psutil/tests/test_misc.py psutil-release-5.8.0/psutil/tests/test_misc.py
|
||||||
|
--- psutil-release-5.8.0.orig/psutil/tests/test_misc.py 2020-12-18 16:45:00.000000000 -0800
|
||||||
|
+++ psutil-release-5.8.0/psutil/tests/test_misc.py 2021-01-10 15:38:31.104890945 -0800
|
||||||
|
@@ -355,7 +355,7 @@
|
||||||
|
|
||||||
|
def test_setup_script(self):
|
||||||
|
setup_py = os.path.join(ROOT_DIR, 'setup.py')
|
||||||
|
- if CI_TESTING and not os.path.exists(setup_py):
|
||||||
|
+ if not os.path.exists(setup_py):
|
||||||
|
return self.skipTest("can't find setup.py")
|
||||||
|
module = import_module_by_path(setup_py)
|
||||||
|
self.assertRaises(SystemExit, module.setup)
|
||||||
|
diff --color -Nur psutil-release-5.8.0.orig/psutil/tests/test_system.py psutil-release-5.8.0/psutil/tests/test_system.py
|
||||||
|
--- psutil-release-5.8.0.orig/psutil/tests/test_system.py 2020-12-18 16:45:00.000000000 -0800
|
||||||
|
+++ psutil-release-5.8.0/psutil/tests/test_system.py 2021-01-10 15:38:31.105890946 -0800
|
||||||
|
@@ -198,7 +198,7 @@
|
||||||
|
self.assertGreater(bt, 0)
|
||||||
|
self.assertLess(bt, time.time())
|
||||||
|
|
||||||
|
- @unittest.skipIf(CI_TESTING and not psutil.users(), "unreliable on CI")
|
||||||
|
+ @unittest.skipIf(not psutil.users(), "unreliable on CI")
|
||||||
|
def test_users(self):
|
||||||
|
users = psutil.users()
|
||||||
|
self.assertNotEqual(users, [])
|
||||||
|
@@ -510,7 +510,7 @@
|
||||||
|
if not AIX and name in ('ctx_switches', 'interrupts'):
|
||||||
|
self.assertGreater(value, 0)
|
||||||
|
|
||||||
|
- @unittest.skipIf(not HAS_CPU_FREQ, "not suported")
|
||||||
|
+ @unittest.skip("Unreliable in mock")
|
||||||
|
def test_cpu_freq(self):
|
||||||
|
def check_ls(ls):
|
||||||
|
for nt in ls:
|
||||||
|
@@ -579,6 +579,7 @@
|
||||||
|
def test_disk_usage_bytes(self):
|
||||||
|
psutil.disk_usage(b'.')
|
||||||
|
|
||||||
|
+ @unittest.skip("unreliable on CI")
|
||||||
|
def test_disk_partitions(self):
|
||||||
|
def check_ntuple(nt):
|
||||||
|
self.assertIsInstance(nt.device, str)
|
||||||
|
@@ -828,7 +829,7 @@
|
||||||
|
|
||||||
|
class TestSensorsAPIs(PsutilTestCase):
|
||||||
|
|
||||||
|
- @unittest.skipIf(not HAS_SENSORS_TEMPERATURES, "not supported")
|
||||||
|
+ @unittest.skip("Unreliable in mock")
|
||||||
|
def test_sensors_temperatures(self):
|
||||||
|
temps = psutil.sensors_temperatures()
|
||||||
|
for name, entries in temps.items():
|
||||||
|
diff --color -Nur psutil-release-5.8.0.orig/psutil/tests/test_testutils.py psutil-release-5.8.0/psutil/tests/test_testutils.py
|
||||||
|
--- psutil-release-5.8.0.orig/psutil/tests/test_testutils.py 2020-12-18 16:45:00.000000000 -0800
|
||||||
|
+++ psutil-release-5.8.0/psutil/tests/test_testutils.py 2021-01-10 15:48:14.240695423 -0800
|
||||||
|
@@ -364,7 +364,7 @@
|
||||||
|
self.assertRaises(ValueError, self.execute, lambda: 0, retries=-1)
|
||||||
|
|
||||||
|
@retry_on_failure()
|
||||||
|
- @unittest.skipIf(CI_TESTING, "skipped on CI")
|
||||||
|
+ @unittest.skip("Unreliable in mock")
|
||||||
|
def test_leak_mem(self):
|
||||||
|
ls = []
|
||||||
|
|
@ -1,55 +1,41 @@
|
|||||||
%global srcname psutil
|
%global srcname psutil
|
||||||
%global sum A process and system utilities module for Python
|
%global sum A process and system utilities module for Python
|
||||||
|
|
||||||
# Filter Python modules from Provides
|
%bcond_without tests
|
||||||
%global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch})/.*\\.so$
|
|
||||||
|
|
||||||
# Prepared for Python 2 removal
|
|
||||||
%bcond_with python2
|
|
||||||
|
|
||||||
# Possibility to disable tests
|
|
||||||
%bcond_with tests
|
|
||||||
|
|
||||||
Name: python-%{srcname}
|
Name: python-%{srcname}
|
||||||
Version: 5.6.4
|
Version: 5.8.0
|
||||||
Release: 4%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: %{sum}
|
Summary: %{sum}
|
||||||
|
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://github.com/giampaolo/psutil
|
URL: https://github.com/giampaolo/psutil
|
||||||
Source0: https://github.com/giampaolo/psutil/archive/release-%{version}.tar.gz#/%{srcname}-%{version}.tar.gz
|
Source0: %{url}/archive/release-%{version}/%{srcname}-%{version}.tar.gz
|
||||||
|
|
||||||
# Fix CVE-2019-18874: double free because of refcount mishandling
|
|
||||||
# Resolved upstream: https://github.com/giampaolo/psutil/commit/7d512c8e4442a896d56505be3e78f1156f443465
|
|
||||||
# and https://github.com/giampaolo/psutil/commit/3a9bccfd2c6d2e6538298cd3892058b1204056e0
|
|
||||||
Patch0: CVE-2019-18874.patch
|
|
||||||
|
|
||||||
# Exclude i686 arch. Due to a modularity issue it's being added to the
|
# Exclude i686 arch. Due to a modularity issue it's being added to the
|
||||||
# x86_64 compose of CRB, but we don't want to ship it at all.
|
# x86_64 compose of CRB, but we don't want to ship it at all.
|
||||||
# See: https://projects.engineering.redhat.com/browse/RCM-72605
|
# See: https://projects.engineering.redhat.com/browse/RCM-72605
|
||||||
ExcludeArch: i686
|
ExcludeArch: i686
|
||||||
|
|
||||||
|
# skip 2 tests that fail in mock chroots
|
||||||
|
#
|
||||||
|
Patch0: python-psutil-skip-tests-in-mock.patch
|
||||||
|
|
||||||
|
# Skip test due to broken handling of IPv6 addresses
|
||||||
|
# See: https://github.com/giampaolo/psutil/issues/1909
|
||||||
|
Patch1: python-psutil-skip-test-broken-ipv6.patch
|
||||||
|
|
||||||
|
# Skip flaky tests
|
||||||
|
Patch2: python-psutil-skip-flaky-tests.patch
|
||||||
|
|
||||||
|
BuildRequires: make
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: python%{python3_pkgversion}-devel
|
BuildRequires: python%{python3_pkgversion}-devel
|
||||||
BuildRequires: python%{python3_pkgversion}-rpm-macros
|
BuildRequires: python%{python3_pkgversion}-rpm-macros
|
||||||
# Test dependencies
|
# Test dependencies
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
BuildRequires: procps-ng
|
BuildRequires: procps-ng
|
||||||
BuildRequires: python%{python3_pkgversion}-mock
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with python2}
|
|
||||||
%if 0%{?fedora} < 32
|
|
||||||
BuildRequires: python2-mock
|
|
||||||
BuildRequires: python2-devel
|
|
||||||
BuildRequires: python2-ipaddress
|
|
||||||
%else
|
|
||||||
# This package has an exception to use Python 2 in Fedora 32+
|
|
||||||
# The exception is for chromium (chrome-remote-desktop)
|
|
||||||
# https://pagure.io/fesco/issue/2214
|
|
||||||
BuildRequires: python27
|
|
||||||
BuildRequires: python2-setuptools
|
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -60,20 +46,6 @@ command line tools such as: ps, top, df, kill, free, lsof, free, netstat,
|
|||||||
ifconfig, nice, ionice, iostat, iotop, uptime, pidof, tty, who, taskset, pmap.
|
ifconfig, nice, ionice, iostat, iotop, uptime, pidof, tty, who, taskset, pmap.
|
||||||
|
|
||||||
|
|
||||||
%if %{with python2}
|
|
||||||
%package -n python2-%{srcname}
|
|
||||||
Summary: %{sum}
|
|
||||||
%{?python_provide:%python_provide python2-%{srcname}}
|
|
||||||
Obsoletes: python-%{srcname} < 3.1.1-3
|
|
||||||
|
|
||||||
%description -n python2-psutil
|
|
||||||
psutil is a module providing an interface for retrieving information on all
|
|
||||||
running processes and system utilization (CPU, memory, disks, network, users) in
|
|
||||||
a portable way by using Python 3, implementing many functionalities offered by
|
|
||||||
command line tools such as: ps, top, df, kill, free, lsof, free, netstat,
|
|
||||||
ifconfig, nice, ionice, iostat, iotop, uptime, pidof, tty, who, taskset, pmap.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%package -n python%{python3_pkgversion}-psutil
|
%package -n python%{python3_pkgversion}-psutil
|
||||||
Summary: %{sum}
|
Summary: %{sum}
|
||||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
|
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
|
||||||
@ -98,34 +70,16 @@ done
|
|||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if %{with python2}
|
|
||||||
%py2_build
|
|
||||||
%endif
|
|
||||||
%py3_build
|
%py3_build
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%if %{with python2}
|
|
||||||
%py2_install
|
|
||||||
%endif
|
|
||||||
%py3_install
|
%py3_install
|
||||||
|
|
||||||
|
|
||||||
%check
|
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
%if %{with python2} && 0%{?fedora} < 32
|
%check
|
||||||
make test-memleaks PYTHON=%{__python2}
|
make test CI_TESTING=1 PYTHON=%{__python3} PYTHONPATH=%{buildroot}/%{python3_sitearch}
|
||||||
%endif
|
|
||||||
make test-memleaks PYTHON=%{__python3}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%if %{with python2}
|
|
||||||
%files -n python2-%{srcname}
|
|
||||||
%license LICENSE
|
|
||||||
%doc CREDITS HISTORY.rst README.rst
|
|
||||||
%{python2_sitearch}/%{srcname}/
|
|
||||||
%{python2_sitearch}/*.egg-info
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -137,20 +91,40 @@ make test-memleaks PYTHON=%{__python3}
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Jul 26 2021 Charalampos Stratakis <cstratak@redhat.com> - 5.6.4-4
|
* Fri Jan 15 2021 Tomas Orsava <torsava@redhat.com> - 5.8.0-4
|
||||||
- Security fix for CVE-2019-18874: double free because of refcount mishandling
|
- Convert from Fedora to the python39 module in RHEL8
|
||||||
Resolves: rhbz#1772014
|
- Resolves: rhbz#1877430
|
||||||
|
|
||||||
* Thu Dec 12 2019 Tomas Orsava <torsava@redhat.com> - 5.6.4-3
|
* Sun Jan 10 2021 Kevin Fenzi <kevin@scrye.com> - 5.8.0-3
|
||||||
- Exclude unsupported i686 arch
|
- Disable test_leak_mem test.
|
||||||
|
|
||||||
* Wed Nov 20 2019 Lumír Balhar <lbalhar@redhat.com> - 5.6.4-2
|
* Sun Jan 10 2021 Kevin Fenzi <kevin@scrye.com> - 5.8.0-2
|
||||||
- Adjusted for Python 3.8 module in RHEL 8
|
- Disable test_sensors_temperatures test.
|
||||||
|
|
||||||
* Wed Nov 06 2019 Lumír Balhar <lbalhar@redhat.com> - 5.6.4-1
|
* Fri Jan 01 2021 Kevin Fenzi <kevin@scrye.com> - 5.8.0-1
|
||||||
- New upstream release 5.6.4
|
- Update to 5.8.0. Fixes rhbz#1909321
|
||||||
- bcond for Python 2 subpackage and tests
|
- Re-enable tests (skipping 2 that fail in mock).
|
||||||
- Enabled tests
|
|
||||||
|
* Fri Nov 06 2020 Joel Capitao <jcapitao@redhat.com> - 5.7.3-1
|
||||||
|
- Update to 5.7.3 (rhbz#1857187)
|
||||||
|
|
||||||
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.7.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 22 2020 Nicolas Chauvet <kwizart@gmail.com> - 5.7.2-1
|
||||||
|
- Update to 5.7.2
|
||||||
|
|
||||||
|
* Wed Jun 24 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 5.6.7-3
|
||||||
|
- Add BR on setuptools for all package combinations
|
||||||
|
|
||||||
|
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 5.6.7-2
|
||||||
|
- Rebuilt for Python 3.9
|
||||||
|
|
||||||
|
* Sun Feb 16 2020 Kevin Fenzi <kevin@scrye.com> - 5.6.7-1
|
||||||
|
- Update to 5.6.7. Fixes bug 1768362.
|
||||||
|
|
||||||
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.3-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
* Sun Oct 06 2019 Kevin Fenzi <kevin@scrye.com> - 5.6.3-5
|
* Sun Oct 06 2019 Kevin Fenzi <kevin@scrye.com> - 5.6.3-5
|
||||||
- Add python2-setuptools to BuildRequires to fix egg info. Fixes bug #1750362
|
- Add python2-setuptools to BuildRequires to fix egg info. Fixes bug #1750362
|
||||||
|
Loading…
Reference in New Issue
Block a user