Name: 		procps-ng
Version: 	4.0.2
Release:	10
Summary: 	Utilities that provide system information.
License: 	GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+
URL: 		https://sourceforge.net/projects/procps-ng/

Source0: 	http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.xz
Source1: 	README.md
Source2: 	README.top

Patch1: 	openeuler-add-M-and-N-options-for-top.patch
Patch2: 	openeuler-top-exit-with-error-when-pid-overflow.patch
Patch3:		skill-Restore-the-p-flag-functionality.patch
Patch4:		backport-top-address-the-missing-guest-tics-for-summary-area.patch
Patch5:		backport-0001-ps-address-missing-or-corrupted-fields-with-m-option.patch
Patch6:		backport-0002-ps-trade-previous-fix-for-final-solution-to-m-option.patch
Patch7:		backport-top-lessen-summary-cpu-distortions-with-first-displa.patch
Patch8:		backport-pmap-Increase-memory-allocation-failure-judgment.patch
Patch9:		backport-top-added-guest-tics-when-multiple-cpus-were-merged.patch
Patch10:	backport-library-restore-the-proper-main-thread-tics-valuation.patch
Patch11:	backport-vmstat-Update-memory-statistics.patch
Patch12:	backport-vmstat-Print-guest-time.patch
Patch13:	backport-ps-Fix-possible-buffer-overflow-in-C-option.patch

BuildRequires: 	ncurses-devel libtool autoconf automake gcc gettext-devel systemd-devel

Provides: 	procps = %{version}-%{release}
Provides: 	%{name}	

%description
The procps package contains a set of system utilities that provide
system information. Procps includes ps, free, skill, pkill, pgrep,
snice, tload, top, uptime, vmstat, pidof, pmap, slabtop, w, watch
and pwdx.

%package 	devel
Summary:  	The devel for %{name} 
Requires: 	%{name} = %{version}-%{release}
Provides: 	procps-devel = %{version}-%{release}

%description 	devel
System and process monitoring utilities

%package 	i18n
Summary:  	Internationalization pack for %{name} 
Requires: 	%{name} = %{version}-%{release}
BuildArch: 	noarch

%description 	i18n
The package is used for the Internationalization of %{name}

%package_help

%prep
%autosetup -n procps-ng-%{version} -p1

cp -p %{SOURCE1} .
cp -p %{SOURCE2} src/top/

%build
autoreconf -ivf

%configure  --exec-prefix=/ --docdir=/unwanted --disable-w-from --disable-kill --enable-watch8bit \
           --enable-skill --enable-sigwinch --enable-libselinux --with-systemd --disable-modern-top

make CFLAGS="%{optflags}"

%check
make check

%install
%make_install

%find_lang %{name} --all-name --with-man

ln -s %{_bindir}/pidof %{buildroot}%{_sbindir}/pidof

%ldconfig_scriptlets

