]> git.pld-linux.org Git - packages/sysstat.git/blobdiff - sysstat.spec
fix cron definiton, broken since sysstat-11.0.8-2
[packages/sysstat.git] / sysstat.spec
index e3b549bfdd570560e375f97d4a663d98bb35bbc9..f2dc26e0ea4b7e34cf9da4f5ba85cca9d65906a9 100644 (file)
-Summary:       SAR, MPSTAT and IOSTAT for Linux
-Summary(pl):   SAR, MPSTAT and IOSTAT dla Linuksa
+# TODO:
+# - if running at systemd, cron job is not neccessary (it has the timers)
+#
+# Fix or remove  install.patch (seems systemd files are installed now)
+Summary:       The sar and iostat system monitoring commands
+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.3.x (development version).
+# Sysstat 11.2.x (stable version).
 Name:          sysstat
-Version:       4.0.3
-Release:       1
-License:       GPL
+Version:       11.2.0
+Release:       4
+License:       GPL v2
 Group:         Applications/System
-Source0:       http://perso.wanadoo.fr/sebastien.godard/%{name}-%{version}.tar.bz2
-Source1:       %{name}.crond
+Source0:       http://pagesperso-orange.fr/sebastien.godard/%{name}-%{version}.tar.xz
+# Source0-md5: e8b615775ad98780e3f0675b91eddb19
 Source2:       %{name}.init
-Patch0:                %{name}-opt.patch
+Source3:       crontab
+Patch1:                install.patch
 URL:           http://perso.wanadoo.fr/sebastien.godard/
+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
-Prereq:                rc-scripts
-Prereq:                /sbin/chkconfig
-BuildRequires: gettext-devel
-BuildRequires: sh-utils
+Requires:      rc-scripts
+Requires:      systemd-units >= 38
+Obsoletes:     iostat
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                _libexecdir     %{_prefix}/lib/sa
+
 %description
-SAR, MPSTAT and IOSTAT for Linux.
+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.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.UTF-8
+Этот пакет содержит программы sar и iostat для Linux, похожие на
+традиционные одноименные программы UNIX. Они позволяют осуществлять
+мониторинг дисковой, сетевой и прочей активности системы.
 
-%description -l pl
-SAR, MPSTAT and IOSTAT dla Linuksa.
+%description -l uk.UTF-8
+Цей пакет містить програми sar та iostat для Linux, схожі на
+традиційні відповідні програми UNIX. Вони дозволяють здійснювати
+моніторинг дискової, мережевої та іншої активності системи.
+
+%description -l zh_CN.UTF-8
+本软件提供了用于Linux的系统监视工具, 可以监视磁盘, 网络以及 其他 IO 的活动情况.
 
 %prep
 %setup -q
-%patch0 -p1
+%patch1 -p1
 
 %build
-echo "%{_prefix}
-/var/log/sa
-n
-y
-n
-`id -gn`
-n" | /bin/sh build/Configure.sh
+%{__aclocal}
+%{__autoconf}
+%configure \
+       history=28 \
+       compressafter=31 \
+       cron_owner=root \
+       cron_interval=10 \
+       sa_lib_dir=%{_libexecdir} \
+       --enable-install-cron \
+       --disable-stripping \
+       --with-systemdsystemunitdir=%{systemdunitdir}
+
+%{__sed} -i 's/SADC_OPTIONS=""/SADC_OPTIONS="-L"/' sysstat.sysconfig
 
-OPT_FLAGS="%{rpmcflags}" %{__make}
+%{__make} -j1 \
+       CC="%{__cc}" \
+       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}
 
-gzip -9nf CHANGES CREDITS README *.sample TODO
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
 
 %find_lang %{name}
 
@@ -56,18 +108,74 @@ rm -rf $RPM_BUILD_ROOT
 
 %post
 /sbin/chkconfig --add sysstat
+%service sysstat restart
+%systemd_post sysstat.service
 
 %preun
 if [ "$1" = "0" ]; then
+       %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 *.gz
-%attr(755,root,root) %{_bindir}/*
-%attr(750,root,root)%{_libdir}/sa*
-%attr(755,root,root) %dir /var/log/sa
-%attr(640,root,root) /etc/cron.d/sysstat
+%doc CHANGES CREDITS README 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
This page took 0.10908 seconds and 4 git commands to generate.