summaryrefslogtreecommitdiff
path: root/atop.spec
blob: 1c76c44d7aa3ee444130f4b524fbb41403015a28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Name:           atop
Version:        2.7.1
Release:        2
Summary:        Advanced System and Process Monitor
URL:            https://www.atoptool.nl
Source0:        %{url}/download/%{name}-%{version}.tar.gz
License:        GPL-2.0-only
Requires:       zlib, ncurses
BuildRequires:  zlib-devel, ncurses-devel

%description
Atop is an ASCII full-screen performance monitor for Linux that is 
capable of reporting the activity of all processes (even if processes 
have finished during the interval), daily logging of system and process 
activity for long-term analysis, highlighting overloaded system resources 
by using colors, etc. At regular intervals, it shows system-level 
activity related to the CPU, memory, swap, disks (including LVM) and 
network layers, and for every process (and thread) it shows e.g. the CPU 
utilization, memory growth, disk utilization, priority, username, state, 
and exit code.
In combination with the optional kernel module netatop, it even shows 
network activity per process/thread.

%prep
%setup -q

%build
export CFLAGS="$RPM_OPT_FLAGS -fPIE" LDFLAGS="-Wl,-z,now"
%make_build

%install
# generic build
install -Dp -m 0755 atop 	  $RPM_BUILD_ROOT/usr/bin/atop
ln -s atop                        $RPM_BUILD_ROOT/usr/bin/atopsar
install -Dp -m 0755 atopconvert	  $RPM_BUILD_ROOT/usr/bin/atopconvert
install -Dp -m 0755 atopacctd 	  $RPM_BUILD_ROOT/usr/sbin/atopacctd
install -Dp -m 0755 atopgpud 	  $RPM_BUILD_ROOT/usr/sbin/atopgpud
install -Dp -m 0644 atop.default  $RPM_BUILD_ROOT/etc/default/atop

install -Dp -m 0644 man/atop.1 	      $RPM_BUILD_ROOT/usr/share/man/man1/atop.1
install -Dp -m 0644 man/atopsar.1     $RPM_BUILD_ROOT/usr/share/man/man1/atopsar.1
install -Dp -m 0644 man/atopconvert.1 $RPM_BUILD_ROOT/usr/share/man/man1/atopconvert.1
install -Dp -m 0644 man/atoprc.5      $RPM_BUILD_ROOT/usr/share/man/man5/atoprc.5
install -Dp -m 0644 man/atopacctd.8   $RPM_BUILD_ROOT/usr/share/man/man8/atopacctd.8
install -Dp -m 0644 man/atopgpud.8    $RPM_BUILD_ROOT/usr/share/man/man8/atopgpud.8

install  -d -m 0755 		  $RPM_BUILD_ROOT/var/log/atop

# systemd-specific build
install -Dp -m 0644 atop.service     $RPM_BUILD_ROOT/usr/lib/systemd/system/atop.service
install -Dp -m 0644 atop-rotate.service     $RPM_BUILD_ROOT/usr/lib/systemd/system/atop-rotate.service
install -Dp -m 0644 atop-rotate.timer     $RPM_BUILD_ROOT/usr/lib/systemd/system/atop-rotate.timer
install -Dp -m 0644 atopacct.service $RPM_BUILD_ROOT/usr/lib/systemd/system/atopacct.service
install -Dp -m 0644 atopgpu.service  $RPM_BUILD_ROOT/usr/lib/systemd/system/atopgpu.service
install -Dp -m 0755 atop-pm.sh	     $RPM_BUILD_ROOT/usr/lib/systemd/system-sleep/atop-pm.sh

%clean
rm -rf $RPM_BUILD_ROOT

%post
/bin/systemctl daemon-reload
/bin/systemctl enable --now atopacct
/bin/systemctl enable --now atop
/bin/systemctl enable --now atop-rotate.timer

%preun
if [ $1 -eq 0 ]
then
	/bin/systemctl disable --now atop
	/bin/systemctl disable --now atopacct
	/bin/systemctl disable --now atopgpu
fi

%files
%defattr(-,root,root)
%doc README COPYING AUTHOR ChangeLog
/usr/bin/atop
/usr/bin/atopconvert
/usr/bin/atopsar
/usr/sbin/atopacctd
/usr/sbin/atopgpud
/usr/share/man/man1/atop.1*
/usr/share/man/man1/atopsar.1*
/usr/share/man/man1/atopconvert.1*
/usr/share/man/man5/atoprc.5*
/usr/share/man/man8/atopacctd.8*
/usr/share/man/man8/atopgpud.8*
/usr/lib/systemd/system/atop.service
/usr/lib/systemd/system/atop-rotate.service
/usr/lib/systemd/system/atop-rotate.timer
/usr/lib/systemd/system/atopacct.service
/usr/lib/systemd/system/atopgpu.service
/usr/lib/systemd/system-sleep/atop-pm.sh
/etc/default/atop
%dir /var/log/atop/

%changelog
* Mon Jul 18 2022 wangkai <wangkai385@h-partners.com> - 2.7.1-2
- License compliance rectification

* Wed Jun 22 2022 yangzhao <yangzhao1@kylinos.com> - 2.7.1-1
- Upgrade to 2.7.1

* Fri Dec 25 2020 licihua <licihua@hawei.com> - 2.6.0-1
- Upgrade to 2.6.0

* Fri Jul 24 2020 ethan848 <mingfangsen@huawei.com> - 2.5.0-1
- Initial RPM release