[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