diff --git a/.gitignore b/.gitignore index 8504eb2..428ac4e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,16 @@ vnstat-1.11.tar.gz +/vnstat-1.14.tar.gz +/vnstat-1.15.tar.gz +/vnstat-1.16.tar.gz +/vnstat-1.17.tar.gz +/vnstat-1.18.tar.gz +/vnstat-2.2.tar.gz +/vnstat-2.3.tar.gz +/vnstat-2.4.tar.gz +/vnstat-2.5.tar.gz +/vnstat-2.6.tar.gz +/vnstat-2.7.tar.gz +/vnstat-2.8.tar.gz +/vnstat-2.9.tar.gz +/vnstat-2.10.tar.gz +/vnstat-2.13.tar.gz diff --git a/sources b/sources index f615528..07bd2b4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a5a113f9176cd61fb954f2ba297f5fdb vnstat-1.11.tar.gz +SHA512 (vnstat-2.13.tar.gz) = 9b5d7b5085ab2ae39fd6b0d59afe56eb927b6e4ca1ca30ee7710afe2a412c4a1a8d756e095e9c3c81d182e3d6bb2efcd9a2a266e0048cac249477a09c1368969 diff --git a/vnstat-1.11-there-are-only-12-months.patch b/vnstat-1.11-there-are-only-12-months.patch deleted file mode 100644 index 41806c0..0000000 --- a/vnstat-1.11-there-are-only-12-months.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- vnstat-1.11/src/vnstat.c.old 2011-06-01 00:29:51.000000000 +0200 -+++ vnstat-1.11/src/vnstat.c 2013-08-07 14:42:58.396231450 +0200 -@@ -485,7 +485,7 @@ - readdb(interface, dirname); - - data.totalrx=data.totaltx=data.totalrxk=data.totaltxk=0; -- for (i=0; i<=29; i++) { -+ for (i=0; i<=12; i++) { - if (data.month[i].used) { - addtraffic(&data.totalrx, &data.totalrxk, data.month[i].rx, data.month[i].rxk); - addtraffic(&data.totaltx, &data.totaltxk, data.month[i].tx, data.month[i].txk); diff --git a/vnstat-run-vnstat.diff b/vnstat-run-vnstat.diff deleted file mode 100644 index b3d464d..0000000 --- a/vnstat-run-vnstat.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- a/src/vnstatd.c 2011-06-01 00:29:51.000000000 +0200 -+++ b/src/vnstatd.c 2011-12-22 22:23:22.512967108 +0100 -@@ -482,10 +482,18 @@ - /* lock / pid file */ - pidfile = open(cfg.pidfile, O_RDWR|O_CREAT, 0644); - if (pidfile<0) { -- perror("pidfile"); -- snprintf(errorstring, 512, "pidfile failed, exiting."); -- printe(PT_Error); -- exit(EXIT_FAILURE); /* can't open */ -+ /* for Fedora's move to systemd and /run check -+ * for /run/vnstat/vnstat.pid, so that it needs no changes -+ * to the config file */ -+ pidfile = open("/run/vnstat/vnstat.pid", O_RDWR|O_CREAT, 0644); -+ if (pidfile<0) { -+ perror("pidfile"); -+ snprintf(errorstring, 512, "pidfile failed, exiting."); -+ printe(PT_Error); -+ exit(EXIT_FAILURE); /* can't open */ -+ } else { -+ strncpy(cfg.pidfile, "/run/vnstat/vnstat.pid", 512); -+ } - } - if (lockf(pidfile,F_TLOCK,0)<0) { - perror("pidfile lock"); diff --git a/vnstat.service b/vnstat.service deleted file mode 100644 index 3efda38..0000000 --- a/vnstat.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=VnStat - Lightweight Network Traffic Monitor -After=network.target - -[Service] -User=vnstat -ExecStart=/usr/sbin/vnstatd -d - -[Install] -WantedBy=multi-user.target diff --git a/vnstat.service.patch b/vnstat.service.patch new file mode 100644 index 0000000..257adaa --- /dev/null +++ b/vnstat.service.patch @@ -0,0 +1,10 @@ +--- a/examples/systemd/vnstat.service 2015-12-01 08:05:12.053856367 +0100 ++++ b/examples/systemd/vnstat.service 2015-12-01 08:05:07.967936194 +0100 +@@ -4,6 +4,7 @@ + StartLimitBurst=4 + + [Service] ++User=vnstat + ExecStart=/usr/sbin/vnstatd --nodaemon + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure diff --git a/vnstat.spec b/vnstat.spec index c857ea9..e93645c 100644 --- a/vnstat.spec +++ b/vnstat.spec @@ -1,102 +1,77 @@ Summary: Console-based network traffic monitor Name: vnstat -Version: 1.11 -Release: 23%{?dist} +Version: 2.13 +Release: 3%{?dist} -License: GPLv2 -Group: System Environment/Daemons +# Automatically converted from old format: GPLv2 - review is highly recommended. +License: GPL-2.0-only URL: http://humdi.net/vnstat/ Source0: http://humdi.net/vnstat/vnstat-%{version}.tar.gz -Source1: vnstat.service -Requires(pre): shadow-utils -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units +Patch0: vnstat.service.patch +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +BuildRequires: make +BuildRequires: gcc BuildRequires: gd-devel BuildRequires: systemd -Patch0: vnstat-run-vnstat.diff -Patch1: vnstat-1.11-there-are-only-12-months.patch +BuildRequires: sqlite-devel %description vnStat is a console-based network traffic monitor that keeps a log of daily network traffic for the selected interface(s). vnStat isn't a packet sniffer. -The traffic information is analyzed from the /proc-filesystem, so vnStat can -be used without root permissions. See the webpage for few 'screenshots'. +The traffic information is analyzed from the /proc file-system, so vnStat can +be used without root permissions. See the web-page for few 'screenshots'. + +%package vnstati +Summary: Image output support for vnstat +Recommends: %{name} = %{version}-%{release} + +%description vnstati +The purpose of vnstati is to provide image output support for statistics +collected using vnstat. The image file format is limited to png. All basic +outputs of vnStat are supported excluding live traffic features. The image can +be outputted either to a file or to standard output. %prep %setup -q -%patch0 -p1 -%patch1 -p1 +%patch -P0 -p1 # disable maximum bandwidth setting and change pidfile location sed -i -e "s,/var/run/,/run/vnstat/,g; \ s,MaxBandwidth 100,MaxBandwidth 0,g;" \ cfg/vnstat.conf -# Use -p everywhere, -s nowhere -%{__sed} -i -e "s,install \(-s \)\?,install -p ," Makefile +# Create a sysusers.d config file +cat >vnstat.sysusers.conf <> $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name} << END -MAILTO=root -# to enable interface monitoring via vnstat remove comment on next line -# */5 * * * * vnstat %{_sbindir}/%{name}.cron -END - -%{__cat} >> $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name} << END -# see also: vnstat(1) -# -# starting with vnstat-1.6 vnstat can also be -# configured via %{_sysconfdir}/vnstat.conf -# -# the following sets vnstat up to monitor eth0 -VNSTAT_OPTIONS="-u -i eth0" -END - -%{__cat} >> $RPM_BUILD_ROOT%{_sbindir}/%{name}.cron << END -#!/bin/bash -# this script (%{_sbindir}/%{name}.cron) reads %{_sysconfdir}/sysconfig/%{name} -# to start %{_bindir}/%{name}. -# example for %{_sysconfdir}/sysconfig/%{name}: -# VNSTAT_OPTIONS="-u -i eth0" -# see also: vnstat(1) - -VNSTAT_CONF=%{_sysconfdir}/sysconfig/%{name} - -if [ ! -f \$VNSTAT_CONF ]; then - exit 0 -fi - -. \$VNSTAT_CONF - -%{_bindir}/%{name} \$VNSTAT_OPTIONS -END - -%{__cat} >> $RPM_BUILD_ROOT/%{_sysconfdir}/tmpfiles.d/vnstat.conf << END +%{__cat} >> $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf << END D /run/vnstat 0700 vnstat vnstat END -%pre -getent group %{name} > /dev/null || %{_sbindir}/groupadd -r %{name} -getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -M \ - -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "vnStat user" %{name} +install -m0644 -D vnstat.sysusers.conf %{buildroot}%{_sysusersdir}/vnstat.conf + %post %systemd_post vnstat.service @@ -107,35 +82,158 @@ getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -M \ %postun %systemd_postun_with_restart vnstat.service -%triggerun -- vnstat < 1.11-8 -# Save the current service runlevel info -# User must manually run systemd-sysv-convert --apply httpd -# to migrate them to systemd targets -/usr/bin/systemd-sysv-convert --save vnstat >/dev/null 2>&1 ||: - -# Run these because the SysV package being removed won't do them -/sbin/chkconfig --del vnstat >/dev/null 2>&1 || : -/bin/systemctl try-restart vnstat.service >/dev/null 2>&1 || : - - %files -%defattr(-,root,root,-) -%doc CHANGES COPYING FAQ README INSTALL examples +%license COPYING +%doc CHANGES FAQ README INSTALL examples %config(noreplace) %{_sysconfdir}/%{name}.conf -%config(noreplace) %{_sysconfdir}/cron.d/%{name} %{_unitdir}/%{name}.service -%config(noreplace) %{_sysconfdir}/sysconfig/%{name} -%{_sysconfdir}/tmpfiles.d/vnstat.conf -%{_mandir}/man*/* +%{_tmpfilesdir}/%{name}.conf +%{_mandir}/man1/vnstat.1* +%{_mandir}/man5/vnstat.conf.5* +%{_mandir}/man8/vnstatd.8* %{_bindir}/vnstat -%{_bindir}/vnstati %{_sbindir}/vnstatd %attr(-,vnstat,vnstat)%dir /run/%{name}/ -%attr(755,root,root)%{_sbindir}/%{name}.cron %attr(-,vnstat,vnstat)%{_localstatedir}/lib/%{name} +%{_sysusersdir}/vnstat.conf +%files vnstati +%license COPYING +%{_mandir}/man1/vnstati.1* +%{_bindir}/vnstati %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 2.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 2.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Dec 10 2025 Adrian Reber - 2.13-1 +- Upgrade to 2.13 (#2232896) + +* Fri Jul 25 2025 Fedora Release Engineering - 2.10-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2.10-8 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Sun Jan 19 2025 Fedora Release Engineering - 2.10-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Jul 29 2024 Miroslav Suchý - 2.10-6 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 2.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 2.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 2.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 2.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Dec 09 2022 Adrian Reber - 2.10-1 +- Upgrade to 2.10 (#2137399) + +* Sat Jul 23 2022 Fedora Release Engineering - 2.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed May 18 2022 Adrian Reber - 2.9-2 +- Upgrade to 2.9 (#2044224) + +* Sat Jan 22 2022 Fedora Release Engineering - 2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 14 2021 Adrian Reber - 2.8-1 +- Upgrade to 2.8 (#1961015) +- Create sub-package for vnstati and its libgd dependency (#1993650) + +* Mon Aug 30 2021 Adrian Reber - 2.7-1 +- Upgrade to 2.7 (#1961015) + +* Fri Jul 23 2021 Fedora Release Engineering - 2.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.6-5 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Wed Jan 27 2021 Fedora Release Engineering - 2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 21 2020 Adrian Reber - 2.6-1 +- Upgrade to 2.6 (#1791158) + +* Wed Jan 15 2020 Adrian Reber - 2.5-1 +- Upgrade to 2.5 (#1791158) + +* Wed Nov 06 2019 Adrian Reber - 2.4-1 +- Upgrade to 2.4 + +* Sat Jul 27 2019 Fedora Release Engineering - 2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jun 12 2019 Adrian Reber -2.3-1 +- Upgrade to 2.3 + +* Sun Apr 28 2019 Adrian Reber -2.2-1 +- Upgrade to 2.2 (#1703811) + +* Sun Feb 03 2019 Fedora Release Engineering - 1.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Adrian Reber - 1.18-1 +- Upgrade to 1.18 (#1551364) + +* Sat Jul 14 2018 Fedora Release Engineering - 1.17-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 1.17-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 17 2017 Adrian Reber - 1.17-1 +- Upgrade to 1.17 (#1423060) + +* Sat Feb 11 2017 Fedora Release Engineering - 1.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Jan 04 2017 Adrian Reber - 1.16-1 +- Upgrade to 1.16 (#1408565) + +* Fri Feb 05 2016 Fedora Release Engineering - 1.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 13 2016 Adrian Reber - 1.15-1 +- Upgrade to 1.15 (#1296771) + +* Tue Dec 01 2015 Adrian Reber - 1.14-3 +- Fixed "Service fails to start because it's run as root" (#1278027) + +* Tue Aug 11 2015 Adrian Reber - 1.14-2 +- Use %%license for COPYING + +* Tue Aug 11 2015 Adrian Reber - 1.14-1 +- Upgrade to 1.14 +- Remove cron based setup (removed functionality) +- Remove systemd unit file (now included) +- Remove unnecessary patches + * Fri Jun 19 2015 Fedora Release Engineering - 1.11-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild @@ -271,7 +369,7 @@ getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -M \ * Mon Feb 28 2005 Adrian Reber 1.4-3 - removed occurences of VNSTAT_DISABLED in %%{_sysconfdir}/sysconfig/%%{name} and - %%{_sbindir}/%{name}.cron + %%{_sbindir}/%%{name}.cron * Thu Feb 24 2005 Adrian Reber 1.4-2 - removed "#--------------"