Compare commits

..

No commits in common. "rawhide" and "f23" have entirely different histories.

7 changed files with 130 additions and 207 deletions

15
.gitignore vendored
View file

@ -1,16 +1 @@
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

View file

@ -1 +1 @@
SHA512 (vnstat-2.13.tar.gz) = 9b5d7b5085ab2ae39fd6b0d59afe56eb927b6e4ca1ca30ee7710afe2a412c4a1a8d756e095e9c3c81d182e3d6bb2efcd9a2a266e0048cac249477a09c1368969
a5a113f9176cd61fb954f2ba297f5fdb vnstat-1.11.tar.gz

View file

@ -0,0 +1,11 @@
--- 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);

25
vnstat-run-vnstat.diff Normal file
View file

@ -0,0 +1,25 @@
--- 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");

10
vnstat.service Normal file
View file

@ -0,0 +1,10 @@
[Unit]
Description=VnStat - Lightweight Network Traffic Monitor
After=network.target
[Service]
User=vnstat
ExecStart=/usr/sbin/vnstatd -d
[Install]
WantedBy=multi-user.target

View file

@ -1,10 +0,0 @@
--- 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

View file

@ -1,77 +1,102 @@
Summary: Console-based network traffic monitor
Name: vnstat
Version: 2.13
Release: 3%{?dist}
Version: 1.11
Release: 23%{?dist}
# Automatically converted from old format: GPLv2 - review is highly recommended.
License: GPL-2.0-only
License: GPLv2
Group: System Environment/Daemons
URL: http://humdi.net/vnstat/
Source0: http://humdi.net/vnstat/vnstat-%{version}.tar.gz
Patch0: vnstat.service.patch
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
BuildRequires: make
BuildRequires: gcc
Source1: vnstat.service
Requires(pre): shadow-utils
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
BuildRequires: gd-devel
BuildRequires: systemd
BuildRequires: sqlite-devel
Patch0: vnstat-run-vnstat.diff
Patch1: vnstat-1.11-there-are-only-12-months.patch
%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 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.
The traffic information is analyzed from the /proc-filesystem, so vnStat can
be used without root permissions. See the webpage for few 'screenshots'.
%prep
%setup -q
%patch -P0 -p1
%patch0 -p1
%patch1 -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
# Create a sysusers.d config file
cat >vnstat.sysusers.conf <<EOF
u vnstat - 'vnStat user' %{_localstatedir}/lib/%{name} -
EOF
# Use -p everywhere, -s nowhere
%{__sed} -i -e "s,install \(-s \)\?,install -p ," Makefile
%build
%{configure}
%{__make} %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" all
%install
%{__mkdir_p} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}
%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d
%{__mkdir_p} $RPM_BUILD_ROOT%{_unitdir}
%{__mkdir_p} $RPM_BUILD_ROOT%{_tmpfilesdir}
%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
%{__mkdir_p} %{buildroot}/run/
%{__install} -d -m 0700 %{buildroot}/run/%{name}/
%{__make} install DESTDIR=$RPM_BUILD_ROOT
%{__install} -p -m 644 examples/systemd/vnstat.service $RPM_BUILD_ROOT%{_unitdir}/
%{__install} -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/
%{__rm} -rf examples/init.d
%{__rm} -rf examples/systemd
%{__rm} -rf examples/launchd
%{__rm} -rf examples/upstart
%{__chmod} 644 examples/vnstat.cgi
%{__chmod} 644 examples/vnstat.cron
%{__cat} >> $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf << END
%{__cat} >> $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
D /run/vnstat 0700 vnstat vnstat
END
install -m0644 -D vnstat.sysusers.conf %{buildroot}%{_sysusersdir}/vnstat.conf
%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}
%post
%systemd_post vnstat.service
@ -82,158 +107,35 @@ install -m0644 -D vnstat.sysusers.conf %{buildroot}%{_sysusersdir}/vnstat.conf
%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
%license COPYING
%doc CHANGES FAQ README INSTALL examples
%defattr(-,root,root,-)
%doc CHANGES COPYING FAQ README INSTALL examples
%config(noreplace) %{_sysconfdir}/%{name}.conf
%config(noreplace) %{_sysconfdir}/cron.d/%{name}
%{_unitdir}/%{name}.service
%{_tmpfilesdir}/%{name}.conf
%{_mandir}/man1/vnstat.1*
%{_mandir}/man5/vnstat.conf.5*
%{_mandir}/man8/vnstatd.8*
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%{_sysconfdir}/tmpfiles.d/vnstat.conf
%{_mandir}/man*/*
%{_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 <releng@fedoraproject.org> - 2.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Dec 10 2025 Adrian Reber <adrian@lisas.de> - 2.13-1
- Upgrade to 2.13 (#2232896)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.10-8
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 2.10-6
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Dec 09 2022 Adrian Reber <adrian@lisas.de> - 2.10-1
- Upgrade to 2.10 (#2137399)
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed May 18 2022 Adrian Reber <adrian@lisas.de> - 2.9-2
- Upgrade to 2.9 (#2044224)
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Dec 14 2021 Adrian Reber <adrian@lisas.de> - 2.8-1
- Upgrade to 2.8 (#1961015)
- Create sub-package for vnstati and its libgd dependency (#1993650)
* Mon Aug 30 2021 Adrian Reber <adrian@lisas.de> - 2.7-1
- Upgrade to 2.7 (#1961015)
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6-5
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 21 2020 Adrian Reber <adrian@lisas.de> - 2.6-1
- Upgrade to 2.6 (#1791158)
* Wed Jan 15 2020 Adrian Reber <adrian@lisas.de> - 2.5-1
- Upgrade to 2.5 (#1791158)
* Wed Nov 06 2019 Adrian Reber <adrian@lisas.de> - 2.4-1
- Upgrade to 2.4
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Jun 12 2019 Adrian Reber <adrian@lisas.de> -2.3-1
- Upgrade to 2.3
* Sun Apr 28 2019 Adrian Reber <adrian@lisas.de> -2.2-1
- Upgrade to 2.2 (#1703811)
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Adrian Reber <adrian@lisas.de> - 1.18-1
- Upgrade to 1.18 (#1551364)
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 17 2017 Adrian Reber <adrian@lisas.de> - 1.17-1
- Upgrade to 1.17 (#1423060)
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.16-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Jan 04 2017 Adrian Reber <adrian@lisas.de> - 1.16-1
- Upgrade to 1.16 (#1408565)
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.15-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jan 13 2016 Adrian Reber <adrian@lisas.de> - 1.15-1
- Upgrade to 1.15 (#1296771)
* Tue Dec 01 2015 Adrian Reber <adrian@lisas.de> - 1.14-3
- Fixed "Service fails to start because it's run as root" (#1278027)
* Tue Aug 11 2015 Adrian Reber <adrian@lisas.de> - 1.14-2
- Use %%license for COPYING
* Tue Aug 11 2015 Adrian Reber <adrian@lisas.de> - 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 <rel-eng@lists.fedoraproject.org> - 1.11-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
@ -369,7 +271,7 @@ install -m0644 -D vnstat.sysusers.conf %{buildroot}%{_sysusersdir}/vnstat.conf
* Mon Feb 28 2005 Adrian Reber <adrian@lisas.de> 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 <adrian@lisas.de> 1.4-2
- removed "#--------------"