+#
+# Fix or remove install.patch (seems systemd files are installed now)
Summary: The sar and iostat system monitoring commands
-Summary(pl): Polecenia sar i iostat dla systemu Linux
-Summary(ru): óÏÄÅÒÖÉÔ ÐÒÏÇÒÁÍÍÙ ÓÉÓÔÅÍÎÏÇÏ ÍÏÎÉÔÏÒÉÎÇÁ sar É iostat
-Summary(uk): í¦ÓÔÉÔØ ËÏÍÁÎÄÉ ÓÉÓÔÅÍÎÏÇÏ ÍÏΦÔÏÒÉÎÇÕ sar ÔÁ iostat
-Summary(zh_CN): sar, iostat µÈϵͳ¼àÊÓ¹¤¾ß
+Summary(pl.UTF-8): Polecenia sar i iostat dla systemu Linux
+Summary(ru.UTF-8): Содержит программы системного мониторинга sar и iostat
+Summary(uk.UTF-8): Містить команди системного моніторингу sar та iostat
+Summary(zh_CN.UTF-8): sar, iostat 等系统监视工具
+# use stable versions
+# Sysstat 11.5.x (development version).
+# Sysstat 11.4.x (stable version).
+# Sysstat 11.2.x (stable version).
Name: sysstat
-Version: 5.0.1
-Release: 1
-License: GPL
+Version: 11.4.3
+Release: 3
+License: GPL v2
Group: Applications/System
-Source0: http://perso.wanadoo.fr/sebastien.godard/%{name}-%{version}.tar.bz2
-# Source0-md5: e7f74b23cd45e815d7897b20130a5bc6
-Source1: %{name}.crond
+Source0: http://pagesperso-orange.fr/sebastien.godard/%{name}-%{version}.tar.xz
+# Source0-md5: 76e449bb83a25d95355694338b5ace70
Source2: %{name}.init
-Patch0: %{name}-opt.patch
-Patch1: %{name}-verbose.patch
-Patch2: %{name}-norwegian.patch
+Source3: crontab
+Patch1: install.patch
URL: http://perso.wanadoo.fr/sebastien.godard/
-BuildRequires: gettext-devel
-PreReq: rc-scripts
+BuildRequires: autoconf >= 2.53
+BuildRequires: automake
+BuildRequires: gettext-tools
+BuildRequires: lm_sensors-devel
+BuildRequires: rpmbuild(macros) >= 1.671
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
Requires(post,preun): /sbin/chkconfig
-Requires: crondaemon
+Requires: cronjobs
+Requires: rc-scripts
+Requires: systemd-units >= 38
+Requires: xz
+Obsoletes: iostat
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _libexecdir %{_prefix}/lib/sa
+
%description
This package provides the sar and iostat commands for the Linux
operating system, similar to their traditional UNIX counterparts. They
enable system monitoring of disk, network, and other IO activity.
-%description -l pl
-Pakiet ten udostêpnia polecenia sar i iostat dla systemu Linux podobne
-w dzia³aniu do tradycyjnych narzêdzi systemu Unix. Polecenia te
-umo¿liwiaj± monitorowanie obci±¿enia zasobów dyskowych, interfejsów
-sieciowych i innych operacji wej¶cia/wyj¶cia.
+%description -l pl.UTF-8
+Pakiet ten udostępnia polecenia sar i iostat dla systemu Linux podobne
+w działaniu do tradycyjnych narzędzi systemu Unix. Polecenia te
+umożliwiają monitorowanie obciążenia zasobów dyskowych, interfejsów
+sieciowych i innych operacji wejścia/wyjścia.
-%description -l ru
-üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÐÒÏÇÒÁÍÍÙ sar É iostat ÄÌÑ Linux, ÐÏÈÏÖÉÅ ÎÁ
-ÔÒÁÄÉÃÉÏÎÎÙÅ ÏÄÎÏÉÍÅÎÎÙÅ ÐÒÏÇÒÁÍÍÙ UNIX. ïÎÉ ÐÏÚ×ÏÌÑÀÔ ÏÓÕÝÅÓÔ×ÌÑÔØ
-ÍÏÎÉÔÏÒÉÎÇ ÄÉÓËÏ×ÏÊ, ÓÅÔÅ×ÏÊ É ÐÒÏÞÅÊ ÁËÔÉ×ÎÏÓÔÉ ÓÉÓÔÅÍÙ.
+%description -l ru.UTF-8
+Этот пакет содержит программы sar и iostat для Linux, похожие на
+традиционные одноименные программы UNIX. Они позволяют осуществлять
+мониторинг дисковой, сетевой и прочей активности системы.
-%description -l uk
-ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÐÒÏÇÒÁÍÉ sar ÔÁ iostat ÄÌÑ Linux, ÓÈÏÖ¦ ÎÁ
-ÔÒÁÄÉæÊΦ צÄÐÏצÄΦ ÐÒÏÇÒÁÍÉ UNIX. ÷ÏÎÉ ÄÏÚ×ÏÌÑÀÔØ ÚĦÊÓÎÀ×ÁÔÉ
-ÍÏΦÔÏÒÉÎÇ ÄÉÓËÏ×ϧ, ÍÅÒÅÖÅ×ϧ ÔÁ ¦ÎÛϧ ÁËÔÉ×ÎÏÓÔ¦ ÓÉÓÔÅÍÉ.
+%description -l uk.UTF-8
+Цей пакет містить програми sar та iostat для Linux, схожі на
+традиційні відповідні програми UNIX. Вони дозволяють здійснювати
+моніторинг дискової, мережевої та іншої активності системи.
-%description -l zh_CN
-±¾Èí¼þÌṩÁËÓÃÓÚLinuxµÄϵͳ¼àÊÓ¹¤¾ß, ¿ÉÒÔ¼àÊÓ´ÅÅÌ, ÍøÂçÒÔ¼°
-ÆäËû IO µÄ»î¶¯Çé¿ö.
+%description -l zh_CN.UTF-8
+本软件提供了用于Linux的系统监视工具, 可以监视磁盘, 网络以及 其他 IO 的活动情况.
%prep
%setup -q
-%patch0 -p1
%patch1 -p1
-%patch2 -p1
-
-mv -f nls/nb_NO nls/nb
-mv -f nls/nn_NO nls/nn
%build
-echo "%{_prefix}
-/var/log/sa
-n
-y
-n
-y
-7
-`id -gn`
-n" | /bin/sh build/Configure.sh
-
-%{__make} \
+%{__aclocal}
+%{__autoconf}
+%configure \
+ history=28 \
+ compressafter=31 \
+ cron_owner=root \
+ cron_interval=10 \
+ sa_lib_dir=%{_libexecdir} \
+ ZIP=%{_bindir}/xz \
+ --enable-install-cron \
+ --disable-stripping \
+ --with-systemdsystemunitdir=%{systemdunitdir}
+
+%{__sed} -i 's/SADC_OPTIONS=""/SADC_OPTIONS="-L"/' sysstat.sysconfig
+
+%{__make} -j1 \
CC="%{__cc}" \
- OPT_FLAGS="%{rpmcflags}"
+ CFLAGS="%{rpmcflags}" \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{cron.d,rc.d/init.d},/var/log/sa}
+install -d $RPM_BUILD_ROOT{/etc/{cron.d,rc.d/init.d,sysconfig},/var/log/sa,%{systemdunitdir}}
-%{__make} install
+%{__make} install \
+ CHOWN=/bin/true \
+ SYSTEMCTL=/bin/true \
+ SYSTEMD_UNIT_DIR=%{systemdunitdir} \
+ DESTDIR=$RPM_BUILD_ROOT \
+ IGNORE_MAN_GROUP=y \
+ IGNORE_FILE_ATTRIBUTES=y
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/cron.d/sysstat
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.d/%{name}
+
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
%find_lang %{name}
%post
/sbin/chkconfig --add sysstat
-if [ ! -f /var/lock/subsys/sysstat ]; then
- echo "Run \"/etc/rc.d/init.d/sysstat start\" to start sysstat." >&2
-fi
+%service sysstat restart
+%systemd_post sysstat.service
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/sysstat ]; then
- /etc/rc.d/init.d/sysstat stop >&2
- fi
+ %service sysstat stop
/sbin/chkconfig --del sysstat
fi
+%systemd_preun sysstat.service
+
+%postun
+%systemd_reload
+
+%triggerpostun -- %{name} < 10.1.6-1
+%systemd_trigger sysstat.service
+
+%triggerpostun -- %{name} < 11.2.0-2
+C=0
+for log in /var/log/sa/sa[0-9]*; do
+ if (LC_ALL=C %{_bindir}/sadf -C "$log" 2>&1 | grep -q "Current sysstat version cannot read the format of this file"); then
+ echo "Converting file $log to current format: "
+ if (%{_bindir}/sadf -c "$log" > "$log.migrate"); then
+ chown --reference "$log" "$log.migrate"
+ chmod --reference "$log" "$log.migrate"
+ mv "$log.migrate" "$log"
+ C=1
+ else
+ echo "$log MIGRATION FAILED." >&2
+ fi
+ fi
+done
+if [ "$C" -eq 1 ]; then
+ %service sysstat restart
+ %systemd_post sysstat.service
+fi
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc CHANGES CREDITS README *.sample TODO FAQ
-%attr(755,root,root) %{_bindir}/*
-%attr(750,root,root) %{_prefix}/lib/sa*
-%attr(755,root,root) %dir /var/log/sa
-%attr(640,root,root) /etc/cron.d/sysstat
+%doc CHANGES CREDITS README.md FAQ
+%attr(755,root,root) %{_bindir}/cifsiostat
+%attr(755,root,root) %{_bindir}/iostat
+%attr(755,root,root) %{_bindir}/mpstat
+%attr(755,root,root) %{_bindir}/tapestat
+%attr(755,root,root) %{_bindir}/pidstat
+%attr(755,root,root) %{_bindir}/sadf
+%attr(755,root,root) %{_bindir}/sar
+%dir %{_libexecdir}
+%attr(755,root,root) %{_libexecdir}/sa1
+%attr(755,root,root) %{_libexecdir}/sa2
+%attr(755,root,root) %{_libexecdir}/sadc
%attr(754,root,root) /etc/rc.d/init.d/sysstat
-%{_mandir}/man*/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/sysstat
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sysstat
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sysstat.ioconf
+%{systemdunitdir}/sysstat.service
+%{systemdunitdir}/sysstat-collect.service
+%{systemdunitdir}/sysstat-collect.timer
+%{systemdunitdir}/sysstat-summary.service
+%{systemdunitdir}/sysstat-summary.timer
+%{_mandir}/man1/cifsiostat.1*
+%{_mandir}/man1/iostat.1*
+%{_mandir}/man1/mpstat.1*
+%{_mandir}/man1/tapestat.1*
+%{_mandir}/man1/pidstat.1*
+%{_mandir}/man1/sadf.1*
+%{_mandir}/man1/sar.1*
+%{_mandir}/man5/sysstat.5*
+%{_mandir}/man8/sa1.8*
+%{_mandir}/man8/sa2.8*
+%{_mandir}/man8/sadc.8*
+%attr(750,root,root) %dir /var/log/sa