[packages/vnstat] - updated to 1.12 - added work as a daemon support instead of cron tasks (included systemd service)

kiesiu kiesiu at pld-linux.org
Sun Sep 14 22:05:09 CEST 2014


commit 0776a662a5feb33d5c80872a91b447bd8349370d
Author: Łukasz Kieś <kiesiu at pld-linux.org>
Date:   Sun Sep 14 21:51:38 2014 +0200

    - updated to 1.12
    - added work as a daemon support instead of cron tasks (included systemd service)
    - verbose files section

 vnstat.cron |  4 ++--
 vnstat.spec | 64 ++++++++++++++++++++++++++++++++++++++++++++-----------------
 2 files changed, 48 insertions(+), 20 deletions(-)
---
diff --git a/vnstat.spec b/vnstat.spec
index 51917fb..61ed2d8 100644
--- a/vnstat.spec
+++ b/vnstat.spec
@@ -1,24 +1,30 @@
+# TODO: add SysV init file?
+
 Summary:	Console-based network traffic monitor
 Summary(pl.UTF-8):	Konsolowe narzędzie do monitorowania ruchu sieciowego
 Name:		vnstat
-Version:	1.11
+Version:	1.12
 Release:	1
 License:	GPL v2
 Group:		Daemons
 Source0:	http://humdi.net/vnstat/%{name}-%{version}.tar.gz
-# Source0-md5:	a5a113f9176cd61fb954f2ba297f5fdb
+# Source0-md5:	a154b2196771e06a8accd1c24374009c
 Source1:	%{name}.sysconfig
 Source2:	%{name}.cron
 Source3:	%{name}-cron
 Source4:	%{name}-report
+Source5:	%{name}.service
+Source6:	%{name}.tmpfiles
 URL:		http://humdi.net/vnstat/
-BuildRequires:	rpmbuild(macros) >= 1.202
+BuildRequires:	rpmbuild(macros) >= 1.671
 Requires(pre):	/bin/id
 Requires(pre):	/usr/bin/getgid
 Requires(pre):	/usr/sbin/groupadd
 Requires(pre):	/usr/sbin/useradd
+Requires(post,preun,postun):	systemd-units >= 38
 Requires:	crondaemon
 Requires:	smtpdaemon
+Requires:	systemd-units >= 38
 Provides:	group(vnstat)
 Provides:	user(vnstat)
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -38,9 +44,6 @@ analizowany na podstawie informacji z systemu plików /proc.
 %prep
 %setup -q
 
-# disable maximum bandwidth setting
-%{__sed} -i -e "s,MaxBandwidth 100,MaxBandwidth 0,g" cfg/vnstat.conf
-
 %build
 %{__make} \
 	CC="%{__cc}" \
@@ -48,15 +51,22 @@ analizowany na podstawie informacji z systemu plików /proc.
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man1}
-install -d $RPM_BUILD_ROOT{%{_localstatedir}/lib/%{name},%{_sysconfdir}/{cron.d,sysconfig}}
-install -p man/vnstat.1 $RPM_BUILD_ROOT%{_mandir}/man1
-install -p src/vnstat $RPM_BUILD_ROOT%{_bindir}
-install -p cfg/vnstat.conf $RPM_BUILD_ROOT%{_sysconfdir}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
-install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
-install %{SOURCE3} $RPM_BUILD_ROOT%{_sbindir}
-install %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}
+
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+install -d $RPM_BUILD_ROOT%{_localstatedir}/{lib,log}/%{name} \
+	$RPM_BUILD_ROOT%{_sysconfdir}/{cron.d,sysconfig} \
+	$RPM_BUILD_ROOT{%{systemdtmpfilesdir},%{systemdunitdir}} \
+	$RPM_BUILD_ROOT/var/run/%{name}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sbindir}
+cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}
+cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/vnstat.service
+cp -p %{SOURCE6} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/vnstat.conf
+
+touch $RPM_BUILD_ROOT/var/log/%{name}/%{name}.log
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -65,20 +75,38 @@ rm -rf $RPM_BUILD_ROOT
 %groupadd -g 195 vnstat
 %useradd -u 195 -g 195 vnstat
 
+%post
+%systemd_post vnstat.service
+
+%preun
+%systemd_preun vnstat.service
+
 %postun
 if [ "$1" = 0 ]; then
 	%userremove vnstat
 	%groupremove vnstat
 fi
+%systemd_reload
+
+%triggerpostun -- vnstat < 1.12-1
+%systemd_service_enable vnstat.service
 
 %files
 %defattr(644,root,root,755)
 %doc CHANGES COPYING FAQ README INSTALL
-%config(noreplace) %{_sysconfdir}/%{name}.conf
-%config(noreplace) /etc/cron.d/%{name}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf
+%config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%{_mandir}/man1/*
 %attr(755,root,root) %{_bindir}/%{name}
 %attr(755,root,root) %{_bindir}/%{name}-report
 %attr(755,root,root) %{_sbindir}/%{name}-cron
+%attr(755,root,root) %{_sbindir}/vnstatd
 %attr(750,vnstat,vnstat)%{_localstatedir}/lib/%{name}
+%{systemdunitdir}/%{name}.service
+%{systemdtmpfilesdir}/%{name}.conf
+%attr(750,vnstat,vnstat) %dir /var/run/%{name}
+%attr(750,vnstat,vnstat) %dir /var/log/%{name}
+%attr(640,vnstat,vnstat) %ghost /var/log/%{name}/%{name}.log
+%{_mandir}/man1/vnstat.1*
+%{_mandir}/man1/vnstatd.1*
+%{_mandir}/man5/vnstat.conf.5*
diff --git a/vnstat.cron b/vnstat.cron
index e4b538d..1085b74 100644
--- a/vnstat.cron
+++ b/vnstat.cron
@@ -1,5 +1,5 @@
 MAILTO=root
-# collect data every 5 minutes
-*/5 * * * *  vnstat /usr/sbin/vnstat-cron
+# uncomment below line to collect data every 5 minutes via cron daemon
+#*/5 * * * *  vnstat /usr/sbin/vnstat-cron
 # daily reports
 5 0 * * * vnstat /usr/bin/vnstat-report
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/vnstat.git/commitdiff/0776a662a5feb33d5c80872a91b447bd8349370d



More information about the pld-cvs-commit mailing list