%files
%doc COPYING COPYING.LIB
%{!?_licensedir:%global license %%doc}
%license COPYING COPYING.LIB
%{_libdir}/libproc2.so.*
%{_bindir}/*
%{_sbindir}/*
%exclude %{_libdir}/libproc2.la
%exclude /unwanted/*
%exclude %{_libdir}/*.a

%files devel
%doc COPYING COPYING.LIB
%{!?_licensedir:%global license %%doc}
%license COPYING COPYING.LIB
%{_libdir}/libproc2.so
%{_libdir}/pkgconfig/libproc2.pc
%{_includedir}/libproc2

%files i18n -f %{name}.lang

%files help
%doc AUTHORS NEWS README.md
%{_mandir}/man*

%changelog
* Tue Aug 15 2023 Liu Chao <liuchao173@huawei.com> - 4.0.2-10
- ps: Fix possible buffer overflow in -C option

* Thu Jul 13 2023 zhoujie <zhoujie133@huawei.com> - 4.0.2-9
- vmstat: print guest time

* Wed Jul 12 2023 zhoujie <zhoujie133@huawei.com> - 4.0.2-8
- vmstat: Update memory statistics

* Tue Jul 11 2023 Xi Fnegfei <xi.fengfei@h3c.com> - 4.0.2-7
- library: restore the proper main thread tics valuation

* Wed Jun 28 2023 zhoujie <zhoujie133@huawei.com> - 4.0.2-6
- top: added guest tics when multiple cpus were merged

* Mon Jun 26 2023 zhoujie <zhoujie133@huawei.com> - 4.0.2-5
- pmap: increase memory allocation failure judgment 

* Tue Jun 13 2023 zhoujie <zhoujie133@huawei.com> - 4.0.2-4
- top: first time display delay

* Tue May 30 2023 zhoujie <zhoujie133@huawei.com> - 4.0.2-3
- ps: fix ps -lm dump problem

* Sat Mar 25 2023 zhoujie <zhoujie133@huawei.com> - 4.0.2-2
- top: top address the missing guest tics for summary area

* Wed Feb 1 2023 Qiang Wei <qiang.wei@suse.com> - 4.0.2-1
- Update to 4.0.2.

* Mon Dec 12 2022 Liu Chao <liuchao173@huawei.com> - 4.0.0-4
- skill: Restore the -p flag functionality
 
* Tue Nov 29 2022 zhoujie <zhoujie133@huawei.com> - 4.0.0-3
- enable make check

* Mon Nov 7 2022 zhoujie <zhoujie133@huawei.com> - 4.0.0-2
- top eliminate a potential abend when exiting A mode

* Fri Nov 4 2022 zhoujie <zhoujie133@huawei.com> - 4.0.0-1
- update the release to 4.0.0-1

* Sat Jan 29 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 3.3.17-2
- fix file type chamges caused by top -b redirection

* Thu Dec 2 2021 zhouwenpei <zhouwenpei1@huawei.com> - 3.3.17-1
- update to 3.3.17

* Wed Jun 30 2021 hewenliang <hewenliang4@huawei.com> - 3.3.16-16
- sync patches

* Sat Feb 27 2021 hewenliang <hewenliang4@huawei.com> - 3.3.16-15
- sync patches

* Sat Feb 27 2021 hewenliang <hewenliang4@huawei.com> - 3.3.16-14
- sync patches

* Tue Nov 03 2020 xinghe <xinghe1@huawei.com> - 3.3.16-13
- sync patchs

* Wed Sep 23 2020 MarsChan <chenmingmin@huawei.com> - 3.3.16-12
- Type:bugfix
- ID:NA
- SUG:restart
- DESC:A kernel change means we cannot trust what sysconf(SC_ARG_MAX)
       returns. We clamp it so its more than 4096 and less than 128*1024
       which is what findutils does.

* Tue Jan 7 2020 MarsChan <chenmingmin@huawei.com> - 3.3.16-11
- Type:upgrade
- ID:NA
- SUG:NA
- DESC: upgrade to version 3.3.16 and delete the patch between
        3.3.15 and 3.3.16.

* Mon Dec 23 2019 wangshuo <wangshuo47@huawei.com> - 3.3.15-10
- Type:bugfix
- ID:NA
- SUG:NA
- DESC: add liscense to main and devel package.

* Thu Dec 19 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.3.15-9
- Fix typo

* Fri Mar 15 2019 xuwei<xuwei58@huawei.com> - 3.3.15-8
- Type:bugfix
- ID:NA
- SUG:restart
- DEC:top: don't mess with groff line length in man document
      top: add another field sanity check in 'config_file()'
      top: prevent buffer overruns in 'inspection_utility()'
      docs: Tidying of ps,kill and skill manpages
      library: avoid problems involving 'supgid' mishandling
      w: Prevent out-of-bounds reads in
      w: Clamp maxcmd to the MIN/MAX_CMD_WIDTH range.
      vmstat: getopt*() returns -1 when done, not EOF.
      vmstat: Replace memcmp() with strncmp().
      vmstat: Check return values of localtime() and
      vmstat: Prevent out-of-bounds writes in new_header()
      top: the '#define PRETEND2_5_X' was found to be broken
      procio: use the user-supplied delimiter to split large
      procio: fix potential out-of-bounds access when write
      sysctl: do not report set key in case `close_stream`

* Tue Jan 29 2019 huangchangyu<huangchangyu@huawei.com> - 3.3.15-7
- Type:bugfix
- ID:NA
- SUG:NA
- DEC:sync patches

* Wed Jan 23 2019 xuchunmei<xuchunmei@huawei.com> - 3.3.15-6
- Type:bugfix
- ID:NA
- SUG:restart
- DEC:top exit with error when pid overflow

* Fri Jan 11 2019 xuchunmei<xuchunmei@huawei.com> - 3.3.15-5
- Type:feature
- ID:NA
- SUG:restart
- DEC:add options -M and -N for top

* Sat Jul 18 2018 openEuler Buildteam <buildteam@openeuler.org> - 3.3.15-4
- Package init
