]> 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 15b69e7365acd0d1fcb5671071f7275648871c2d..f2dc26e0ea4b7e34cf9da4f5ba85cca9d65906a9 100644 (file)
@@ -1,30 +1,42 @@
+# 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:       7.1.6
-Release:       0.1
+Version:       11.2.0
+Release:       4
 License:       GPL v2
 Group:         Applications/System
-Source0:       http://perso.wanadoo.fr/sebastien.godard/%{name}-%{version}.tar.bz2
-# Source0-md5: 7376033a34f8a9286e70a65217985ef7
-Source1:       %{name}.crond
+Source0:       http://pagesperso-orange.fr/sebastien.godard/%{name}-%{version}.tar.xz
+# Source0-md5: e8b615775ad98780e3f0675b91eddb19
 Source2:       %{name}.init
-Source3:       %{name}.sysconfig
-Patch0:                %{name}-opt.patch
+Source3:       crontab
+Patch1:                install.patch
 URL:           http://perso.wanadoo.fr/sebastien.godard/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.53
 BuildRequires: automake
-BuildRequires: libtool
-BuildRequires: gettext-devel
-BuildRequires: rpmbuild(macros) >= 1.268
+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:      rc-scripts
+Requires:      systemd-units >= 38
+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
@@ -47,36 +59,49 @@ sieciowych i innych operacji wejścia/wyjścia.
 моніторинг дискової, мережевої та іншої активності системи.
 
 %description -l zh_CN.UTF-8
-本软件提供了用于Linux的系统监视工具, 可以监视磁盘, 网络以及 其他 IO
-的活动情况.
+本软件提供了用于Linux的系统监视工具, 可以监视磁盘, 网络以及 其他 IO 的活动情况.
 
 %prep
 %setup -q
-%patch0 -p1
+%patch1 -p1
 
 %build
-%{__gettextize}
-%{__libtoolize}
 %{__aclocal}
 %{__autoconf}
-%configure
-
-%{__make} \
+%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
+
+%{__make} -j1 \
        CC="%{__cc}" \
-       CFLAGS="%{rpmcflags}"
+       CFLAGS="%{rpmcflags}" \
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{cron.d,rc.d/init.d,sysconfig},/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 %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+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}
-rm -rf $RPM_BUILD_ROOT%{_prefix}/doc/%{name}-%{version}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -84,20 +109,73 @@ 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 CHANGES CREDITS README *.sample TODO FAQ
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_prefix}/lib/sa*
+%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
+%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
-%attr(754,root,root) /etc/rc.d/init.d/*
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/*
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/*
-%{_mandir}/man*/*
This page took 0.074449 seconds and 4 git commands to generate.