Name:           python-psutil
Version:        5.4.3
Release:        10
Summary:        A library for retrieving information on running processes and system utilization in Python
License:        BSD
URL:            https://github.com/giampaolo/psutil
Source0:        https://github.com/giampaolo/psutil/archive/release-%{version}.tar.gz#/psutil-%{version}.tar.gz

Patch0001:      CVE-2019-18874-1.patch
Patch0002:      CVE-2019-18874-2.patch
Patch0003:      0001-Fix-1354-Linux-disk_io_counters-fails-on-Linux-kerne.patch

BuildRequires:  gcc python2-devel python3-devel procps-ng python2-mock python3-mock python2-ipaddress

%description
psutil (process and system utilities) is a cross-platform library for retrieving information
on running processes and system utilization (CPU, memory, disks, network, sensors) 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 classic UNIX
command line tools such as ps, top, iotop, lsof, netstat, ifconfig, free and others.

%package   -n   python2-psutil
Summary:        A library for retrieving information on running processes and system utilization in Python2
%{?python_provide:%python_provide python2-psutil}
Obsoletes:      python-psutil < 3.1.1-3

%description -n python2-psutil
psutil (process and system utilities) is a cross-platform library for retrieving information
on running processes and system utilization (CPU, memory, disks, network, sensors) in Python2.
It is useful mainly for system monitoring, profiling and limiting process resources and
management of running processes.It implements many functionalities offered by classic UNIX
command line tools such as ps, top, iotop, lsof, netstat, ifconfig, free and others.

%package   -n   python3-psutil
Summary:        A library for retrieving information on running processes and system utilization in Python3
%{?python_provide:%python_provide python3-psutil}

%description -n python3-psutil
psutil (process and system utilities) is a cross-platform library for retrieving information
on running processes and system utilization (CPU, memory, disks, network, sensors) in Python3.
It is useful mainly for system monitoring, profiling and limiting process resources and
management of running processes.It implements many functionalities offered by classic UNIX
command line tools such as ps, top, iotop, lsof, netstat, ifconfig, free and others.

%prep
%autosetup -n psutil-release-%{version} -p1

find psutil -name \*.py | while read file; do
  sed -i.orig -e '1{/^#!/d}' $file && \
  touch -r $file.orig $file && \
  rm $file.orig
done

%build
%py2_build
%py3_build

%install
%py2_install
%py3_install

%files -n python2-psutil
%license LICENSE
%doc CREDITS HISTORY.rst README.rst
%{python2_sitearch}/psutil/
%{python2_sitearch}/*.egg-info

%files -n python3-psutil
%license LICENSE
%doc CREDITS HISTORY.rst README.rst
%{python3_sitearch}/psutil/
%{python3_sitearch}/*.egg-info

%changelog
* Wed Oct 18 2023 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 5.4.3-10
- Fix Linuxdisk io counters fails on Linux kernel

* Wed Oct 20 2021 yaoxin <yaoxin30@huawei.com> - 5.4.3-9
- Fix CVE-2019-18874

* Fri Aug 21 2020 shixuantong <shixuantong@huawei.com> - 5.4.3-8
- add release version for rebuild

* Sat Nov 23 2019 zhouyihang <zhouyihang1@huawei.com> - 5.4.3-7
- Package init
