From 1c7519486aefc9eef68ac2bb166a724f4eaa759e Mon Sep 17 00:00:00 2001 From: Jozef Mlich Date: Wed, 6 Mar 2019 16:31:31 +0000 Subject: [PATCH 01/62] Update munin.spec Without perl-Net-CIDR doesn't work cidr_allow settings in /etc/munin/munin-node.conf The log /var/log/munin-node/munin-node.log contains following message: Can't locate Net/CIDR.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/share/perl5/vendor_perl/Net/Server.pm line 601. --- munin.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/munin.spec b/munin.spec index a5ab937..5ff2843 100644 --- a/munin.spec +++ b/munin.spec @@ -119,6 +119,7 @@ Requires: hdparm Requires: bc Requires: /usr/bin/which Requires: conntrack-tools +Requires: perl(Net::CIDR) Requires: perl(Net::Server) Requires: perl(IO::Socket::INET6) Requires: perl(Net::SSLeay) From 8a803e545e8b1c3475a0940baba458dde5972dc7 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 18 Mar 2019 18:09:22 +0200 Subject: [PATCH 02/62] spec: drop java subpackage --- munin.spec | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/munin.spec b/munin.spec index 5ff2843..b21fdef 100644 --- a/munin.spec +++ b/munin.spec @@ -63,8 +63,6 @@ BuildRequires: perl-Carp BuildRequires: systemd BuildRequires: firewalld-filesystem %endif -BuildRequires: java-devel -BuildRequires: jpackage-utils # Munin server requires Requires: %{name}-common = %{version} @@ -139,6 +137,10 @@ Provides: munin-async = %{version}-%{release} Obsoletes: munin-async < 2.0.39-4 Provides: munin-netip-plugins = %{version}-%{release} Obsoletes: munin-netip-plugins < 2.0.39-4 +Provides: munin-java-plugins = %{version}-%{release} +Obsoletes: munin-java-plugins < 2.0.39-2 +Provides: munin-plugins-java = %{version}-%{release} +Obsoletes: munin-plugins-java < 2.0.45-2 %description node @@ -180,18 +182,6 @@ This package contains common files that are used by both the server (munin) and node (munin-node) packages. -%package plugins-java -Summary: Java plugins for Munin resource monitoring -Requires: %{name}-node = %{version} -BuildArch: noarch -Provides: munin-java-plugins = %{version}-%{release} -Obsoletes: munin-java-plugins < 2.0.39-2 - - -%description plugins-java -Additional Java plugins for munin-node. - - %package plugins-ruby Summary: Ruby plugins for Munin resource monitoring Requires: %{name}-node = %{version} @@ -269,13 +259,12 @@ sed -i -e ' s,^DBDIR = \(.*\),DBDIR = $(DESTDIR)%{_sharedstatedir}/munin,; s,^DBDIRNODE = \(.*\),DBDIRNODE = $(DESTDIR)%{_sharedstatedir}/munin,; s,^LOGDIR = \(.*\),LOGDIR = $(DESTDIR)%{_localstatedir}/log/munin,; -%if 0%{?fedora} >= 24 +%if 0%{rhel} >= 8 || 0%{?fedora} >= 24 s,^PYTHON := \(.*\),PYTHON := /usr/bin/python3,; %else s,^PYTHON := \(.*\),PYTHON := /usr/bin/python2,; %endif s,^RUBY := \(.*\),RUBY := /usr/bin/ruby,; - s,^JAVALIBDIR = \(.*\),JAVALIBDIR = $(DESTDIR)%{_javadir},; s,^PERLLIB = \(.*\),PERLLIB = $(DESTDIR)%{perl_vendorlib},; s,^HOSTNAME := \(.*\),HOSTNAME := localhost.localdomain,; s,^PLUGINUSER := \(.*\),PLUGINUSER := munin,; @@ -285,6 +274,7 @@ sed -i -e ' s,^CHOWN := \(.*\),CHOWN := echo Not done: chown,; s,^CHMOD := \(.*\),CHMOD := echo Not done: chmod,; s,^CHGRP := \(.*\),CHGRP := echo Not done: chgrp,; + s,^JC := \(.*\),JC := /bin/false,; ' Makefile.config %patch101 -p1 @@ -296,12 +286,10 @@ cp %SOURCE18 . %build -export CLASSPATH=plugins/javalib/org/munin/plugin/jmx:$CLASSPATH make CONFIG=Makefile.config %install -export CLASSPATH=plugins/javalib/org/munin/plugin/jmx:$CLASSPATH make CONFIG=Makefile.config \ DESTDIR=%{buildroot} \ install @@ -705,7 +693,6 @@ fi %dir %{_datadir}/munin %{_datadir}/munin/munin-async %{_datadir}/munin/plugins/ -%exclude %{_datadir}/munin/plugins/jmx_ %exclude %{_datadir}/munin/plugins/tomcat_ %exclude %{_datadir}/munin/plugins/munin_stats %{perl_vendorlib}/Munin/Node @@ -738,11 +725,6 @@ fi %endif -%files plugins-java -%{_javadir}/munin-jmx-plugins.jar -%{_datadir}/munin/plugins/jmx_ - - %files plugins-ruby %{_datadir}/munin/plugins/tomcat_ From b62dde9de6414d162def978f87e147f08c08cf82 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 18 Mar 2019 18:11:47 +0200 Subject: [PATCH 03/62] spec: bump version --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index b21fdef..9710bb4 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.45 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -756,6 +756,9 @@ fi %changelog +* Mon Mar 18 2019 Kim B. Heino - 2.0.45-2 +- Drop munin-plugins-java subpackage + * Fri Feb 8 2019 Kim B. Heino - 2.0.45-1 - Upgrade to 2.0.45 From 88afd8c30ec7a4d365e5309292474984cf749280 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 18 Mar 2019 18:15:01 +0200 Subject: [PATCH 04/62] spec: fix "if %rhel" --- munin.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 9710bb4..1e58ef4 100644 --- a/munin.spec +++ b/munin.spec @@ -259,7 +259,7 @@ sed -i -e ' s,^DBDIR = \(.*\),DBDIR = $(DESTDIR)%{_sharedstatedir}/munin,; s,^DBDIRNODE = \(.*\),DBDIRNODE = $(DESTDIR)%{_sharedstatedir}/munin,; s,^LOGDIR = \(.*\),LOGDIR = $(DESTDIR)%{_localstatedir}/log/munin,; -%if 0%{rhel} >= 8 || 0%{?fedora} >= 24 +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 24 s,^PYTHON := \(.*\),PYTHON := /usr/bin/python3,; %else s,^PYTHON := \(.*\),PYTHON := /usr/bin/python2,; From 296b5ff581a59eb78cc52599a191abab8ae09305 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Thu, 16 May 2019 08:10:32 +0300 Subject: [PATCH 05/62] Upgrade to 2.0.49 --- munin.spec | 8 +++++--- sources | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/munin.spec b/munin.spec index 1e58ef4..696db45 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin -Version: 2.0.45 -Release: 2%{?dist} +Version: 2.0.49 +Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -688,7 +688,6 @@ fi %{_sbindir}/munin-node %{_sbindir}/munin-node-configure %{_sbindir}/munin-run -%{_sbindir}/munin-sched %{_sbindir}/munin-asyncd %dir %{_datadir}/munin %{_datadir}/munin/munin-async @@ -756,6 +755,9 @@ fi %changelog +* Thu May 16 2019 Kim B. Heino - 2.0.49-1 +- Upgrade to 2.0.49 + * Mon Mar 18 2019 Kim B. Heino - 2.0.45-2 - Drop munin-plugins-java subpackage diff --git a/sources b/sources index 1fb6653..8da620c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (munin-2.0.45.tar.gz) = 0aee394a7b256b8008be12e743781b5be8e9dea81fdf6cb1a229403b8ec33d2c6c3a7ea3f30b46fe160da4ba433e870c78efbf58b871ebb067c4ee3e46e7c41a +SHA512 (munin-2.0.49.tar.gz) = 20f1f27aa1ff39ed92c967a13581ae199930323f5d2b62b62ce0a548a4cf561595e85d069e836b156c05d4a94c66328009aba56cb1b06c4b2719fbd9e1061ca4 From bb516325ccc15ff2fac344fb504e6b802c3394ec Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Fri, 31 May 2019 16:24:36 +0200 Subject: [PATCH 06/62] Perl 5.30 rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 696db45..79d9c82 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.49 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -755,6 +755,9 @@ fi %changelog +* Fri May 31 2019 Jitka Plesnikova - 2.0.49-2 +- Perl 5.30 rebuild + * Thu May 16 2019 Kim B. Heino - 2.0.49-1 - Upgrade to 2.0.49 From b44176df1ddb3151d811d0fb4a175b9899e98165 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Sat, 13 Jul 2019 10:52:50 +0300 Subject: [PATCH 07/62] rhbz#1721384: Mark .htaccess as ghost, include it to example config files Re-add munin-plugins-java subpackage for rhel6 and rhel7 --- httpd_cgi_graphs.conf | 21 ++++++++++++++++++++ httpd_cron_graphs.conf | 21 ++++++++++++++++++++ munin.spec | 44 +++++++++++++++++++++++++++++++++++++++++- 3 files changed, 85 insertions(+), 1 deletion(-) diff --git a/httpd_cgi_graphs.conf b/httpd_cgi_graphs.conf index bef5228..7a3787e 100644 --- a/httpd_cgi_graphs.conf +++ b/httpd_cgi_graphs.conf @@ -38,3 +38,24 @@ + + +# Uncomment following lines to require authentication: + +# +# AuthUserFile /etc/munin/munin-htpasswd +# AuthName "Munin" +# AuthType Basic +# Require valid-user +# # This next part requires mod_expires to be enabled. +# # +# # We could use around here, but I want it to be +# # as evident as possible that you either have to load mod_expires _or_ +# # you coment out/remove these lines. +# # +# # Set the default expiery time for files 5 minutes 10 seconds from +# # their creation (modification) time. There are probably new files by +# # that time. +# ExpiresActive On +# ExpiresDefault M310 +# diff --git a/httpd_cron_graphs.conf b/httpd_cron_graphs.conf index 15e1ac2..ed34bf8 100644 --- a/httpd_cron_graphs.conf +++ b/httpd_cron_graphs.conf @@ -26,3 +26,24 @@ + + +# Uncomment following lines to require authentication: + +# +# AuthUserFile /etc/munin/munin-htpasswd +# AuthName "Munin" +# AuthType Basic +# Require valid-user +# # This next part requires mod_expires to be enabled. +# # +# # We could use around here, but I want it to be +# # as evident as possible that you either have to load mod_expires _or_ +# # you coment out/remove these lines. +# # +# # Set the default expiery time for files 5 minutes 10 seconds from +# # their creation (modification) time. There are probably new files by +# # that time. +# ExpiresActive On +# ExpiresDefault M310 +# diff --git a/munin.spec b/munin.spec index 79d9c82..a5211ef 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.49 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -63,6 +63,10 @@ BuildRequires: perl-Carp BuildRequires: systemd BuildRequires: firewalld-filesystem %endif +%if 0%{?rhel} <= 7 +BuildRequires: java-devel +BuildRequires: jpackage-utils +%endif # Munin server requires Requires: %{name}-common = %{version} @@ -137,10 +141,12 @@ Provides: munin-async = %{version}-%{release} Obsoletes: munin-async < 2.0.39-4 Provides: munin-netip-plugins = %{version}-%{release} Obsoletes: munin-netip-plugins < 2.0.39-4 +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 28 Provides: munin-java-plugins = %{version}-%{release} Obsoletes: munin-java-plugins < 2.0.39-2 Provides: munin-plugins-java = %{version}-%{release} Obsoletes: munin-plugins-java < 2.0.45-2 +%endif %description node @@ -182,6 +188,20 @@ This package contains common files that are used by both the server (munin) and node (munin-node) packages. +%if 0%{?rhel} <= 7 +%package plugins-java +Summary: Java plugins for Munin resource monitoring +Requires: %{name}-node = %{version} +BuildArch: noarch +Provides: munin-java-plugins = %{version}-%{release} +Obsoletes: munin-java-plugins < 2.0.39-2 + + +%description plugins-java +Additional Java plugins for munin-node. +%endif + + %package plugins-ruby Summary: Ruby plugins for Munin resource monitoring Requires: %{name}-node = %{version} @@ -265,6 +285,9 @@ sed -i -e ' s,^PYTHON := \(.*\),PYTHON := /usr/bin/python2,; %endif s,^RUBY := \(.*\),RUBY := /usr/bin/ruby,; +%if 0%{?rhel} <= 7 + s,^JAVALIBDIR = \(.*\),JAVALIBDIR = $(DESTDIR)%{_javadir},; +%endif s,^PERLLIB = \(.*\),PERLLIB = $(DESTDIR)%{perl_vendorlib},; s,^HOSTNAME := \(.*\),HOSTNAME := localhost.localdomain,; s,^PLUGINUSER := \(.*\),PLUGINUSER := munin,; @@ -286,10 +309,16 @@ cp %SOURCE18 . %build +%if 0%{?rhel} <= 7 +export CLASSPATH=plugins/javalib/org/munin/plugin/jmx:$CLASSPATH +%endif make CONFIG=Makefile.config %install +%if 0%{?rhel} <= 7 +export CLASSPATH=plugins/javalib/org/munin/plugin/jmx:$CLASSPATH +%endif make CONFIG=Makefile.config \ DESTDIR=%{buildroot} \ install @@ -663,6 +692,7 @@ fi %config(noreplace) %ghost %{_sysconfdir}/munin/munin-htpasswd %config(noreplace) %ghost %{_sysconfdir}/httpd/conf.d/munin.conf %config(noreplace) %ghost %{_sysconfdir}/httpd/conf.d/munin-cgi.conf +%config(noreplace) %ghost %{_localstatedir}/www/html/munin/.htaccess %files node @@ -692,6 +722,7 @@ fi %dir %{_datadir}/munin %{_datadir}/munin/munin-async %{_datadir}/munin/plugins/ +%exclude %{_datadir}/munin/plugins/jmx_ %exclude %{_datadir}/munin/plugins/tomcat_ %exclude %{_datadir}/munin/plugins/munin_stats %{perl_vendorlib}/Munin/Node @@ -724,6 +755,13 @@ fi %endif +%if 0%{?rhel} <= 7 +%files plugins-java +%{_javadir}/munin-jmx-plugins.jar +%{_datadir}/munin/plugins/jmx_ +%endif + + %files plugins-ruby %{_datadir}/munin/plugins/tomcat_ @@ -755,6 +793,10 @@ fi %changelog +* Sat Jul 13 2019 Kim B. Heino - 2.0.49-3 +- rhbz#1721384: Mark .htaccess as ghost, include it to example config files +- Re-add munin-plugins-java subpackage for rhel6 and rhel7 + * Fri May 31 2019 Jitka Plesnikova - 2.0.49-2 - Perl 5.30 rebuild From e95e160d5b24ef919e0baee1e02133f70e6463e8 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Sat, 13 Jul 2019 11:19:19 +0300 Subject: [PATCH 08/62] spec: drop java again, doesn't work... --- munin.spec | 41 ++--------------------------------------- 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/munin.spec b/munin.spec index a5211ef..4e9ae92 100644 --- a/munin.spec +++ b/munin.spec @@ -63,10 +63,6 @@ BuildRequires: perl-Carp BuildRequires: systemd BuildRequires: firewalld-filesystem %endif -%if 0%{?rhel} <= 7 -BuildRequires: java-devel -BuildRequires: jpackage-utils -%endif # Munin server requires Requires: %{name}-common = %{version} @@ -141,12 +137,10 @@ Provides: munin-async = %{version}-%{release} Obsoletes: munin-async < 2.0.39-4 Provides: munin-netip-plugins = %{version}-%{release} Obsoletes: munin-netip-plugins < 2.0.39-4 -%if 0%{?rhel} >= 8 || 0%{?fedora} >= 28 Provides: munin-java-plugins = %{version}-%{release} Obsoletes: munin-java-plugins < 2.0.39-2 Provides: munin-plugins-java = %{version}-%{release} Obsoletes: munin-plugins-java < 2.0.45-2 -%endif %description node @@ -188,20 +182,6 @@ This package contains common files that are used by both the server (munin) and node (munin-node) packages. -%if 0%{?rhel} <= 7 -%package plugins-java -Summary: Java plugins for Munin resource monitoring -Requires: %{name}-node = %{version} -BuildArch: noarch -Provides: munin-java-plugins = %{version}-%{release} -Obsoletes: munin-java-plugins < 2.0.39-2 - - -%description plugins-java -Additional Java plugins for munin-node. -%endif - - %package plugins-ruby Summary: Ruby plugins for Munin resource monitoring Requires: %{name}-node = %{version} @@ -285,9 +265,6 @@ sed -i -e ' s,^PYTHON := \(.*\),PYTHON := /usr/bin/python2,; %endif s,^RUBY := \(.*\),RUBY := /usr/bin/ruby,; -%if 0%{?rhel} <= 7 - s,^JAVALIBDIR = \(.*\),JAVALIBDIR = $(DESTDIR)%{_javadir},; -%endif s,^PERLLIB = \(.*\),PERLLIB = $(DESTDIR)%{perl_vendorlib},; s,^HOSTNAME := \(.*\),HOSTNAME := localhost.localdomain,; s,^PLUGINUSER := \(.*\),PLUGINUSER := munin,; @@ -309,16 +286,10 @@ cp %SOURCE18 . %build -%if 0%{?rhel} <= 7 -export CLASSPATH=plugins/javalib/org/munin/plugin/jmx:$CLASSPATH -%endif make CONFIG=Makefile.config %install -%if 0%{?rhel} <= 7 -export CLASSPATH=plugins/javalib/org/munin/plugin/jmx:$CLASSPATH -%endif make CONFIG=Makefile.config \ DESTDIR=%{buildroot} \ install @@ -679,7 +650,8 @@ fi %attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh %config(noreplace) %attr(0600, munin, munin) %{_sharedstatedir}/munin/.ssh/config %attr(-, munin, munin) %dir %{_localstatedir}/log/munin -%attr(-, munin, munin) %{_localstatedir}/www/html/munin +%attr(-, munin, munin) %dir %{_localstatedir}/www/html/munin +%attr(-, munin, munin) %{_localstatedir}/www/html/munin/cgi %attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-html.log %attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-limits.log %attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-update.log @@ -722,7 +694,6 @@ fi %dir %{_datadir}/munin %{_datadir}/munin/munin-async %{_datadir}/munin/plugins/ -%exclude %{_datadir}/munin/plugins/jmx_ %exclude %{_datadir}/munin/plugins/tomcat_ %exclude %{_datadir}/munin/plugins/munin_stats %{perl_vendorlib}/Munin/Node @@ -755,13 +726,6 @@ fi %endif -%if 0%{?rhel} <= 7 -%files plugins-java -%{_javadir}/munin-jmx-plugins.jar -%{_datadir}/munin/plugins/jmx_ -%endif - - %files plugins-ruby %{_datadir}/munin/plugins/tomcat_ @@ -795,7 +759,6 @@ fi %changelog * Sat Jul 13 2019 Kim B. Heino - 2.0.49-3 - rhbz#1721384: Mark .htaccess as ghost, include it to example config files -- Re-add munin-plugins-java subpackage for rhel6 and rhel7 * Fri May 31 2019 Jitka Plesnikova - 2.0.49-2 - Perl 5.30 rebuild From 955c0adfa72ddc9c70acbcfab1e37292828475f1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 17:58:50 +0000 Subject: [PATCH 09/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 4e9ae92..ed8a5da 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.49 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -757,6 +757,9 @@ fi %changelog +* Thu Jul 25 2019 Fedora Release Engineering - 2.0.49-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sat Jul 13 2019 Kim B. Heino - 2.0.49-3 - rhbz#1721384: Mark .htaccess as ghost, include it to example config files From c8fdc68d415eac18da3258034eb7962e5f2bbb90 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Thu, 24 Oct 2019 15:53:31 +0300 Subject: [PATCH 10/62] Upgrade to 2.0.51 and improve comment about nginx/apache subpackages --- munin.conf | 18 ++++++++++++------ munin.spec | 23 ++++++++++++++--------- sources | 2 +- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/munin.conf b/munin.conf index 6818456..5d70186 100644 --- a/munin.conf +++ b/munin.conf @@ -1,7 +1,13 @@ -# -# Please don't edit this example config file. Create and edit -# file /etc/munin/conf.d/local.conf instead. -# +########################################################################### +# # +# Please don't edit this example config file. Create and edit # +# file /etc/munin/conf.d/local.conf instead. # +# # +# You must also install munin-nginx or munin-apache sub-package. See # +# /usr/share/doc/munin-*/*.conf for example nginx/apache config files # +# and installation instructions. # +# # +########################################################################### # The next three variables specifies where the location of the RRD # databases, the HTML output, logs and the lock/pid files. They all @@ -90,8 +96,8 @@ includedir /etc/munin/conf.d # Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime # something changes (OK -> WARNING, CRITICAL -> OK, etc) -#contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm -#contact.anotheruser.command mail -s "Munin notification" anotheruser@blibb.comm +#contact.someuser.command mail -s "Munin ${var:worst}: ${var:group}::${var:host}::${var:plugin}" somejuser@fnord.comm +#contact.anotheruser.command mail -s "Munin ${var:worst}: ${var:group}::${var:host}::${var:plugin}" anotheruser@blibb.comm # # For those with Nagios, the following might come in handy. In addition, # the services must be defined in the Nagios server as well. diff --git a/munin.spec b/munin.spec index ed8a5da..b403dd0 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin -Version: 2.0.49 -Release: 4%{?dist} +Version: 2.0.51 +Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -102,10 +102,9 @@ it in your network. It will periodically poll all the nodes in your network it's aware of for data, which it in turn will use to create graphs and HTML pages, suitable for viewing with your graphical web browser of choice. -You must also install munin-nginx or munin-apache package. - -Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent -RRDtool. +You must also install munin-nginx or munin-apache sub-package. See +/usr/share/doc/munin-*/*.conf for example nginx/apache config files +and installation instructions. %package node @@ -161,9 +160,6 @@ relay information from other devices in your network that can't run Munin, such as a switch or a server running another operating system, by using SNMP or similar technology. -Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent -RRDtool. - %package common Summary: Network-wide resource monitoring tool (common files) @@ -757,6 +753,15 @@ fi %changelog +* Sat Oct 19 2019 Kim B. Heino - 2.0.51-1 +- Upgrade to 2.0.51 + +* Thu Oct 17 2019 Kim B. Heino - 2.0.50-2 +- Revert 290650ee2c as it breaks munin-limits on rhel + +* Thu Oct 17 2019 Kim B. Heino - 2.0.50-1 +- Upgrade to 2.0.50 + * Thu Jul 25 2019 Fedora Release Engineering - 2.0.49-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 8da620c..f14c16d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (munin-2.0.49.tar.gz) = 20f1f27aa1ff39ed92c967a13581ae199930323f5d2b62b62ce0a548a4cf561595e85d069e836b156c05d4a94c66328009aba56cb1b06c4b2719fbd9e1061ca4 +SHA512 (munin-2.0.51.tar.gz) = 86e9d31cf755920fb42a1875c034847cdb0af4fab98d813c1362539f782e7c0c385c1c9c6653fafd7712bf54ce51f942fdb21f14204a7227b8cc95e11d9f388a From f78477cd28bb57193c1017b9c2b7f223b1b89ebc Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Sun, 17 Nov 2019 12:53:11 -0600 Subject: [PATCH 11/62] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From 5a7a5ce0e4472de913b29638d232dd25faf42f22 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Tue, 21 Jan 2020 13:05:13 +0200 Subject: [PATCH 12/62] Upgrade to 2.0.54 --- 00-default | 2 +- munin-asyncd.service | 5 ++++- munin-node.service | 5 ++++- munin.spec | 8 +++++++- sources | 2 +- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/00-default b/00-default index 0a21efd..1811689 100644 --- a/00-default +++ b/00-default @@ -23,7 +23,7 @@ user root [df*] user root env.exclude none unknown binfmt_misc cgroup_root debugfs devpts devtmpfs fuse.gvfs-fuse-daemon iso9660 ramfs romfs rootfs rpc_pipefs squashfs udf -env.exclude_re ^/run/user/ ^/sys/ ^/var/lib/docker ^/media/ ^/var/lib/mock/ +env.exclude_re ^/run/user/ ^/sys/ ^/var/lib/docker ^/var/lib/containers/storage/overlay ^/var/lib/mock/ ^/media/ ^/mnt$ [exim*] group mail diff --git a/munin-asyncd.service b/munin-asyncd.service index 7dc783a..1396a2a 100644 --- a/munin-asyncd.service +++ b/munin-asyncd.service @@ -8,7 +8,10 @@ After=network.target network-online.target munin-node.service Type=simple User=munin ExecStart=/usr/sbin/munin-asyncd -PrivateTmp=true +PrivateDevices=yes +PrivateTmp=yes +ProtectHome=yes +ProtectSystem=full TimeoutStopSec=20s [Install] diff --git a/munin-node.service b/munin-node.service index a48b60a..ac57e54 100644 --- a/munin-node.service +++ b/munin-node.service @@ -8,7 +8,10 @@ PartOf=munin-asyncd.service Type=forking ExecStart=/usr/sbin/munin-node PIDFile=/run/munin/munin-node.pid -PrivateTmp=true +PrivateDevices=no +PrivateTmp=yes +ProtectHome=read-only +ProtectSystem=full TimeoutStopSec=30s [Install] diff --git a/munin.spec b/munin.spec index b403dd0..983ce7d 100644 --- a/munin.spec +++ b/munin.spec @@ -1,5 +1,5 @@ Name: munin -Version: 2.0.51 +Version: 2.0.54 Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 @@ -683,6 +683,7 @@ fi %endif %{_bindir}/munindoc +%{_bindir}/munin-get %{_sbindir}/munin-node %{_sbindir}/munin-node-configure %{_sbindir}/munin-run @@ -753,6 +754,11 @@ fi %changelog +* Tue Jan 21 2020 Kim B. Heino - 2.0.54-1 +- Upgrade to 2.0.54 +- Improve df's ignore list +- Use systemd hardening options for node and asyncd + * Sat Oct 19 2019 Kim B. Heino - 2.0.51-1 - Upgrade to 2.0.51 diff --git a/sources b/sources index f14c16d..16f47d9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (munin-2.0.51.tar.gz) = 86e9d31cf755920fb42a1875c034847cdb0af4fab98d813c1362539f782e7c0c385c1c9c6653fafd7712bf54ce51f942fdb21f14204a7227b8cc95e11d9f388a +SHA512 (munin-2.0.54.tar.gz) = 48bb785d6e40f940e265f2e4723c09ccb54a8218b7f76766a3be23f91d0eaa1180fd1698c50d738c95bb983c586345bf5f65d0dab0e16d40b22fc0121955756b From 8793e82c1ebfb77d43686050e0650e6f62bfc13a Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Fri, 24 Jan 2020 12:27:32 +0200 Subject: [PATCH 13/62] Convert cronjob to systemd timer and tmpfiles, first epel8 build --- munin-asyncd.service | 2 +- munin-node.service | 2 +- munin.service | 12 ++++++++++++ munin.spec | 44 ++++++++++++++++++++++++++++--------------- munin.timer | 9 +++++++++ munin.tmpfilesd | 14 ++++++++++++++ nginx_cgi_graphs.conf | 4 +++- 7 files changed, 69 insertions(+), 18 deletions(-) create mode 100644 munin.service create mode 100644 munin.timer diff --git a/munin-asyncd.service b/munin-asyncd.service index 1396a2a..71fab85 100644 --- a/munin-asyncd.service +++ b/munin-asyncd.service @@ -1,6 +1,6 @@ [Unit] Description=Munin Node - Asynchronous Proxy -Documentation=man:munin-async http://munin.readthedocs.org/en/stable-2.0/reference/munin-async.html +Documentation=http://guide.munin-monitoring.org/en/latest/node/async.html Requires=munin-node.service After=network.target network-online.target munin-node.service diff --git a/munin-node.service b/munin-node.service index ac57e54..f3ca19c 100644 --- a/munin-node.service +++ b/munin-node.service @@ -1,6 +1,6 @@ [Unit] Description=Munin Node -Documentation=man:munin-node(1) http://munin.readthedocs.org/en/stable-2.0/reference/munin-node.html +Documentation=man:munin-node(1) http://guide.munin-monitoring.org/en/latest/node/index.html After=network.target network-online.target PartOf=munin-asyncd.service diff --git a/munin.service b/munin.service new file mode 100644 index 0000000..6b2bba4 --- /dev/null +++ b/munin.service @@ -0,0 +1,12 @@ +[Unit] +Description=Munin server to collect data from nodes +Documentation=man:munin-cron(8) +After=network.target network-online.target munin-node.service + +[Service] +User=munin +ExecStart=/usr/bin/munin-cron +PrivateDevices=yes +PrivateTmp=yes +ProtectHome=yes +ProtectSystem=full diff --git a/munin.spec b/munin.spec index 983ce7d..a73cc05 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.54 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -12,6 +12,8 @@ Source10: munin.conf Source11: munin.logrotate Source12: munin.tmpfilesd Source13: munin.cron.d +Source131: munin.timer +Source132: munin.service Source14: asyncd-ssh.config Source15: munin-rrdcached.service Source16: httpd_cgi_graphs.conf @@ -102,9 +104,9 @@ it in your network. It will periodically poll all the nodes in your network it's aware of for data, which it in turn will use to create graphs and HTML pages, suitable for viewing with your graphical web browser of choice. -You must also install munin-nginx or munin-apache sub-package. See -/usr/share/doc/munin-*/*.conf for example nginx/apache config files -and installation instructions. +You must also install munin-nginx or munin-apache sub-package to generate +web graphs. See /usr/share/doc/munin-*/*.conf for example nginx/apache config +files and installation instructions. %package node @@ -371,8 +373,13 @@ cp %{SOURCE12} %{buildroot}%{_tmpfilesdir}/%{name}.conf %endif # Add server cron job +%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 +cp %{SOURCE131} %{buildroot}%{_unitdir} +cp %{SOURCE132} %{buildroot}%{_unitdir} +%else mkdir -p %{buildroot}%{_sysconfdir}/cron.d cp %{SOURCE13} %{buildroot}%{_sysconfdir}/cron.d/munin +%endif # Default ssh config for asyncd mkdir -p %{buildroot}%{_sharedstatedir}/munin/.ssh @@ -452,15 +459,18 @@ EOF fi fi %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -%systemd_post munin-rrdcached.service +%systemd_post munin-rrdcached.service munin.timer +if [ -f %{_sysconfdir}/cron.d/munin ]; then + systemctl enable --now munin.timer > /dev/null 2>&1 || : +fi %preun -%systemd_preun munin-rrdcached.service +%systemd_preun munin-rrdcached.service munin.timer %postun -%systemd_postun_with_restart munin-rrdcached.service +%systemd_postun_with_restart munin-rrdcached.service munin.timer %triggerun -- munin < 2.0.42-2 @@ -478,8 +488,7 @@ exit 0 %post node %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -%systemd_post munin-node.service -%systemd_post munin-asyncd.service +%systemd_post munin-node.service munin-asyncd.service %firewalld_reload %else /sbin/chkconfig --add munin-node @@ -507,8 +516,7 @@ fi %preun node %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -%systemd_preun munin-node.service -%systemd_preun munin-asyncd.service +%systemd_preun munin-node.service munin-asyncd.service %else if [ $1 -eq 0 ]; then /sbin/service munin-node stop >/dev/null 2>&1 || : @@ -521,8 +529,7 @@ fi %postun node %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -%systemd_postun_with_restart munin-node.service -%systemd_postun_with_restart munin-asyncd.service +%systemd_postun_with_restart munin-node.service munin-asyncd.service %else if [ $1 -ge 1 ]; then /sbin/service munin-node condrestart >/dev/null 2>&1 @@ -538,8 +545,7 @@ fi chown -R munin:munin %{_sharedstatedir}/munin/spool/ >/dev/null 2>&1 %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 systemctl daemon-reload -%systemd_postun_with_restart munin-node.service -%systemd_postun_with_restart munin-asyncd.service +%systemd_postun_with_restart munin-node.service munin-asyncd.service %else if [ $1 -ge 1 ]; then /sbin/service munin-node condrestart >/dev/null 2>&1 @@ -626,7 +632,12 @@ fi %dir %{_sysconfdir}/munin/conf.d %dir %{_sysconfdir}/munin/templates %dir %{_sysconfdir}/munin/static +%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 +%{_unitdir}/munin.timer +%{_unitdir}/munin.service +%else %config(noreplace) %{_sysconfdir}/cron.d/munin +%endif %config(noreplace) %{_sysconfdir}/logrotate.d/munin %config(noreplace) %{_sysconfdir}/munin/munin.conf %config(noreplace) %{_sysconfdir}/munin/templates/* @@ -754,6 +765,9 @@ fi %changelog +* Fri Jan 24 2020 Kim B. Heino - 2.0.54-2 +- Convert cronjob to systemd timer and tmpfiles + * Tue Jan 21 2020 Kim B. Heino - 2.0.54-1 - Upgrade to 2.0.54 - Improve df's ignore list diff --git a/munin.timer b/munin.timer new file mode 100644 index 0000000..1e06efb --- /dev/null +++ b/munin.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Munin server to collect data from nodes +Documentation=man:munin-cron(8) + +[Timer] +OnCalendar=*:00/5 + +[Install] +WantedBy=timers.target diff --git a/munin.tmpfilesd b/munin.tmpfilesd index bdedfad..561bee2 100644 --- a/munin.tmpfilesd +++ b/munin.tmpfilesd @@ -1 +1,15 @@ +# Create runtime directory + d /run/munin 0775 root munin - + +# Cleanup for old rrd/png etc files + +x /var/lib/munin/.ssh +x /var/lib/munin/cgi-tmp +x /var/lib/munin/plugin-state +x /var/lib/munin/rrdcached + +e /var/lib/munin/cgi-tmp/* - - - 1d +e /var/lib/munin/plugin-state/* - - - 14d +e /var/lib/munin/spool - - - 14d +e /var/lib/munin - - - 30d diff --git a/nginx_cgi_graphs.conf b/nginx_cgi_graphs.conf index 3b60cb0..666cc90 100644 --- a/nginx_cgi_graphs.conf +++ b/nginx_cgi_graphs.conf @@ -8,7 +8,9 @@ # cgiurl_graph /munin/graph # # Then copy this file to /etc/nginx/conf.d/ directory and restart nginx. -# Services munin-cgi-graph and munin-cgi-html must also be started. +# Services munin-cgi-html and munin-cgi-graph must also be started: +# +# systemctl enable --now munin-cgi-html.socket munin-cgi-graph.socket # # Access Munin at http://localhost/munin/ From da5e6b3b08665d66dbff96d22b31c2b41fd8c725 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Fri, 24 Jan 2020 12:40:03 +0200 Subject: [PATCH 14/62] Remove unneeded Makefile and package.cfg --- .cvsignore | 0 Makefile | 21 --------------------- package.cfg | 2 -- 3 files changed, 23 deletions(-) delete mode 100644 .cvsignore delete mode 100644 Makefile delete mode 100644 package.cfg diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/Makefile b/Makefile deleted file mode 100644 index 5e554a7..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: munin -# $Id$ -NAME := munin -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 66ea79d..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = epel8 epel8-playground \ No newline at end of file From 1c00dec9bb320298b05c97bed15eaa891e3ef960 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Fri, 24 Jan 2020 12:54:50 +0200 Subject: [PATCH 15/62] Remove BR: perl(Directory::Scratch), it's for testing only, and not on epel8 --- munin.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/munin.spec b/munin.spec index a73cc05..2304215 100644 --- a/munin.spec +++ b/munin.spec @@ -60,7 +60,6 @@ BuildRequires: perl(Net::SSLeay) BuildRequires: perl(Net::SNMP) BuildRequires: perl(Text::Balanced) %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -BuildRequires: perl(Directory::Scratch) BuildRequires: perl-Carp BuildRequires: systemd BuildRequires: firewalld-filesystem From f64e33df436161b81862852a9d6f6e4f87a7d21b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jan 2020 14:19:32 +0000 Subject: [PATCH 16/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 2304215..4f0f722 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.54 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -764,6 +764,9 @@ fi %changelog +* Wed Jan 29 2020 Fedora Release Engineering - 2.0.54-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Fri Jan 24 2020 Kim B. Heino - 2.0.54-2 - Convert cronjob to systemd timer and tmpfiles From 97e4047018425642ba377382f2638739bfa6763d Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Tue, 24 Mar 2020 15:38:09 +0100 Subject: [PATCH 17/62] Specify all perl's dependencies for build --- munin.spec | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/munin.spec b/munin.spec index 4f0f722..bbe1fd5 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.54 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -52,15 +52,21 @@ BuildArch: noarch BuildRequires: perl-interpreter >= 5.8 BuildRequires: perl-generators -BuildRequires: perl(Module::Build) +BuildRequires: perl(base) +BuildRequires: perl(English) +BuildRequires: perl(File::Spec) BuildRequires: perl(HTML::Template) +BuildRequires: perl(lib) +BuildRequires: perl(Module::Build) BuildRequires: perl(Log::Log4perl) BuildRequires: perl(Net::Server) BuildRequires: perl(Net::SSLeay) BuildRequires: perl(Net::SNMP) +BuildRequires: perl(strict) BuildRequires: perl(Text::Balanced) +BuildRequires: perl(warnings) %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -BuildRequires: perl-Carp +BuildRequires: perl(Carp) BuildRequires: systemd BuildRequires: firewalld-filesystem %endif @@ -764,6 +770,9 @@ fi %changelog +* Tue Mar 24 2020 Jitka Plesnikova - 2.0.54-4 +- Specify all perl's dependencies for build + * Wed Jan 29 2020 Fedora Release Engineering - 2.0.54-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 22c7233576c4b7014480363b11882a8fdcfdec20 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Thu, 25 Jun 2020 15:03:14 +0200 Subject: [PATCH 18/62] Perl 5.32 rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index bbe1fd5..ec9a093 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.54 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -770,6 +770,9 @@ fi %changelog +* Thu Jun 25 2020 Jitka Plesnikova - 2.0.54-5 +- Perl 5.32 rebuild + * Tue Mar 24 2020 Jitka Plesnikova - 2.0.54-4 - Specify all perl's dependencies for build From e7542a3b416ed0f3b221db994a4162520a4280d3 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 6 Jul 2020 11:18:25 +0300 Subject: [PATCH 19/62] Upgrade to 2.0.63 --- asyncd-ssh.config | 5 ----- munin-asyncd.service | 2 +- munin-node.logrotate | 2 -- munin-node.service | 5 ++--- munin-run_no_systemd.patch | 28 ++++++++++++++++++++++++++++ munin.logrotate | 12 ------------ munin.spec | 28 ++++++++++++++++------------ 7 files changed, 47 insertions(+), 35 deletions(-) delete mode 100644 asyncd-ssh.config create mode 100644 munin-run_no_systemd.patch diff --git a/asyncd-ssh.config b/asyncd-ssh.config deleted file mode 100644 index b710158..0000000 --- a/asyncd-ssh.config +++ /dev/null @@ -1,5 +0,0 @@ -Host * - Compression yes - ConnectTimeout 15 - ServerAliveInterval 15 - ServerAliveCountMax 5 diff --git a/munin-asyncd.service b/munin-asyncd.service index 71fab85..c730e8b 100644 --- a/munin-asyncd.service +++ b/munin-asyncd.service @@ -5,7 +5,7 @@ Requires=munin-node.service After=network.target network-online.target munin-node.service [Service] -Type=simple +Type=notify User=munin ExecStart=/usr/sbin/munin-asyncd PrivateDevices=yes diff --git a/munin-node.logrotate b/munin-node.logrotate index 56a6be8..a77de03 100644 --- a/munin-node.logrotate +++ b/munin-node.logrotate @@ -1,6 +1,4 @@ /var/log/munin-node/munin-node.log { - daily - rotate 7 missingok notifempty compress diff --git a/munin-node.service b/munin-node.service index f3ca19c..e84725e 100644 --- a/munin-node.service +++ b/munin-node.service @@ -5,9 +5,8 @@ After=network.target network-online.target PartOf=munin-asyncd.service [Service] -Type=forking -ExecStart=/usr/sbin/munin-node -PIDFile=/run/munin/munin-node.pid +Type=notify +ExecStart=/usr/sbin/munin-node --foreground PrivateDevices=no PrivateTmp=yes ProtectHome=read-only diff --git a/munin-run_no_systemd.patch b/munin-run_no_systemd.patch new file mode 100644 index 0000000..6b7a80e --- /dev/null +++ b/munin-run_no_systemd.patch @@ -0,0 +1,28 @@ +diff -ur munin-2.0.63.orig/node/sbin/munin-run munin-2.0.63/node/sbin/munin-run +--- munin-2.0.63.orig/node/sbin/munin-run 2020-05-27 23:52:55.000000000 +0300 ++++ munin-2.0.63/node/sbin/munin-run 2020-07-04 10:55:27.079868324 +0300 +@@ -31,7 +31,7 @@ + # --pipe: 235 or later + # --collect: 236 or later + +-my $REQUIRED_SYSTEMD_VERSION = 236; ++my $REQUIRED_SYSTEMD_VERSION = 999; + + # See "man systemd.exec" for the list of all systemd properties. + # The following properties belong to the relevant sections "Capabilities", +@@ -50,7 +50,6 @@ + EnvironmentFile + Group + Limit\w+ +- LockPersonality + MemoryDenyWriteExecute + MountFlags + NetworkNamespacePath +@@ -189,6 +188,7 @@ + # "systemd show" does not output the EnvironmentFile property in a readable format. + # See https://github.com/systemd/systemd/issues/14723. + next if ($property_definition =~ /^EnvironmentFiles?=(.*) \(ignore_errors=(yes|no)\)$/); ++ next if ($property_definition =~ /^RestrictSUIDSGID=/); + push @flag_list, $1 if $property_definition =~ /$flag_name_regex/; + } + return @flag_list; diff --git a/munin.logrotate b/munin.logrotate index 78ed224..3953c6d 100644 --- a/munin.logrotate +++ b/munin.logrotate @@ -1,46 +1,34 @@ /var/log/munin/munin-cgi-graph.log { - daily - rotate 7 missingok notifempty compress } /var/log/munin/munin-cgi-html.log { - daily - rotate 7 missingok notifempty compress } /var/log/munin/munin-graph.log { - daily - rotate 7 missingok notifempty compress } /var/log/munin/munin-html.log { - daily - rotate 7 missingok notifempty compress } /var/log/munin/munin-limits.log { - daily - rotate 7 missingok notifempty compress } /var/log/munin/munin-update.log { - daily - rotate 7 missingok notifempty compress diff --git a/munin.spec b/munin.spec index ec9a093..80e1b51 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin -Version: 2.0.54 -Release: 5%{?dist} +Version: 2.0.63 +Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -14,7 +14,6 @@ Source12: munin.tmpfilesd Source13: munin.cron.d Source131: munin.timer Source132: munin.service -Source14: asyncd-ssh.config Source15: munin-rrdcached.service Source16: httpd_cgi_graphs.conf Source17: httpd_cron_graphs.conf @@ -40,6 +39,7 @@ Source35: munin-cgi-html.socket # Patches Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch Patch102: postfix-category.patch +Patch103: munin-run_no_systemd.patch # Use some plugins from munin 3.0 branch Source200: mysql_ @@ -282,6 +282,7 @@ sed -i -e ' %patch101 -p1 %patch102 -p1 +%patch103 -p1 cp %SOURCE16 . cp %SOURCE17 . @@ -386,9 +387,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/cron.d cp %{SOURCE13} %{buildroot}%{_sysconfdir}/cron.d/munin %endif -# Default ssh config for asyncd +# ssh for asyncd mkdir -p %{buildroot}%{_sharedstatedir}/munin/.ssh -install -m 0600 %{SOURCE14} %{buildroot}%{_sharedstatedir}/munin/.ssh/config # rrdcached %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 @@ -446,11 +446,11 @@ exit 0 %post # Create log files [ -f %{_localstatedir}/log/munin/munin-html.log ] || \ - /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-html.log + /usr/bin/install -m 0640 -o munin -g root /dev/null %{_localstatedir}/log/munin/munin-html.log [ -f %{_localstatedir}/log/munin/munin-limits.log ] || \ - /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-limits.log + /usr/bin/install -m 0640 -o munin -g root /dev/null %{_localstatedir}/log/munin/munin-limits.log [ -f %{_localstatedir}/log/munin/munin-update.log ] || \ - /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-update.log + /usr/bin/install -m 0640 -o munin -g root /dev/null %{_localstatedir}/log/munin/munin-update.log # On new install only: create simple localhost config. if [ "$1" = "1" ]; then if [ ! -f %{_sysconfdir}/munin/conf.d/local.conf ]; then @@ -660,13 +660,12 @@ fi %{perl_vendorlib}/Munin/Master %attr(-, munin, munin) %dir %{_sharedstatedir}/munin %attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh -%config(noreplace) %attr(0600, munin, munin) %{_sharedstatedir}/munin/.ssh/config %attr(-, munin, munin) %dir %{_localstatedir}/log/munin %attr(-, munin, munin) %dir %{_localstatedir}/www/html/munin %attr(-, munin, munin) %{_localstatedir}/www/html/munin/cgi -%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-html.log -%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-limits.log -%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-update.log +%attr(0640, munin, root) %ghost %{_localstatedir}/log/munin/munin-html.log +%attr(0640, munin, root) %ghost %{_localstatedir}/log/munin/munin-limits.log +%attr(0640, munin, root) %ghost %{_localstatedir}/log/munin/munin-update.log %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %attr(-, munin, munin) %dir %{_sharedstatedir}/munin/rrdcached %{_unitdir}/munin-rrdcached.service @@ -770,6 +769,11 @@ fi %changelog +* Mon Jul 6 2020 Kim B. Heino - 2.0.63-1 +- Upgrade to 2.0.63 +- Don't use systemd-run in munin-run, rhbz #1852345 +- Use "Type=notify" for munin-node and munin-asyncd + * Thu Jun 25 2020 Jitka Plesnikova - 2.0.54-5 - Perl 5.32 rebuild From 9184bb199a0ca1223d96a40cb3bb4c88d82f5d3c Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 6 Jul 2020 11:19:44 +0300 Subject: [PATCH 20/62] sources: update --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 16f47d9..5ea4aea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (munin-2.0.54.tar.gz) = 48bb785d6e40f940e265f2e4723c09ccb54a8218b7f76766a3be23f91d0eaa1180fd1698c50d738c95bb983c586345bf5f65d0dab0e16d40b22fc0121955756b +SHA512 (munin-2.0.63.tar.gz) = c28d2bedda8abb8787e1ba40ec80961d1304c903e9e608e30ed7903210169f258f9c062fc97d89932ddd7aabefa4360495d19535520741911c489c9c3c2e76fe From 66a4fe31d4e4252751997a3886e7ccf4d3dce52d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jul 2020 08:39:45 +0000 Subject: [PATCH 21/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 80e1b51..6242b31 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.63 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -769,6 +769,9 @@ fi %changelog +* Tue Jul 28 2020 Fedora Release Engineering - 2.0.63-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 6 2020 Kim B. Heino - 2.0.63-1 - Upgrade to 2.0.63 - Don't use systemd-run in munin-run, rhbz #1852345 From ab88fc3fed37c4f9340560b9b4f9afa03a7e96f0 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Tue, 17 Nov 2020 14:55:46 +0200 Subject: [PATCH 22/62] 2.0.65 * Tue Nov 17 2020 Kim B. Heino - 2.0.65-1 - Upgrade to 2.0.65 - Improve plugin-state directory owners - Don't require tmpwatch - Change log file owner to root:adm or munin:adm --- munin-node.logrotate | 1 - munin.logrotate | 36 ++++------------------- munin.service | 2 +- munin.spec | 69 +++++++++++++++----------------------------- munin.tmpfilesd | 1 - 5 files changed, 29 insertions(+), 80 deletions(-) diff --git a/munin-node.logrotate b/munin-node.logrotate index a77de03..c674db4 100644 --- a/munin-node.logrotate +++ b/munin-node.logrotate @@ -1,6 +1,5 @@ /var/log/munin-node/munin-node.log { missingok notifempty - compress copytruncate } diff --git a/munin.logrotate b/munin.logrotate index 3953c6d..109748b 100644 --- a/munin.logrotate +++ b/munin.logrotate @@ -1,35 +1,9 @@ -/var/log/munin/munin-cgi-graph.log { - missingok - notifempty - compress -} - -/var/log/munin/munin-cgi-html.log { - missingok - notifempty - compress -} - -/var/log/munin/munin-graph.log { - missingok - notifempty - compress -} - -/var/log/munin/munin-html.log { - missingok - notifempty - compress -} - -/var/log/munin/munin-limits.log { - missingok - notifempty - compress -} - +/var/log/munin/munin-cgi-graph.log +/var/log/munin/munin-cgi-html.log +/var/log/munin/munin-graph.log +/var/log/munin/munin-html.log +/var/log/munin/munin-limits.log /var/log/munin/munin-update.log { missingok notifempty - compress } diff --git a/munin.service b/munin.service index 6b2bba4..b9586f6 100644 --- a/munin.service +++ b/munin.service @@ -6,7 +6,7 @@ After=network.target network-online.target munin-node.service [Service] User=munin ExecStart=/usr/bin/munin-cron -PrivateDevices=yes +PrivateDevices=no PrivateTmp=yes ProtectHome=yes ProtectSystem=full diff --git a/munin.spec b/munin.spec index 6242b31..3f4f1a4 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin -Version: 2.0.63 -Release: 2%{?dist} +Version: 2.0.65 +Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -75,7 +75,9 @@ BuildRequires: firewalld-filesystem Requires: %{name}-common = %{version} Requires: %{name}-web-support Requires: logrotate +%if 0%{?rhel} == 6 Requires: tmpwatch +%endif Requires: rrdtool Requires: /bin/mail Requires: perl(FCGI) @@ -335,9 +337,8 @@ cp %{SOURCE200} %{buildroot}%{_datadir}/munin/plugins/ cp %{SOURCE300} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/ cp %{SOURCE301} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/ -# Create plugin state dirs -mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state/root -mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state/munin +# Create plugin state dir +mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state %if 0%{?rhel} >= 7 || 0%{?fedora} > 19 mkdir -p %{buildroot}/%{_prefix}/lib/firewalld/services @@ -446,11 +447,11 @@ exit 0 %post # Create log files [ -f %{_localstatedir}/log/munin/munin-html.log ] || \ - /usr/bin/install -m 0640 -o munin -g root /dev/null %{_localstatedir}/log/munin/munin-html.log + /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-html.log [ -f %{_localstatedir}/log/munin/munin-limits.log ] || \ - /usr/bin/install -m 0640 -o munin -g root /dev/null %{_localstatedir}/log/munin/munin-limits.log + /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-limits.log [ -f %{_localstatedir}/log/munin/munin-update.log ] || \ - /usr/bin/install -m 0640 -o munin -g root /dev/null %{_localstatedir}/log/munin/munin-update.log + /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-update.log # On new install only: create simple localhost config. if [ "$1" = "1" ]; then if [ ! -f %{_sysconfdir}/munin/conf.d/local.conf ]; then @@ -476,11 +477,6 @@ fi %postun %systemd_postun_with_restart munin-rrdcached.service munin.timer - - -%triggerun -- munin < 2.0.42-2 -setfacl --remove-all %{_rundir}/munin -chmod 775 %{_rundir}/munin %endif @@ -501,7 +497,7 @@ exit 0 %endif # Create log file [ -f %{_localstatedir}/log/munin-node/munin-node.log ] || \ - /usr/bin/install -m 0640 -o root -g root /dev/null %{_localstatedir}/log/munin-node/munin-node.log + /usr/bin/install -m 0640 -o root -g adm /dev/null %{_localstatedir}/log/munin-node/munin-node.log # Only run configure on a new install, not an upgrade. if [ "$1" = "1" ]; then %{_sbindir}/munin-node-configure --shell 2> /dev/null | sh >& /dev/null || : @@ -543,22 +539,6 @@ fi %endif -%triggerun node -- munin-node < 2.0.40-2 -if ls %{_localstatedir}/log/munin/munin-node.log* >/dev/null 2>&1; then - mv -f %{_localstatedir}/log/munin/munin-node.log* %{_localstatedir}/log/munin-node/ -fi -chown -R munin:munin %{_sharedstatedir}/munin/spool/ >/dev/null 2>&1 -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -systemctl daemon-reload -%systemd_postun_with_restart munin-node.service munin-asyncd.service -%else -if [ $1 -ge 1 ]; then - /sbin/service munin-node condrestart >/dev/null 2>&1 - /sbin/service munin-asyncd condrestart >/dev/null 2>&1 -fi -%endif - - %pre common getent group munin >/dev/null || groupadd -r munin getent passwd munin >/dev/null || \ @@ -566,13 +546,6 @@ useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin exit 0 -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -%triggerun common -- munin-common < 2.0.42-2 -setfacl --remove-all %{_rundir}/munin -chmod 775 %{_rundir}/munin -%endif - - %post nginx # Create log files [ -f %{_localstatedir}/log/munin/munin-cgi-graph.log ] || \ @@ -660,12 +633,12 @@ fi %{perl_vendorlib}/Munin/Master %attr(-, munin, munin) %dir %{_sharedstatedir}/munin %attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh -%attr(-, munin, munin) %dir %{_localstatedir}/log/munin +%attr(0750, munin, adm) %dir %{_localstatedir}/log/munin %attr(-, munin, munin) %dir %{_localstatedir}/www/html/munin %attr(-, munin, munin) %{_localstatedir}/www/html/munin/cgi -%attr(0640, munin, root) %ghost %{_localstatedir}/log/munin/munin-html.log -%attr(0640, munin, root) %ghost %{_localstatedir}/log/munin/munin-limits.log -%attr(0640, munin, root) %ghost %{_localstatedir}/log/munin/munin-update.log +%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-html.log +%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-limits.log +%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-update.log %if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %attr(-, munin, munin) %dir %{_sharedstatedir}/munin/rrdcached %{_unitdir}/munin-rrdcached.service @@ -714,13 +687,11 @@ fi %{_prefix}/lib/firewalld/services/munin-node.xml %endif %attr(-, munin, munin) %dir %{_sharedstatedir}/munin -%attr(0775, root, munin) %dir %{_sharedstatedir}/munin/plugin-state -%attr(-, root, munin) %dir %{_sharedstatedir}/munin/plugin-state/root -%attr(-, munin, munin) %dir %{_sharedstatedir}/munin/plugin-state/munin +%attr(-, root, root) %dir %{_sharedstatedir}/munin/plugin-state %attr(-, munin, munin) %dir %{_sharedstatedir}/munin/spool %attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh -%attr(0755, root, root) %dir %{_localstatedir}/log/munin-node -%attr(0640, root, root) %ghost %{_localstatedir}/log/munin-node/munin-node.log +%attr(0750, root, adm) %dir %{_localstatedir}/log/munin-node +%attr(0640, root, adm) %ghost %{_localstatedir}/log/munin-node/munin-node.log %files common @@ -769,6 +740,12 @@ fi %changelog +* Tue Nov 17 2020 Kim B. Heino - 2.0.65-1 +- Upgrade to 2.0.65 +- Improve plugin-state directory owners +- Don't require tmpwatch +- Change log file owner to root:adm or munin:adm + * Tue Jul 28 2020 Fedora Release Engineering - 2.0.63-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/munin.tmpfilesd b/munin.tmpfilesd index 561bee2..68ba12f 100644 --- a/munin.tmpfilesd +++ b/munin.tmpfilesd @@ -10,6 +10,5 @@ x /var/lib/munin/plugin-state x /var/lib/munin/rrdcached e /var/lib/munin/cgi-tmp/* - - - 1d -e /var/lib/munin/plugin-state/* - - - 14d e /var/lib/munin/spool - - - 14d e /var/lib/munin - - - 30d From 1ba65a9e12491d278a3adc1cc08cb12271b645f0 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Tue, 17 Nov 2020 14:57:47 +0200 Subject: [PATCH 23/62] sources: update --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 5ea4aea..481423e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (munin-2.0.63.tar.gz) = c28d2bedda8abb8787e1ba40ec80961d1304c903e9e608e30ed7903210169f258f9c062fc97d89932ddd7aabefa4360495d19535520741911c489c9c3c2e76fe +SHA512 (munin-2.0.65.tar.gz) = 8a0dc93de878e1d502467f4e8589a0af2b809ec7282033534de2fd17b842bbf864d900136516a668a8e3f80e99215062620a503c5f664c799892f77950b4859a From f14b813b7abd9b4405175c31beb9c2152a4b58fc Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 14 Dec 2020 20:55:47 +0200 Subject: [PATCH 24/62] Drop epel6, major cleanup --- munin-asyncd.rc | 94 ----------------------- munin-cgi-graph.rc | 105 -------------------------- munin-cgi-html.rc | 105 -------------------------- munin-node.rc | 120 ----------------------------- munin.cron.d | 7 -- munin.spec | 183 +++++++-------------------------------------- 6 files changed, 25 insertions(+), 589 deletions(-) delete mode 100755 munin-asyncd.rc delete mode 100755 munin-cgi-graph.rc delete mode 100755 munin-cgi-html.rc delete mode 100755 munin-node.rc delete mode 100644 munin.cron.d diff --git a/munin-asyncd.rc b/munin-asyncd.rc deleted file mode 100755 index a9da4f3..0000000 --- a/munin-asyncd.rc +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/sh -# -# /etc/init.d/munin-asyncd -# -# chkconfig: - 91 9 -# description: Network-wide resource monitoring tool (async proxy) -# processname: munin-asyncd -# -### BEGIN INIT INFO -# Provides: munin-asyncd -# Required-Start: $network $syslog -# Required-Stop: -# Default-Stop: 0 1 2 6 -# Short-Description: Network-wide resource monitoring tool (async proxy) -# Description: Munin is a highly flexible and powerful solution used to create -# graphs of virtually everything imaginable throughout your network, -# while still maintaining a rattling ease of installation and -# configuration. -### END INIT INFO - -# Source function library. -. /etc/init.d/functions - -# Source networking configuration. -. /etc/sysconfig/network - -# Check that networking is up. -[ ${NETWORKING} = "no" ] && exit 0 - -# Read config -ASYNCD=yes -[ -f /etc/sysconfig/munin-node ] && . /etc/sysconfig/munin-node - -progasync=munin-asyncd -binasync=/usr/sbin/$progasync -RETVAL=0 - -start() { - echo -n $"Starting $progasync: " - mkdir -p /var/run/munin 2>/dev/null - chown munin:munin /var/run/munin - restorecon /var/run/munin 2>/dev/null - ${binasync} < /dev/null > /dev/null 2>&1 & - sleep 1 - pkill -0 $progasync - RETVAL=$? - if [ $RETVAL -eq 0 ]; then - echo_success - touch /var/lock/subsys/$progasync - else - echo_failure - fi - echo - return $RETVAL -} - -stop() { - echo -n $"Stopping $progasync: " - killproc ${binasync} - RETVAL=$? - echo - [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$progasync - return $RETVAL -} - -restart() { - stop - start -} - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart) - restart - ;; - condrestart) - [ -f /var/lock/subsys/$progasync ] && restart - ;; - status) - status ${binasync} - RETVAL=$? - ;; - *) - echo "Usage: $0 {start|stop|restart|condrestart|status}" - RETVAL=2 -esac - -exit $RETVAL diff --git a/munin-cgi-graph.rc b/munin-cgi-graph.rc deleted file mode 100755 index b56c7ac..0000000 --- a/munin-cgi-graph.rc +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/sh -# -# munin-cgi-graph Start and stop Munin FastCGI processes for NGINX -# -# chkconfig: - 80 20 -# description: Spawn Munin FastCGI scripts to be used by NGINX web server - -### BEGIN INIT INFO -# Provides: -# Required-Start: $network $syslog -# Required-Stop: -# Should-Start: -# Should-Stop: -# Default-Start: -# Default-Stop: 0 1 2 6 -# Short-Description: Start and stop Munin FastCGI processes -# Description: Spawn Munin FastCGI scripts to be used by NGINX web server -### END INIT INFO - -# Source function library. -. /etc/rc.d/init.d/functions - -exec=/usr/bin/spawn-fcgi -lockfile=/var/lock/subsys/munin-cgi-graph - -graphprog=/var/www/html/munin/cgi/munin-cgi-graph -graphsock=/var/run/munin/munin-cgi-graph.sock -graphpid=/var/run/munin/munin-cgi-graph.pid - -GRAPHOPTIONS="-u munin -U nginx -S -M 0600 -F 2" -[ -f /etc/sysconfig/munin-cgi-graph ] && . /etc/sysconfig/munin-cgi-graph - -munin_cleanup() { - # Remove the socket if it exists - [ -n "${graphsock}" -a -S "${graphsock}" ] && rm -f ${graphsock} -} - -start() { - munin_cleanup - echo -n $"Starting munin-cgi-graph: " - daemon "${exec} -s ${graphsock} -P ${graphpid} ${GRAPHOPTIONS} -- ${graphprog} >/dev/null" - RETVAL=$? - echo - if [ $RETVAL -eq 0 ]; then - touch $lockfile - fi - return $RETVAL -} - -stop() { - echo -n $"Stopping munin-cgi-graph: " - killproc $graphprog - RETVAL=$? - echo - munin_cleanup - [ $RETVAL -eq 0 ] && rm -f $lockfile - return $RETVAL -} - -restart() { - stop - start -} - -reload() { - restart -} - -rh_status() { - # run checks to determine if the service is running or use generic status - status $graphprog -} - -rh_status_q() { - rh_status &>/dev/null -} - -case "$1" in - start) - rh_status_q && exit 0 - $1 - ;; - stop) - rh_status_q || exit 0 - $1 - ;; - restart) - $1 - ;; - reload) - rh_status_q || exit 7 - $1 - ;; - status) - rh_status - ;; - condrestart|try-restart) - rh_status_q || exit 0 - restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload}" - exit 2 -esac -exit $? diff --git a/munin-cgi-html.rc b/munin-cgi-html.rc deleted file mode 100755 index f27430e..0000000 --- a/munin-cgi-html.rc +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/sh -# -# munin-cgi-html Start and stop Munin FastCGI processes for NGINX -# -# chkconfig: - 80 20 -# description: Spawn Munin FastCGI scripts to be used by NGINX web server - -### BEGIN INIT INFO -# Provides: -# Required-Start: $network $syslog -# Required-Stop: -# Should-Start: -# Should-Stop: -# Default-Start: -# Default-Stop: 0 1 2 6 -# Short-Description: Start and stop Munin FastCGI processes -# Description: Spawn Munin FastCGI scripts to be used by NGINX web server -### END INIT INFO - -# Source function library. -. /etc/rc.d/init.d/functions - -exec=/usr/bin/spawn-fcgi -lockfile=/var/lock/subsys/munin-cgi-html - -htmlprog=/var/www/html/munin/cgi/munin-cgi-html -htmlsock=/var/run/munin/munin-cgi-html.sock -htmlpid=/var/run/munin/munin-cgi-html.pid - -HTMLOPTIONS="-u munin -U nginx -S -M 0600 -F 1" -[ -f /etc/sysconfig/munin-cgi-html ] && . /etc/sysconfig/munin-cgi-html - -munin_cleanup() { - # Remove the socket if it exists - [ -n "${htmlsock}" -a -S "${htmlsock}" ] && rm -f ${htmlsock} -} - -start() { - munin_cleanup - echo -n $"Starting munin-cgi-html: " - daemon "${exec} -s ${htmlsock} -P ${htmlpid} ${HTMLOPTIONS} -- ${htmlprog} >/dev/null" - RETVAL=$? - echo - if [ $RETVAL -eq 0 ]; then - touch $lockfile - fi - return $RETVAL -} - -stop() { - echo -n $"Stopping munin-cgi-html: " - killproc $htmlprog - RETVAL=$? - echo - munin_cleanup - [ $RETVAL -eq 0 ] && rm -f $lockfile - return $RETVAL -} - -restart() { - stop - start -} - -reload() { - restart -} - -rh_status() { - # run checks to determine if the service is running or use generic status - status $htmlprog -} - -rh_status_q() { - rh_status &>/dev/null -} - -case "$1" in - start) - rh_status_q && exit 0 - $1 - ;; - stop) - rh_status_q || exit 0 - $1 - ;; - restart) - $1 - ;; - reload) - rh_status_q || exit 7 - $1 - ;; - status) - rh_status - ;; - condrestart|try-restart) - rh_status_q || exit 0 - restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload}" - exit 2 -esac -exit $? diff --git a/munin-node.rc b/munin-node.rc deleted file mode 100755 index 8bd7257..0000000 --- a/munin-node.rc +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh -# -# /etc/init.d/munin-node -# -# chkconfig: - 90 10 -# description: Network-wide resource monitoring tool (node) -# processname: munin-node -# -### BEGIN INIT INFO -# Provides: munin-node -# Required-Start: $network $syslog -# Required-Stop: -# Default-Stop: 0 1 2 6 -# Short-Description: Network-wide resource monitoring tool (node) -# Description: Munin is a highly flexible and powerful solution used to create -# graphs of virtually everything imaginable throughout your network, -# while still maintaining a rattling ease of installation and -# configuration. -### END INIT INFO - -# Source function library. -. /etc/init.d/functions - -# Source networking configuration. -. /etc/sysconfig/network - -# Check that networking is up. -[ ${NETWORKING} = "no" ] && exit 0 - -# Read config -ASYNCD=no -[ -f /etc/sysconfig/munin-node ] && . /etc/sysconfig/munin-node - -prognode=munin-node -progasync=munin-asyncd -binnode=/usr/sbin/$prognode -binasync=/usr/sbin/$progasync -pidnode=/var/run/munin/$prognode.pid -RETVAL=0 - -start() { - echo -n $"Starting $prognode: " - mkdir -p /var/run/munin 2>/dev/null - chown munin:munin /var/run/munin - restorecon /var/run/munin 2>/dev/null - ${binnode} < /dev/null > /dev/null 2>&1 & - sleep 1 - pkill -0 $prognode - RETVAL=$? - if [ $RETVAL -eq 0 ]; then - echo_success - touch /var/lock/subsys/$prognode - if [ "${ASYNCD}" = "yes" ]; then - echo - echo -n $"Starting $progasync: " - sleep 1 - ${binasync} < /dev/null > /dev/null 2>&1 & - sleep 1 - pkill -0 $progasync - RETVAL=$? - if [ $RETVAL -eq 0 ]; then - echo_success - else - echo_failure - fi - fi - else - echo_failure - fi - echo - return $RETVAL -} - -stop() { - if [ "${ASYNCD}" = "yes" ]; then - echo -n $"Stopping $progasync: " - killproc ${binasync} - echo - fi - echo -n $"Stopping $prognode: " - killproc ${binnode} - RETVAL=$? - echo - [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prognode - return $RETVAL -} - -restart() { - stop - start -} - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart) - restart - ;; - condrestart) - [ -f /var/lock/subsys/$prognode ] && restart - ;; - status) - status -p ${pidnode} ${binnode} - RETVAL=$? - if [ $RETVAL = 0 -a "${ASYNCD}" = "yes" ]; then - status ${binasync} - RETVAL=$? - fi - ;; - *) - echo "Usage: $0 {start|stop|restart|condrestart|status}" - RETVAL=2 -esac - -exit $RETVAL diff --git a/munin.cron.d b/munin.cron.d deleted file mode 100644 index bcc7834..0000000 --- a/munin.cron.d +++ /dev/null @@ -1,7 +0,0 @@ -# Collect Munin data every five minutes, clean up once a day - -MAILTO=root - -*/5 * * * * munin /usr/bin/munin-cron -21 5 * * * root /usr/sbin/tmpwatch --ctime 24h /var/lib/munin/cgi-tmp -25 5 * * * root /usr/sbin/tmpwatch --ctime 30d /var/lib/munin --exclude /var/lib/munin/.ssh --exclude /var/lib/munin/cgi-tmp --exclude /var/lib/munin/plugin-state --exclude /var/lib/munin/rrdcached diff --git a/munin.spec b/munin.spec index 3f4f1a4..89c73d3 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.65 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -11,7 +11,6 @@ Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name} Source10: munin.conf Source11: munin.logrotate Source12: munin.tmpfilesd -Source13: munin.cron.d Source131: munin.timer Source132: munin.service Source15: munin-rrdcached.service @@ -22,15 +21,11 @@ Source18: nginx_cgi_graphs.conf # Node sources Source20: munin-node.conf Source21: munin-node.logrotate -Source22: munin-node.rc Source23: munin-node.service -Source24: munin-asyncd.rc Source25: munin-asyncd.service Source26: munin-node.xml # CGI sources -Source30: munin-cgi-html.rc -Source31: munin-cgi-graph.rc Source32: munin-cgi-graph.service Source33: munin-cgi-graph.socket Source34: munin-cgi-html.service @@ -65,19 +60,14 @@ BuildRequires: perl(Net::SNMP) BuildRequires: perl(strict) BuildRequires: perl(Text::Balanced) BuildRequires: perl(warnings) -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 BuildRequires: perl(Carp) BuildRequires: systemd BuildRequires: firewalld-filesystem -%endif # Munin server requires Requires: %{name}-common = %{version} Requires: %{name}-web-support Requires: logrotate -%if 0%{?rhel} == 6 -Requires: tmpwatch -%endif Requires: rrdtool Requires: /bin/mail Requires: perl(FCGI) @@ -132,23 +122,8 @@ Requires: perl(Net::SSLeay) Requires: perl(Cache::Cache) Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires(pre): shadow-utils -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 Requires: firewalld-filesystem -%{?systemd_requires} -%else -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig -Requires(preun): /sbin/service -%endif BuildArch: noarch -Provides: munin-async = %{version}-%{release} -Obsoletes: munin-async < 2.0.39-4 -Provides: munin-netip-plugins = %{version}-%{release} -Obsoletes: munin-netip-plugins < 2.0.39-4 -Provides: munin-java-plugins = %{version}-%{release} -Obsoletes: munin-java-plugins < 2.0.39-2 -Provides: munin-plugins-java = %{version}-%{release} -Obsoletes: munin-plugins-java < 2.0.45-2 %description node @@ -176,6 +151,7 @@ Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: acl Requires(pre): shadow-utils BuildArch: noarch +%{?systemd_requires} %description common @@ -191,8 +167,6 @@ and node (munin-node) packages. Summary: Ruby plugins for Munin resource monitoring Requires: %{name}-node = %{version} BuildArch: noarch -Provides: munin-ruby-plugins = %{version}-%{release} -Obsoletes: munin-ruby-plugins < 2.0.39-2 %description plugins-ruby @@ -228,20 +202,8 @@ Apache support for Munin resource monitoring. %package cgi Summary: FastCGI startup scripts for Munin resource monitoring Requires: %{name} = %{version} -%if 0%{?rhel} == 6 -Requires: spawn-fcgi -%endif Requires: nginx-filesystem BuildArch: noarch -Provides: munin-fcgi = %{version}-%{release} -Obsoletes: munin-fcgi < 2.0.39-4 -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -%{?systemd_requires} -%else -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig -Requires(preun): /sbin/service -%endif %description cgi @@ -264,7 +226,7 @@ sed -i -e ' s,^DBDIR = \(.*\),DBDIR = $(DESTDIR)%{_sharedstatedir}/munin,; s,^DBDIRNODE = \(.*\),DBDIRNODE = $(DESTDIR)%{_sharedstatedir}/munin,; s,^LOGDIR = \(.*\),LOGDIR = $(DESTDIR)%{_localstatedir}/log/munin,; -%if 0%{?rhel} >= 8 || 0%{?fedora} >= 24 +%if 0%{?rhel} >= 8 || 0%{?fedora} s,^PYTHON := \(.*\),PYTHON := /usr/bin/python3,; %else s,^PYTHON := \(.*\),PYTHON := /usr/bin/python2,; @@ -292,13 +254,11 @@ cp %SOURCE18 . %build -make CONFIG=Makefile.config +make CONFIG=Makefile.config %install -make CONFIG=Makefile.config \ - DESTDIR=%{buildroot} \ - install +make CONFIG=Makefile.config DESTDIR=%{buildroot} install # Remove bundled fonts rm -f %{buildroot}%{_datadir}/munin/DejaVuSans*.ttf @@ -313,16 +273,10 @@ cp %{SOURCE20} %{buildroot}%{_sysconfdir}/munin/ mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d cp %{SOURCE21} %{buildroot}%{_sysconfdir}/logrotate.d/munin-node -# Add startup scripts -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 +# Add services mkdir -p %{buildroot}%{_unitdir} cp %{SOURCE23} %{buildroot}%{_unitdir} cp %{SOURCE25} %{buildroot}%{_unitdir} -%else -mkdir -p %{buildroot}%{_initrddir} -cp %{SOURCE22} %{buildroot}%{_initrddir}/munin-node -cp %{SOURCE24} %{buildroot}%{_initrddir}/munin-asyncd -%endif # Move munin-asyncd to /usr/sbin/ (FHS) mv %{buildroot}%{_datadir}/munin/munin-asyncd %{buildroot}%{_sbindir}/munin-asyncd @@ -337,13 +291,14 @@ cp %{SOURCE200} %{buildroot}%{_datadir}/munin/plugins/ cp %{SOURCE300} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/ cp %{SOURCE301} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/ -# Create plugin state dir +# Create plugin state dirs mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state +mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state/munin +mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state/root -%if 0%{?rhel} >= 7 || 0%{?fedora} > 19 +# firewalld config mkdir -p %{buildroot}/%{_prefix}/lib/firewalld/services cp %{SOURCE26} %{buildroot}/%{_prefix}/lib/firewalld/services/ -%endif # Disable some plugins from autoconfig @@ -364,6 +319,7 @@ done ### Server ### +# Rename server's config directory mv %{buildroot}%{_sysconfdir}/munin/munin-conf.d %{buildroot}%{_sysconfdir}/munin/conf.d # Overwrite default config file @@ -373,29 +329,20 @@ cp %{SOURCE10} %{buildroot}%{_sysconfdir}/munin/ cp %{SOURCE11} %{buildroot}%{_sysconfdir}/logrotate.d/munin # Install tmpfiles config -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 mkdir -p %{buildroot}%{_tmpfilesdir} mkdir -p %{buildroot}%{_rundir}/munin cp %{SOURCE12} %{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif -# Add server cron job -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 +# Add timer and service cp %{SOURCE131} %{buildroot}%{_unitdir} cp %{SOURCE132} %{buildroot}%{_unitdir} -%else -mkdir -p %{buildroot}%{_sysconfdir}/cron.d -cp %{SOURCE13} %{buildroot}%{_sysconfdir}/cron.d/munin -%endif # ssh for asyncd mkdir -p %{buildroot}%{_sharedstatedir}/munin/.ssh # rrdcached -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 mkdir -p %{buildroot}%{_sharedstatedir}/munin/rrdcached cp %{SOURCE15} %{buildroot}%{_unitdir} -%endif # Use UTF-8 in XML templates for i in static/definitions.html templates/partial/head.tmpl; do @@ -405,16 +352,10 @@ done ### CGI ### -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 cp %{SOURCE32} %{buildroot}%{_unitdir} cp %{SOURCE33} %{buildroot}%{_unitdir} cp %{SOURCE34} %{buildroot}%{_unitdir} cp %{SOURCE35} %{buildroot}%{_unitdir} -%else -mkdir -p %{buildroot}%{_initrddir} -cp %{SOURCE30} %{buildroot}%{_initrddir}/munin-cgi-html -cp %{SOURCE31} %{buildroot}%{_initrddir}/munin-cgi-graph -%endif ### Log files (ghost) ### @@ -439,8 +380,7 @@ touch %{buildroot}%{_sysconfdir}/munin/munin-htpasswd %pre getent group munin >/dev/null || groupadd -r munin -getent passwd munin >/dev/null || \ -useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin +getent passwd munin >/dev/null || useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin exit 0 @@ -464,11 +404,7 @@ if [ "$1" = "1" ]; then EOF fi fi -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %systemd_post munin-rrdcached.service munin.timer -if [ -f %{_sysconfdir}/cron.d/munin ]; then - systemctl enable --now munin.timer > /dev/null 2>&1 || : -fi %preun @@ -477,72 +413,46 @@ fi %postun %systemd_postun_with_restart munin-rrdcached.service munin.timer -%endif %pre node getent group munin >/dev/null || groupadd -r munin -getent passwd munin >/dev/null || \ -useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin +getent passwd munin >/dev/null || useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin exit 0 %post node -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 -%systemd_post munin-node.service munin-asyncd.service -%firewalld_reload -%else -/sbin/chkconfig --add munin-node -/sbin/chkconfig --add munin-asyncd -%endif # Create log file [ -f %{_localstatedir}/log/munin-node/munin-node.log ] || \ /usr/bin/install -m 0640 -o root -g adm /dev/null %{_localstatedir}/log/munin-node/munin-node.log -# Only run configure on a new install, not an upgrade. +# Run configure only on a new install, not an upgrade. if [ "$1" = "1" ]; then %{_sbindir}/munin-node-configure --shell 2> /dev/null | sh >& /dev/null || : # Clean up munin mysql_ plugin shmems and semaphores to fix selinux issue if [ -x %{_bindir}/ipcs -a -x %{_bindir}/ipcrm ]; then - for mem in $(%{_bindir}/ipcs --shmems | grep munin | cut --delimiter=' ' --fields=1) - do + for mem in $(%{_bindir}/ipcs --shmems | grep munin | cut --delimiter=' ' --fields=1); do %{_bindir}/ipcrm --shmem-key ${mem} 2>/dev/null || : done - for sem in $(%{_bindir}/ipcs --semaphores | grep munin | cut --delimiter=' ' --fields=1) - do + for sem in $(%{_bindir}/ipcs --semaphores | grep munin | cut --delimiter=' ' --fields=1); do %{_bindir}/ipcrm --semaphore-key ${sem} 2>/dev/null || : done fi fi +%firewalld_reload +%systemd_post munin-node.service munin-asyncd.service %preun node -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %systemd_preun munin-node.service munin-asyncd.service -%else -if [ $1 -eq 0 ]; then - /sbin/service munin-node stop >/dev/null 2>&1 || : - /sbin/chkconfig --del munin-node - /sbin/service munin-asyncd stop >/dev/null 2>&1 || : - /sbin/chkconfig --del munin-asyncd -fi -%endif %postun node -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %systemd_postun_with_restart munin-node.service munin-asyncd.service -%else -if [ $1 -ge 1 ]; then - /sbin/service munin-node condrestart >/dev/null 2>&1 - /sbin/service munin-asyncd condrestart >/dev/null 2>&1 -fi -%endif %pre common getent group munin >/dev/null || groupadd -r munin -getent passwd munin >/dev/null || \ -useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin +getent passwd munin >/dev/null || useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin exit 0 @@ -567,60 +477,33 @@ exit 0 %post cgi -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %systemd_post munin-cgi-graph.socket munin-cgi-graph.service %systemd_post munin-cgi-html.socket munin-cgi-html.service -%else -/sbin/chkconfig --add munin-cgi-html -/sbin/chkconfig --add munin-cgi-graph -%endif %preun cgi -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %systemd_preun munin-cgi-graph.socket munin-cgi-graph.service %systemd_preun munin-cgi-html.socket munin-cgi-html.service -%else -if [ $1 -eq 0 ]; then - /sbin/service munin-cgi-html stop >/dev/null 2>&1 || : - /sbin/chkconfig --del munin-cgi-html - /sbin/service munin-cgi-graph stop >/dev/null 2>&1 || : - /sbin/chkconfig --del munin-cgi-graph -fi -%endif %postun cgi -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %systemd_postun_with_restart munin-cgi-graph.socket munin-cgi-graph.service %systemd_postun_with_restart munin-cgi-html.socket munin-cgi-html.service -%else -if [ $1 -ge 1 ]; then - /sbin/service munin-cgi-html condrestart >/dev/null 2>&1 - /sbin/service munin-cgi-graph condrestart >/dev/null 2>&1 -fi -%endif %files %doc %{_mandir}/man5/munin.conf* %doc %{_mandir}/man8/munin* - %dir %{_sysconfdir}/munin %dir %{_sysconfdir}/munin/conf.d %dir %{_sysconfdir}/munin/templates %dir %{_sysconfdir}/munin/static -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %{_unitdir}/munin.timer %{_unitdir}/munin.service -%else -%config(noreplace) %{_sysconfdir}/cron.d/munin -%endif %config(noreplace) %{_sysconfdir}/logrotate.d/munin %config(noreplace) %{_sysconfdir}/munin/munin.conf %config(noreplace) %{_sysconfdir}/munin/templates/* %config(noreplace) %{_sysconfdir}/munin/static/* - %{_bindir}/munin-check %{_bindir}/munin-cron %dir %{_datadir}/munin @@ -639,10 +522,8 @@ fi %attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-html.log %attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-limits.log %attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-update.log -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %attr(-, munin, munin) %dir %{_sharedstatedir}/munin/rrdcached %{_unitdir}/munin-rrdcached.service -%endif %dir %{_datadir}/munin/plugins %{_datadir}/munin/plugins/munin_stats %config(noreplace) %ghost %{_sysconfdir}/munin/munin-htpasswd @@ -655,21 +536,14 @@ fi %doc %{_mandir}/man1/munin* %doc %{_mandir}/man3/Munin* %doc %{_mandir}/man5/munin-node.conf* - %dir %{_sysconfdir}/munin %dir %{_sysconfdir}/munin/plugin-conf.d %dir %{_sysconfdir}/munin/plugins %config(noreplace) %{_sysconfdir}/logrotate.d/munin-node %config(noreplace) %{_sysconfdir}/munin/munin-node.conf %config(noreplace) %{_sysconfdir}/munin/plugin-conf.d/* -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %{_unitdir}/munin-node.service %{_unitdir}/munin-asyncd.service -%else -%{_initrddir}/munin-node -%{_initrddir}/munin-asyncd -%endif - %{_bindir}/munindoc %{_bindir}/munin-get %{_sbindir}/munin-node @@ -683,11 +557,11 @@ fi %exclude %{_datadir}/munin/plugins/munin_stats %{perl_vendorlib}/Munin/Node %{perl_vendorlib}/Munin/Plugin* -%if 0%{?rhel} >= 7 || 0%{?fedora} > 19 %{_prefix}/lib/firewalld/services/munin-node.xml -%endif %attr(-, munin, munin) %dir %{_sharedstatedir}/munin %attr(-, root, root) %dir %{_sharedstatedir}/munin/plugin-state +%attr(-, munin, root) %dir %{_sharedstatedir}/munin/plugin-state/munin +%attr(-, root, root) %dir %{_sharedstatedir}/munin/plugin-state/root %attr(-, munin, munin) %dir %{_sharedstatedir}/munin/spool %attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh %attr(0750, root, adm) %dir %{_localstatedir}/log/munin-node @@ -698,15 +572,10 @@ fi %license COPYING %doc ChangeLog HACKING.pod perltidyrc %doc httpd_cgi_graphs.conf httpd_cron_graphs.conf nginx_cgi_graphs.conf - %dir %{perl_vendorlib}/Munin %{perl_vendorlib}/Munin/Common -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %{_tmpfilesdir}/%{name}.conf %attr(0775, root, munin) %dir %{_rundir}/munin -%else -%attr(0775, root, munin) %dir %{_localstatedir}/run/munin -%endif %files plugins-ruby @@ -728,18 +597,16 @@ fi %files cgi -%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16 %{_unitdir}/munin-cgi-graph.service %{_unitdir}/munin-cgi-graph.socket %{_unitdir}/munin-cgi-html.service %{_unitdir}/munin-cgi-html.socket -%else -%{_initrddir}/munin-cgi-html -%{_initrddir}/munin-cgi-graph -%endif %changelog +* Mon Dec 14 2020 Kim B. Heino - 2.0.65-2 +- Add plugin-state subdirs for munin and root + * Tue Nov 17 2020 Kim B. Heino - 2.0.65-1 - Upgrade to 2.0.65 - Improve plugin-state directory owners From b768effb7c434b8deea9577933d6db7dcd2e77c3 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 7 Jan 2021 02:10:02 +0000 Subject: [PATCH 25/62] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- munin.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/munin.spec b/munin.spec index 89c73d3..98b9912 100644 --- a/munin.spec +++ b/munin.spec @@ -45,6 +45,7 @@ Source301: munin-node BuildArch: noarch +BuildRequires: make BuildRequires: perl-interpreter >= 5.8 BuildRequires: perl-generators BuildRequires: perl(base) From 81fdcef4b55dfde796c542de815a6bf870ec0ae6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 21:02:06 +0000 Subject: [PATCH 26/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 98b9912..1b46955 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.65 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -605,6 +605,9 @@ exit 0 %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 2.0.65-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Dec 14 2020 Kim B. Heino - 2.0.65-2 - Add plugin-state subdirs for munin and root From 44df45e8fd01fde0474b37e8c9c596e5e942b28e Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Thu, 4 Feb 2021 23:52:23 -0500 Subject: [PATCH 27/62] Upgrade to 2.0.66 https://github.com/munin-monitoring/munin/blob/2.0.66/ChangeLog --- munin.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/munin.spec b/munin.spec index 1b46955..469b1ee 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin -Version: 2.0.65 -Release: 3%{?dist} +Version: 2.0.66 +Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -605,6 +605,9 @@ exit 0 %changelog +* Fri Feb 05 2021 Todd Zullinger - 2.0.66-1 +- Upgrade to 2.0.66 + * Tue Jan 26 2021 Fedora Release Engineering - 2.0.65-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index 481423e..a731d92 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (munin-2.0.65.tar.gz) = 8a0dc93de878e1d502467f4e8589a0af2b809ec7282033534de2fd17b842bbf864d900136516a668a8e3f80e99215062620a503c5f664c799892f77950b4859a +SHA512 (munin-2.0.66.tar.gz) = 3bccb04a3e8d059a223e510a0551b98d6ca1993d5d5e9a67a8f36af1e77f8656513549bed532bdb4d1fd3a3b0ae7a3a4c8165a16ccbb219ab376e7bceb6d38c8 From 72fcc210010f3d0eab019c0a24ebd206ad67a7b5 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Thu, 4 Feb 2021 23:54:58 -0500 Subject: [PATCH 28/62] Verify upstream signature Upstream provides GPG signatures for releases. Verify them in %prep. This is particularly helpful because upstream does not provide the releases via https. The signing key was downloaded from the keyserver network and then exported in a minimal format using the following commands: fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133 gpg --recv-keys $fpr gpg -a --export-options export-minimal --export $fpr >gpgkey-$fpr.asc The resulting key file matches what was added to the Debian munin package by upstream contributor Lars Kruse, as found here: https://salsa.debian.org/debian/munin/-/blob/debian/debian/upstream/signing-key.asc While in the area, align the indentation of the recently added make BR. --- .gitignore | 2 +- ...0846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc | 77 +++++++++++++++++++ munin.spec | 10 ++- sources | 1 + 4 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc diff --git a/.gitignore b/.gitignore index 27c70c2..50d8957 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -munin-*.tar.gz +munin-*.tar.gz* *.src.rpm .build-*.log munin-2*/ diff --git a/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc b/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc new file mode 100644 index 0000000..9d85fc5 --- /dev/null +++ b/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc @@ -0,0 +1,77 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +L7FW3jHudm/cMmq68DXxQA== +=WQyk +-----END PGP PUBLIC KEY BLOCK----- diff --git a/munin.spec b/munin.spec index 469b1ee..93040df 100644 --- a/munin.spec +++ b/munin.spec @@ -6,6 +6,11 @@ License: GPLv2 URL: http://munin-monitoring.org/ Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz +Source1: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz.asc +# fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133 +# gpg --recv-keys $fpr +# gpg -a --export-options export-minimal --export $fpr >gpgkey-$fpr.asc +Source2: gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc # Master sources Source10: munin.conf @@ -45,7 +50,8 @@ Source301: munin-node BuildArch: noarch -BuildRequires: make +BuildRequires: gnupg2 +BuildRequires: make BuildRequires: perl-interpreter >= 5.8 BuildRequires: perl-generators BuildRequires: perl(base) @@ -214,6 +220,7 @@ FastCGI so you don't need this package. %prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %setup -q sed -i -e ' @@ -607,6 +614,7 @@ exit 0 %changelog * Fri Feb 05 2021 Todd Zullinger - 2.0.66-1 - Upgrade to 2.0.66 +- Verify upstream signature * Tue Jan 26 2021 Fedora Release Engineering - 2.0.65-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index a731d92..8c727a2 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (munin-2.0.66.tar.gz) = 3bccb04a3e8d059a223e510a0551b98d6ca1993d5d5e9a67a8f36af1e77f8656513549bed532bdb4d1fd3a3b0ae7a3a4c8165a16ccbb219ab376e7bceb6d38c8 +SHA512 (munin-2.0.66.tar.gz.asc) = b72b3508093b5d918d16f609156e099d8beb0127f671f92d8d775237aede41495c30be43a168f65a2056dec0902e44b4a29bedbca1c6fa53e700e63dec3fc04a From 65bf794da840ed173cde5f190e11b5c147c0a821 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Fri, 5 Feb 2021 15:04:43 +0200 Subject: [PATCH 29/62] spec: cleanup --- munin.spec | 197 +++++++++++++++++++++++++++-------------------------- mysql_ | 65 ++++++++++-------- 2 files changed, 137 insertions(+), 125 deletions(-) diff --git a/munin.spec b/munin.spec index 93040df..b37f040 100644 --- a/munin.spec +++ b/munin.spec @@ -1,101 +1,102 @@ -Name: munin -Version: 2.0.66 -Release: 1%{?dist} -Summary: Network-wide resource monitoring tool -License: GPLv2 -URL: http://munin-monitoring.org/ +Name: munin +Version: 2.0.66 +Release: 1%{?dist} +Summary: Network-wide resource monitoring tool +License: GPLv2 +URL: http://munin-monitoring.org/ -Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz -Source1: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz.asc +Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz +Source1: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz.asc # fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133 # gpg --recv-keys $fpr # gpg -a --export-options export-minimal --export $fpr >gpgkey-$fpr.asc -Source2: gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc +Source2: gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc # Master sources -Source10: munin.conf -Source11: munin.logrotate -Source12: munin.tmpfilesd -Source131: munin.timer -Source132: munin.service -Source15: munin-rrdcached.service -Source16: httpd_cgi_graphs.conf -Source17: httpd_cron_graphs.conf -Source18: nginx_cgi_graphs.conf +Source10: munin.conf +Source11: munin.logrotate +Source12: munin.tmpfilesd +Source13: munin.timer +Source14: munin.service +Source15: munin-rrdcached.service +Source16: httpd_cgi_graphs.conf +Source17: httpd_cron_graphs.conf +Source18: nginx_cgi_graphs.conf # Node sources -Source20: munin-node.conf -Source21: munin-node.logrotate -Source23: munin-node.service -Source25: munin-asyncd.service -Source26: munin-node.xml +Source20: munin-node.conf +Source21: munin-node.logrotate +Source23: munin-node.service +Source25: munin-asyncd.service +Source26: munin-node.xml # CGI sources -Source32: munin-cgi-graph.service -Source33: munin-cgi-graph.socket -Source34: munin-cgi-html.service -Source35: munin-cgi-html.socket +Source32: munin-cgi-graph.service +Source33: munin-cgi-graph.socket +Source34: munin-cgi-html.service +Source35: munin-cgi-html.socket # Patches -Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch -Patch102: postfix-category.patch -Patch103: munin-run_no_systemd.patch +Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch +Patch102: postfix-category.patch +Patch103: munin-run_no_systemd.patch # Use some plugins from munin 3.0 branch -Source200: mysql_ +Source200: mysql_ # Plugin config -Source300: 00-default -Source301: munin-node - -BuildArch: noarch +Source300: 00-default +Source301: munin-node +BuildRequires: firewalld-filesystem BuildRequires: gnupg2 BuildRequires: make -BuildRequires: perl-interpreter >= 5.8 -BuildRequires: perl-generators -BuildRequires: perl(base) +BuildRequires: perl(Carp) BuildRequires: perl(English) BuildRequires: perl(File::Spec) BuildRequires: perl(HTML::Template) -BuildRequires: perl(lib) -BuildRequires: perl(Module::Build) BuildRequires: perl(Log::Log4perl) -BuildRequires: perl(Net::Server) -BuildRequires: perl(Net::SSLeay) +BuildRequires: perl(Module::Build) BuildRequires: perl(Net::SNMP) -BuildRequires: perl(strict) +BuildRequires: perl(Net::SSLeay) +BuildRequires: perl(Net::Server) BuildRequires: perl(Text::Balanced) +BuildRequires: perl(base) +BuildRequires: perl(lib) +BuildRequires: perl(strict) BuildRequires: perl(warnings) -BuildRequires: perl(Carp) +BuildRequires: perl-generators +BuildRequires: perl-interpreter >= 5.8 BuildRequires: systemd -BuildRequires: firewalld-filesystem # Munin server requires Requires: %{name}-common = %{version} Requires: %{name}-web-support -Requires: logrotate -Requires: rrdtool Requires: /bin/mail -Requires: perl(FCGI) +Requires: dejavu-sans-mono-fonts +Requires: logrotate +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl(DateTime) Requires: perl(Digest::MD5) +Requires: perl(FCGI) Requires: perl(File::Copy::Recursive) Requires: perl(Getopt::Long) Requires: perl(HTML::Template) Requires: perl(IO::Socket::INET6) -Requires: perl(Net::Server) Requires: perl(Net::SNMP) Requires: perl(Net::SSLeay) +Requires: perl(Net::Server) Requires: perl(Params::Validate) Requires: perl(RRDs) Requires: perl(Storable) -Requires: perl(Text::Balanced) -Requires: perl(DateTime) -Requires: perl(Time::HiRes) Requires: perl(Taint::Runtime) -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl(Text::Balanced) +Requires: perl(Time::HiRes) +Requires: rrdtool Requires(pre): shadow-utils -Requires: dejavu-sans-mono-fonts +%{?systemd_requires} + +BuildArch: noarch %description @@ -114,23 +115,24 @@ files and installation instructions. %package node -Summary: Network-wide resource monitoring tool (node) -Requires: %{name}-common = %{version} -Requires: procps -Requires: sysstat -Requires: hdparm -Requires: bc -Requires: /usr/bin/which -Requires: conntrack-tools -Requires: perl(Net::CIDR) -Requires: perl(Net::Server) -Requires: perl(IO::Socket::INET6) -Requires: perl(Net::SSLeay) -Requires: perl(Cache::Cache) -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -Requires(pre): shadow-utils -Requires: firewalld-filesystem -BuildArch: noarch +Summary: Network-wide resource monitoring tool (node) +Requires: %{name}-common = %{version} +Requires: /usr/bin/which +Requires: bc +Requires: conntrack-tools +Requires: firewalld-filesystem +Requires: hdparm +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl(Cache::Cache) +Requires: perl(IO::Socket::INET6) +Requires: perl(Net::CIDR) +Requires: perl(Net::SSLeay) +Requires: perl(Net::Server) +Requires: procps +Requires: sysstat +Requires(pre): shadow-utils +%{?systemd_requires} +BuildArch: noarch %description node @@ -153,12 +155,12 @@ SNMP or similar technology. %package common -Summary: Network-wide resource monitoring tool (common files) -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -Requires: acl -Requires(pre): shadow-utils -BuildArch: noarch +Summary: Network-wide resource monitoring tool (common files) +Requires: acl +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires(pre): shadow-utils %{?systemd_requires} +BuildArch: noarch %description common @@ -171,9 +173,9 @@ and node (munin-node) packages. %package plugins-ruby -Summary: Ruby plugins for Munin resource monitoring -Requires: %{name}-node = %{version} -BuildArch: noarch +Summary: Ruby plugins for Munin resource monitoring +Requires: %{name}-node = %{version} +BuildArch: noarch %description plugins-ruby @@ -181,12 +183,12 @@ Additional Ruby plugins for munin-node. %package nginx -Summary: NGINX support for Munin resource monitoring -Requires: %{name} = %{version} -Requires: munin-cgi -Requires: nginx-filesystem -Provides: munin-web-support = %{version}-%{release} -BuildArch: noarch +Summary: NGINX support for Munin resource monitoring +Requires: %{name} = %{version} +Requires: munin-cgi +Requires: nginx-filesystem +Provides: munin-web-support = %{version}-%{release} +BuildArch: noarch %description nginx @@ -194,12 +196,12 @@ NGINX support for Munin resource monitoring. %package apache -Summary: Apache support for Munin resource monitoring -Requires: %{name} = %{version} -Requires: httpd -Requires: mod_fcgid -Provides: munin-web-support = %{version}-%{release} -BuildArch: noarch +Summary: Apache support for Munin resource monitoring +Requires: %{name} = %{version} +Requires: httpd +Requires: mod_fcgid +Provides: munin-web-support = %{version}-%{release} +BuildArch: noarch %description apache @@ -207,10 +209,11 @@ Apache support for Munin resource monitoring. %package cgi -Summary: FastCGI startup scripts for Munin resource monitoring -Requires: %{name} = %{version} -Requires: nginx-filesystem -BuildArch: noarch +Summary: FastCGI startup scripts for Munin resource monitoring +Requires: %{name} = %{version} +Requires: nginx-filesystem +%{?systemd_requires} +BuildArch: noarch %description cgi @@ -342,8 +345,8 @@ mkdir -p %{buildroot}%{_rundir}/munin cp %{SOURCE12} %{buildroot}%{_tmpfilesdir}/%{name}.conf # Add timer and service -cp %{SOURCE131} %{buildroot}%{_unitdir} -cp %{SOURCE132} %{buildroot}%{_unitdir} +cp %{SOURCE13} %{buildroot}%{_unitdir} +cp %{SOURCE14} %{buildroot}%{_unitdir} # ssh for asyncd mkdir -p %{buildroot}%{_sharedstatedir}/munin/.ssh diff --git a/mysql_ b/mysql_ index b22cf47..945ce8c 100755 --- a/mysql_ +++ b/mysql_ @@ -96,7 +96,7 @@ For example: =item Cache::Cache The plugin uses shared memory to cache the statistics gathered from -MySQL. This ensures minimal inpact on the MySQL server. +MySQL. This ensures minimal impact on the MySQL server. =item DBD::mysql @@ -173,21 +173,26 @@ use warnings; use strict; use utf8; -use DBI; +use English qw( -no_match_vars ); use File::Basename; -use Math::BigInt; # Used to append "=> lib 'GMP'" here, but GMP caused - # segfault on some occasions. Removed as I don't - # think the tiny performance boost is worth the - # debugging effort. use Storable qw(nfreeze thaw); use Munin::Plugin; my $has_cache; +my $has_dbi; +my $has_math_bigint; BEGIN { - eval 'require Cache::SharedMemoryCache'; - $has_cache = $@ ? 0 : 1; + eval { require Cache::SharedMemoryCache; }; + $has_cache = $EVAL_ERROR ? 0 : 1; + eval { require DBI; DBI->import(); }; + $has_dbi = $EVAL_ERROR ? 0 : 1; + # Used to append "=> lib 'GMP'" here, but GMP caused segfault on some + # occasions. Removed as I don't think the tiny performance boost is + # worth the debugging effort. + eval { require Math::BigInt; Math::BigInt->import(); }; + $has_math_bigint = $EVAL_ERROR ? 0 : 1; } @@ -1658,6 +1663,12 @@ sub main { die "Missing dependency Cache::Cache" unless $has_cache || $command eq 'autoconf'; + die "Missing dependency DBI" + unless $has_dbi || $command eq 'autoconf'; + + die "Missing dependency Math::BigInt" + unless $has_math_bigint || $command eq 'autoconf'; + return $command_map{$command}->($graph); } @@ -1675,6 +1686,14 @@ sub autoconf { print "no (Missing dependency Cache::Cache)\n"; return 0; } + unless ($has_dbi) { + print "no (Missing dependency DBI)\n"; + return 0; + } + unless ($has_math_bigint) { + print "no (Missing dependency Math::BigInt)\n"; + return 0; + } eval { db_connect(); @@ -1716,7 +1735,7 @@ sub suggest { sub config { my $graph_name = shift; - # In MySQL 5.1 (and probably erlier versions as well) status + # In MySQL 5.1 (and probably earlier versions as well) status # variables are unique when looking at the last 19 characters. # # SELECT RIGHT(variable_name, 19), COUNT(*) @@ -1765,7 +1784,6 @@ sub config { } print "graph_category db\n"; - my $i = 0; for my $ds (@{$graph->{data_sources}}) { my %ds_spec = ( %{$defaults{data_source_attrs}}, @@ -1773,23 +1791,14 @@ sub config { %$ds, ); while (my ($k, $v) = each %ds_spec) { - # 'name' is only used internally in this script, not - # understood by munin. - next if ($k eq 'name'); + # 'name' is only used internally in this script, not + # understood by munin. + next if ($k eq 'name'); - # AREASTACK is part of munin as of version 1.3.3 (not - # released yet). Until then ... - if ($k eq 'draw' && $v eq 'AREASTACK') { - printf("%s.%s %s\n", - clean_fieldname($ds->{name}), $k, ($i ? 'STACK' : 'AREA')); - } - else { - # support simple pattern substitution in cdef ("%s" -> fieldname) - my $fieldname = clean_fieldname($ds->{name}); - $v =~ s/%s/$fieldname/g if (($k eq "cdef") and ($v =~ /%s/)); - printf("%s.%s %s\n", $fieldname, $k, $v); - } - $i++; + # support simple pattern substitution in cdef ("%s" -> fieldname) + my $fieldname = clean_fieldname($ds->{name}); + $v =~ s/%s/$fieldname/g if (($k eq "cdef") and ($v =~ /%s/)); + printf("%s.%s %s\n", $fieldname, $k, $v); } print_thresholds(clean_fieldname($ds->{name})); } @@ -1955,7 +1964,7 @@ sub update_variables { $sth->finish(); } - $data->{'mysql_base_memory'} = $data->{'key_buffer_size'} + $data->{'mysql_base_memory'} = $data->{'key_buffer_size'} + $data->{'query_cache_size'} + $data->{'innodb_buffer_pool_size'} + ( $data->{'innodb_additional_mem_pool_size'} || 0 ) @@ -2465,7 +2474,7 @@ sub parse_buffer_pool_and_memory { return 1; }; # mariadb-5.5 - m/\GInternal hash tables \(constant factor \+ variable factor\)\n\s*Adaptive hash index\s*(\d+)\s*\((\d+) \+ (\d+)\) *\n\s+Page hash +(\d+) +\(buffer pool \d+ only\) *\n\s+Dictionary cache\s*(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+File system\s+(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+Lock system\s+(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+Recovery system\s*(\d+)\s+\((\d+) \+ (\d+)\) *\n/gc + m/\GInternal hash tables \(constant factor \+ variable factor\)\n\s*Adaptive hash index\s*(\d+)\s*\((\d+) \+ (\d+)\) *\n\s+Page hash +(\d+) +\(buffer pool \d+ only\) *\n\s+Dictionary cache\s*(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+File system\s+(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+Lock system\s+(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+Recovery system\s*(\d+)\s+\((\d+) \+ (\d+)\) *\n/gc && do { $data->{ib_bpool_internal_adaptive_hash_size_total} = $1; $data->{ib_bpool_internal_adaptive_hash_size_const} = $2; From 56d48745950d5cd0a266de36c788057b31d99ccf Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Wed, 24 Feb 2021 15:14:13 +0200 Subject: [PATCH 30/62] 2.0.67 --- munin.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/munin.spec b/munin.spec index b37f040..f5d7e0c 100644 --- a/munin.spec +++ b/munin.spec @@ -1,5 +1,5 @@ Name: munin -Version: 2.0.66 +Version: 2.0.67 Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 @@ -615,6 +615,9 @@ exit 0 %changelog +* Wed Feb 24 2021 Kim B. Heino - 2.0.67-1 +- Upgrade to 2.0.67 + * Fri Feb 05 2021 Todd Zullinger - 2.0.66-1 - Upgrade to 2.0.66 - Verify upstream signature diff --git a/sources b/sources index 8c727a2..1383b5f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (munin-2.0.66.tar.gz) = 3bccb04a3e8d059a223e510a0551b98d6ca1993d5d5e9a67a8f36af1e77f8656513549bed532bdb4d1fd3a3b0ae7a3a4c8165a16ccbb219ab376e7bceb6d38c8 -SHA512 (munin-2.0.66.tar.gz.asc) = b72b3508093b5d918d16f609156e099d8beb0127f671f92d8d775237aede41495c30be43a168f65a2056dec0902e44b4a29bedbca1c6fa53e700e63dec3fc04a +SHA512 (munin-2.0.67.tar.gz) = 1f3766b52b99f625ff9cf4d3748a8935abed32b129d2a4714e37118e0116019bee3c1fd0e95da416fb3e39c9be9df17d11bca7f5a835be65ac5147e8b9858417 +SHA512 (munin-2.0.67.tar.gz.asc) = 997b54924640df6b590d5d7feecfced69563dad42e9256d1234965916d0360844931dd5b96b4c4268d726c5ee0b4e6f660753a13458a3427f1d07aabcea0c50a From 6fe6c7fc63c691a7482a32859bf585da448fdd50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:13:23 +0100 Subject: [PATCH 31/62] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- munin.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index f5d7e0c..30aae98 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.67 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -615,6 +615,10 @@ exit 0 %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.0.67-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Wed Feb 24 2021 Kim B. Heino - 2.0.67-1 - Upgrade to 2.0.67 From 78b3d831734740d7595b654ec0c4ad23f15f9dac Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Sun, 23 May 2021 01:38:20 +0200 Subject: [PATCH 32/62] Perl 5.34 rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 30aae98..bfafbd7 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.67 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -615,6 +615,9 @@ exit 0 %changelog +* Sat May 22 2021 Jitka Plesnikova - 2.0.67-3 +- Perl 5.34 rebuild + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.0.67-2 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. From ab0187d28fa5bc16b3968740e4c800ad94285467 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 22 Jul 2021 15:37:22 +0000 Subject: [PATCH 33/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index bfafbd7..6c9b46d 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.67 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -615,6 +615,9 @@ exit 0 %changelog +* Thu Jul 22 2021 Fedora Release Engineering - 2.0.67-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Sat May 22 2021 Jitka Plesnikova - 2.0.67-3 - Perl 5.34 rebuild From 9ef93a8031e5f725690d1a4a76f9aff0203e41e5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 20:40:28 +0000 Subject: [PATCH 34/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 6c9b46d..9d9197c 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.67 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -615,6 +615,9 @@ exit 0 %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 2.0.67-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Thu Jul 22 2021 Fedora Release Engineering - 2.0.67-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 29952713f76f338af79d344209caf890d38f2926 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Wed, 1 Jun 2022 02:16:58 +0200 Subject: [PATCH 35/62] Perl 5.36 rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 9d9197c..269fa75 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.67 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -615,6 +615,9 @@ exit 0 %changelog +* Wed Jun 01 2022 Jitka Plesnikova - 2.0.67-6 +- Perl 5.36 rebuild + * Thu Jan 20 2022 Fedora Release Engineering - 2.0.67-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 82a717e5710e98d6f368064670e254632e642fb9 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Wed, 20 Jul 2022 14:39:20 +0300 Subject: [PATCH 36/62] 2.0.69, use /etc/munin/munin-conf.d instead of /etc/munin/conf.d as in upstream --- 00-default | 17 ++++++++++++++++ munin.conf | 6 +++--- munin.spec | 59 +++++++++++++++++++++++++++++++++++++++++++----------- mysql_ | 9 --------- sources | 4 ++-- 5 files changed, 69 insertions(+), 26 deletions(-) diff --git a/00-default b/00-default index 1811689..55df6fb 100644 --- a/00-default +++ b/00-default @@ -12,6 +12,9 @@ # individual plugins to find out which variables they # care about. +[amavis_multi] +user amavis + [bind9_rndc] user root env.rndc /usr/sbin/rndc @@ -25,6 +28,11 @@ user root env.exclude none unknown binfmt_misc cgroup_root debugfs devpts devtmpfs fuse.gvfs-fuse-daemon iso9660 ramfs romfs rootfs rpc_pipefs squashfs udf env.exclude_re ^/run/user/ ^/sys/ ^/var/lib/docker ^/var/lib/containers/storage/overlay ^/var/lib/mock/ ^/media/ ^/mnt$ +[dhcp-pool] +user root +env.conffile /etc/dhcp/dhcpd.conf +env.leasefile /var/lib/dhcpd/dhcpd.leases + [exim*] group mail @@ -37,6 +45,9 @@ user root [if_*] user root +[knot] +user root + [load] env.load_warning 100 @@ -59,6 +70,9 @@ env.seconds_behind_master_critical 86400 env.wsrep_flow_control_paused_ns_warning 200000000 env.wsrep_flow_control_paused_ns_critical 10000000000 +[nsd_requests] +user root + [postfix*] user root env.logfile maillog @@ -69,6 +83,9 @@ user postgres env.PGUSER postgres env.PGPORT 5432 +[raid2] +user root + [sendmail*] user root env.mspqueue /var/spool/clientmqueue diff --git a/munin.conf b/munin.conf index 5d70186..ee4aa79 100644 --- a/munin.conf +++ b/munin.conf @@ -1,7 +1,7 @@ ########################################################################### # # # Please don't edit this example config file. Create and edit # -# file /etc/munin/conf.d/local.conf instead. # +# file /etc/munin/munin-conf.d/local.conf instead. # # # # You must also install munin-nginx or munin-apache sub-package. See # # /usr/share/doc/munin-*/*.conf for example nginx/apache config files # @@ -17,7 +17,7 @@ #dbdir /var/lib/munin #htmldir /var/www/html/munin #logdir /var/log/munin -#rundir /var/run/munin +#rundir /run/munin # Where to look for the HTML templates # @@ -33,7 +33,7 @@ #cgitmpdir /var/lib/munin/cgi-tmp # (Exactly one) directory to include all files from. -includedir /etc/munin/conf.d +includedir /etc/munin/munin-conf.d # You can choose the time reference for "DERIVE" like graphs, and show # "per minute", "per hour" values instead of the default "per second" diff --git a/munin.spec b/munin.spec index 269fa75..a245caf 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin -Version: 2.0.67 -Release: 6%{?dist} +Version: 2.0.69 +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -9,7 +9,7 @@ Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{ Source1: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz.asc # fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133 # gpg --recv-keys $fpr -# gpg -a --export-options export-minimal --export $fpr >gpgkey-$fpr.asc +# gpg -a --export-options export-minimal --export $fpr > gpgkey-$fpr.asc Source2: gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc # Master sources @@ -41,7 +41,7 @@ Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch Patch102: postfix-category.patch Patch103: munin-run_no_systemd.patch -# Use some plugins from munin 3.0 branch +# Use some plugins from Munin 3.0 branch / Munin contrib Source200: mysql_ # Plugin config @@ -98,6 +98,9 @@ Requires(pre): shadow-utils BuildArch: noarch +# Some plugins are php or python3, remove them from autogenerated requires +%global __requires_exclude ^/usr/bin/(php|python3)$ + %description Munin is a highly flexible and powerful solution used to create graphs of @@ -153,6 +156,8 @@ relay information from other devices in your network that can't run Munin, such as a switch or a server running another operating system, by using SNMP or similar technology. +This package includes some extra plugins from Munin contrib plugins. + %package common Summary: Network-wide resource monitoring tool (common files) @@ -295,7 +300,7 @@ mv %{buildroot}%{_datadir}/munin/munin-asyncd %{buildroot}%{_sbindir}/munin-asyn # Remove the Sybase plugin for now, as they need perl modules that are not available rm -f %{buildroot}%{_datadir}/munin/plugins/sybase_space -# Update some plugins from 3.0 branch +# Update some plugins from 3.0 branch / contrib cp %{SOURCE200} %{buildroot}%{_datadir}/munin/plugins/ # Install plugin config @@ -330,8 +335,8 @@ done ### Server ### -# Rename server's config directory -mv %{buildroot}%{_sysconfdir}/munin/munin-conf.d %{buildroot}%{_sysconfdir}/munin/conf.d +# Create compatibility symlink ghost +ln -s munin-conf.d %{buildroot}%{_sysconfdir}/munin/conf.d # Overwrite default config file cp %{SOURCE10} %{buildroot}%{_sysconfdir}/munin/ @@ -405,8 +410,8 @@ exit 0 /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-update.log # On new install only: create simple localhost config. if [ "$1" = "1" ]; then - if [ ! -f %{_sysconfdir}/munin/conf.d/local.conf ]; then - cat - >> %{_sysconfdir}/munin/conf.d/local.conf <> %{_sysconfdir}/munin/munin-conf.d/local.conf </dev/null)" ]; then + mv -f %{_sysconfdir}/munin/conf.d/* %{_sysconfdir}/munin/munin-conf.d/ +fi +exit 0 + + +%triggerpostun -- munin < 2.0.69-2 +if [ -d %{_sysconfdir}/munin/conf.d ]; then + if ! rmdir %{_sysconfdir}/munin/conf.d 2>/dev/null; then + mv -f %{_sysconfdir}/munin/conf.d %{_sysconfdir}/munin/conf.d.rpmold + fi +fi +if [ -f %{_sysconfdir}/munin/munin.conf.rpmnew ]; then + if [ -n "$(ls %{_sysconfdir}/munin/munin-conf.d/* 2>/dev/null)" ]; then + ln -sf munin-conf.d %{_sysconfdir}/munin/conf.d + fi +fi +exit 0 %pre node @@ -506,11 +533,12 @@ exit 0 %doc %{_mandir}/man5/munin.conf* %doc %{_mandir}/man8/munin* %dir %{_sysconfdir}/munin -%dir %{_sysconfdir}/munin/conf.d +%dir %{_sysconfdir}/munin/munin-conf.d %dir %{_sysconfdir}/munin/templates %dir %{_sysconfdir}/munin/static %{_unitdir}/munin.timer %{_unitdir}/munin.service +%ghost %{_sysconfdir}/munin/conf.d %config(noreplace) %{_sysconfdir}/logrotate.d/munin %config(noreplace) %{_sysconfdir}/munin/munin.conf %config(noreplace) %{_sysconfdir}/munin/templates/* @@ -615,6 +643,13 @@ exit 0 %changelog +* Wed Jul 20 2022 Kim B. Heino - 2.0.69-2 +- Replace /etc/munin/conf.d with upstream default /etc/munin/munin-conf.d +- Add compatibility symlink /etc/munin/conf.d if necessary + +* Wed Jul 20 2022 Kim B. Heino - 2.0.69-1 +- Upgrade to 2.0.69 + * Wed Jun 01 2022 Jitka Plesnikova - 2.0.67-6 - Perl 5.36 rebuild diff --git a/mysql_ b/mysql_ index 945ce8c..3458832 100755 --- a/mysql_ +++ b/mysql_ @@ -983,9 +983,6 @@ $graphs{innodb_semaphores} = { }, }, data_sources => [ - {name => 'ib_spin_rounds', label => 'Spin Rounds'}, - {name => 'ib_spin_waits', label => 'Spin Waits'}, - {name => 'ib_os_waits', label => 'OS Waits'}, {name => 'ib_rw_shared_rounds', label => 'RW/S Rounds'}, {name => 'ib_rw_shared_waits', label => 'RW/S Waits'}, {name => 'ib_rw_shared_os_waits', label => 'RW/S OS Waits'}, @@ -2301,12 +2298,6 @@ sub parse_row_operations { sub parse_semaphores { parse_section( sub { - m/\GMutex spin waits (\d+), rounds (\d+), OS waits (\d+)\n/gc && do { - $data->{ib_spin_waits} = $1; - $data->{ib_spin_rounds} = $2; - $data->{ib_os_waits} = $3; - return 1; - }; m/\GRW-shared spins (\d+), rounds (\d+), OS waits (\d+)\n/gc && do { $data->{ib_rw_shared_waits} = $1; $data->{ib_rw_shared_rounds} = $2; diff --git a/sources b/sources index 1383b5f..d8e3914 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (munin-2.0.67.tar.gz) = 1f3766b52b99f625ff9cf4d3748a8935abed32b129d2a4714e37118e0116019bee3c1fd0e95da416fb3e39c9be9df17d11bca7f5a835be65ac5147e8b9858417 -SHA512 (munin-2.0.67.tar.gz.asc) = 997b54924640df6b590d5d7feecfced69563dad42e9256d1234965916d0360844931dd5b96b4c4268d726c5ee0b4e6f660753a13458a3427f1d07aabcea0c50a +SHA512 (munin-2.0.69.tar.gz) = e79c446d04df97d77b36972203667163ee662e0894e264c5dd84bd9402df780c5e67b69314bfdaddd87f102c4cdedb8fa7d2c07aeea46a8e4e9f08e50a08408f +SHA512 (munin-2.0.69.tar.gz.asc) = 50500e4a509f6cf4320bfcad3763601a6eb538260ff791c1be8e1bcb6497d5067c0bcba4ea8a4de21aef0d693d7a5956576fbc3ea58521aa9708cf30f8d75321 From 8136ab9a892ad635ec5a3887efc9bf16e8e5a02b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 00:00:03 +0000 Subject: [PATCH 37/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index a245caf..0e6a423 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.69 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -643,6 +643,9 @@ exit 0 %changelog +* Fri Jul 22 2022 Fedora Release Engineering - 2.0.69-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jul 20 2022 Kim B. Heino - 2.0.69-2 - Replace /etc/munin/conf.d with upstream default /etc/munin/munin-conf.d - Add compatibility symlink /etc/munin/conf.d if necessary From 81c32c8bf7697381d7db37fc62e40e4230256f77 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Sat, 23 Jul 2022 21:33:55 +0300 Subject: [PATCH 38/62] Replace /var/lib/munin/plugin-state with upstream default /var/lib/munin-node/plugin-state --- munin.spec | 33 ++++++++++++++++++++++++--------- munin.tmpfilesd | 1 - 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/munin.spec b/munin.spec index 0e6a423..6391920 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.69 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -134,6 +134,8 @@ Requires: perl(Net::Server) Requires: procps Requires: sysstat Requires(pre): shadow-utils +Requires(pre): %{_sbindir}/semanage +Requires(pre): %{_sbindir}/restorecon %{?systemd_requires} BuildArch: noarch @@ -240,7 +242,7 @@ sed -i -e ' s,^HTMLDIR = \(.*\),HTMLDIR = $(DESTDIR)%{_localstatedir}/www/html/munin,; s,^CGIDIR = \(.*\),CGIDIR = $(HTMLDIR)/cgi,; s,^DBDIR = \(.*\),DBDIR = $(DESTDIR)%{_sharedstatedir}/munin,; - s,^DBDIRNODE = \(.*\),DBDIRNODE = $(DESTDIR)%{_sharedstatedir}/munin,; + s,^DBDIRNODE = \(.*\),DBDIRNODE = $(DESTDIR)%{_sharedstatedir}/munin-node,; s,^LOGDIR = \(.*\),LOGDIR = $(DESTDIR)%{_localstatedir}/log/munin,; %if 0%{?rhel} >= 8 || 0%{?fedora} s,^PYTHON := \(.*\),PYTHON := /usr/bin/python3,; @@ -308,9 +310,8 @@ cp %{SOURCE300} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/ cp %{SOURCE301} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/ # Create plugin state dirs -mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state -mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state/munin -mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state/root +mkdir -p %{buildroot}%{_sharedstatedir}/munin-node/plugin-state/munin +mkdir -p %{buildroot}%{_sharedstatedir}/munin-node/plugin-state/root # firewalld config mkdir -p %{buildroot}/%{_prefix}/lib/firewalld/services @@ -463,8 +464,13 @@ exit 0 # Create log file [ -f %{_localstatedir}/log/munin-node/munin-node.log ] || \ /usr/bin/install -m 0640 -o root -g adm /dev/null %{_localstatedir}/log/munin-node/munin-node.log -# Run configure only on a new install, not an upgrade. +# Fix plugin-state SELinux +%{_sbindir}/semanage fcontext -a -e %{_sharedstatedir}/munin %{_sharedstatedir}/munin-node 2> /dev/null || : +%{_sbindir}/semanage fcontext -a -e %{_sharedstatedir}/munin/plugin-state %{_sharedstatedir}/munin-node/plugin-state 2> /dev/null || : +%{_sbindir}/restorecon -R %{_sharedstatedir}/munin-node || : +# Is this new install, not upgrade? if [ "$1" = "1" ]; then + # Run configure %{_sbindir}/munin-node-configure --shell 2> /dev/null | sh >& /dev/null || : # Clean up munin mysql_ plugin shmems and semaphores to fix selinux issue if [ -x %{_bindir}/ipcs -a -x %{_bindir}/ipcrm ]; then @@ -485,6 +491,11 @@ fi %postun node +# Is this uninstall, not upgrade? +if [ "$1" = "0" ]; then + %{_sbindir}/semanage fcontext -a -d %{_sharedstatedir}/munin-node/plugin-state 2> /dev/null || : + %{_sbindir}/semanage fcontext -a -d %{_sharedstatedir}/munin-node 2> /dev/null || : +fi %systemd_postun_with_restart munin-node.service munin-asyncd.service @@ -598,9 +609,10 @@ exit 0 %{perl_vendorlib}/Munin/Plugin* %{_prefix}/lib/firewalld/services/munin-node.xml %attr(-, munin, munin) %dir %{_sharedstatedir}/munin -%attr(-, root, root) %dir %{_sharedstatedir}/munin/plugin-state -%attr(-, munin, root) %dir %{_sharedstatedir}/munin/plugin-state/munin -%attr(-, root, root) %dir %{_sharedstatedir}/munin/plugin-state/root +%attr(-, root, root) %dir %{_sharedstatedir}/munin-node +%attr(-, root, root) %dir %{_sharedstatedir}/munin-node/plugin-state +%attr(-, munin, root) %dir %{_sharedstatedir}/munin-node/plugin-state/munin +%attr(-, root, root) %dir %{_sharedstatedir}/munin-node/plugin-state/root %attr(-, munin, munin) %dir %{_sharedstatedir}/munin/spool %attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh %attr(0750, root, adm) %dir %{_localstatedir}/log/munin-node @@ -643,6 +655,9 @@ exit 0 %changelog +* Sat Jul 23 2022 Kim B. Heino - 2.0.69-4 +- Replace /var/lib/munin/plugin-state with upstream default /var/lib/munin-node/plugin-state + * Fri Jul 22 2022 Fedora Release Engineering - 2.0.69-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/munin.tmpfilesd b/munin.tmpfilesd index 68ba12f..7d62768 100644 --- a/munin.tmpfilesd +++ b/munin.tmpfilesd @@ -6,7 +6,6 @@ d /run/munin 0775 root munin - x /var/lib/munin/.ssh x /var/lib/munin/cgi-tmp -x /var/lib/munin/plugin-state x /var/lib/munin/rrdcached e /var/lib/munin/cgi-tmp/* - - - 1d From 771506eab0cf08a7d96bd77924bf539ddd949ec3 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Sun, 24 Jul 2022 15:26:24 +0300 Subject: [PATCH 39/62] spec: bump release for rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 6391920..e51ec98 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.69 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -655,6 +655,9 @@ exit 0 %changelog +* Sun Jul 24 2022 Kim B. Heino - 2.0.69-5 +- Bump release for rebuild + * Sat Jul 23 2022 Kim B. Heino - 2.0.69-4 - Replace /var/lib/munin/plugin-state with upstream default /var/lib/munin-node/plugin-state From 6c979bfa452d5d7efed288e9f0701c94c6308e73 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Fri, 13 Jan 2023 09:49:18 +0100 Subject: [PATCH 40/62] Remove perl(MODULE_COMPAT), it will be replaced by generators --- munin.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/munin.spec b/munin.spec index e51ec98..307cc47 100644 --- a/munin.spec +++ b/munin.spec @@ -75,7 +75,6 @@ Requires: %{name}-web-support Requires: /bin/mail Requires: dejavu-sans-mono-fonts Requires: logrotate -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: perl(DateTime) Requires: perl(Digest::MD5) Requires: perl(FCGI) @@ -125,7 +124,6 @@ Requires: bc Requires: conntrack-tools Requires: firewalld-filesystem Requires: hdparm -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: perl(Cache::Cache) Requires: perl(IO::Socket::INET6) Requires: perl(Net::CIDR) @@ -164,7 +162,6 @@ This package includes some extra plugins from Munin contrib plugins. %package common Summary: Network-wide resource monitoring tool (common files) Requires: acl -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires(pre): shadow-utils %{?systemd_requires} BuildArch: noarch From 56e001ab976618752ff37273bb05984857a9be7f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 21:00:18 +0000 Subject: [PATCH 41/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 307cc47..4ac57b5 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.69 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -652,6 +652,9 @@ exit 0 %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 2.0.69-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sun Jul 24 2022 Kim B. Heino - 2.0.69-5 - Bump release for rebuild From bb95f3a6163e31b0509eabee321a5f225d4b7082 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Tue, 7 Mar 2023 11:33:50 +0200 Subject: [PATCH 42/62] 00-default: add config for ipmi_* plugins --- 00-default | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/00-default b/00-default index 55df6fb..2f83c3b 100644 --- a/00-default +++ b/00-default @@ -45,6 +45,10 @@ user root [if_*] user root +[ipmi_*] +user root +timeout 20 + [knot] user root From 3d7e775bef68b338e5275fee44d6a0c4fb0f2a51 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Tue, 7 Mar 2023 11:34:16 +0200 Subject: [PATCH 43/62] *.service: cleanup --- munin-asyncd.service | 4 +++- munin-cgi-graph.service | 1 - munin-cgi-html.service | 1 - munin-node.service | 3 ++- munin.service | 5 ++++- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/munin-asyncd.service b/munin-asyncd.service index c730e8b..00ced51 100644 --- a/munin-asyncd.service +++ b/munin-asyncd.service @@ -2,7 +2,9 @@ Description=Munin Node - Asynchronous Proxy Documentation=http://guide.munin-monitoring.org/en/latest/node/async.html Requires=munin-node.service -After=network.target network-online.target munin-node.service +After=network.target +After=network-online.target +After=munin-node.service [Service] Type=notify diff --git a/munin-cgi-graph.service b/munin-cgi-graph.service index b089451..36ab23f 100644 --- a/munin-cgi-graph.service +++ b/munin-cgi-graph.service @@ -1,6 +1,5 @@ [Unit] Description=Munin FastCGI Graphs Service -After=network.target Requires=munin-cgi-graph.socket [Service] diff --git a/munin-cgi-html.service b/munin-cgi-html.service index 95be1d8..9859960 100644 --- a/munin-cgi-html.service +++ b/munin-cgi-html.service @@ -1,6 +1,5 @@ [Unit] Description=Munin FastCGI HTML Pages Service -After=network.target Requires=munin-cgi-html.socket [Service] diff --git a/munin-node.service b/munin-node.service index e84725e..115856a 100644 --- a/munin-node.service +++ b/munin-node.service @@ -1,7 +1,8 @@ [Unit] Description=Munin Node Documentation=man:munin-node(1) http://guide.munin-monitoring.org/en/latest/node/index.html -After=network.target network-online.target +After=network.target +After=network-online.target PartOf=munin-asyncd.service [Service] diff --git a/munin.service b/munin.service index b9586f6..75be8bb 100644 --- a/munin.service +++ b/munin.service @@ -1,7 +1,10 @@ [Unit] Description=Munin server to collect data from nodes Documentation=man:munin-cron(8) -After=network.target network-online.target munin-node.service +After=network.target +After=network-online.target +After=munin-node.service +After=munin-rrdcached.service [Service] User=munin From e9fabf86e9c142cd19c9ad844afbd90b67230a91 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Tue, 7 Mar 2023 11:43:06 +0200 Subject: [PATCH 44/62] spec: update --- munin.spec | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/munin.spec b/munin.spec index 4ac57b5..c0fdab9 100644 --- a/munin.spec +++ b/munin.spec @@ -1,12 +1,12 @@ Name: munin -Version: 2.0.69 -Release: 6%{?dist} +Version: 2.0.72 +Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ -Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz -Source1: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz.asc +Source0: https://sourceforge.net/projects/munin/files/stable/%{version}/%{name}-%{version}.tar.gz +Source1: https://sourceforge.net/projects/munin/files/stable/%{version}/%{name}-%{version}.tar.gz.asc # fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133 # gpg --recv-keys $fpr # gpg -a --export-options export-minimal --export $fpr > gpgkey-$fpr.asc @@ -124,13 +124,13 @@ Requires: bc Requires: conntrack-tools Requires: firewalld-filesystem Requires: hdparm +Requires: jo Requires: perl(Cache::Cache) Requires: perl(IO::Socket::INET6) Requires: perl(Net::CIDR) Requires: perl(Net::SSLeay) Requires: perl(Net::Server) -Requires: procps -Requires: sysstat +Requires: procps-ng Requires(pre): shadow-utils Requires(pre): %{_sbindir}/semanage Requires(pre): %{_sbindir}/restorecon @@ -192,6 +192,7 @@ Requires: %{name} = %{version} Requires: munin-cgi Requires: nginx-filesystem Provides: munin-web-support = %{version}-%{release} +Conflicts: munin-apache BuildArch: noarch @@ -205,6 +206,7 @@ Requires: %{name} = %{version} Requires: httpd Requires: mod_fcgid Provides: munin-web-support = %{version}-%{release} +Conflicts: munin-nginx BuildArch: noarch @@ -259,6 +261,8 @@ sed -i -e ' s,^JC := \(.*\),JC := /bin/false,; ' Makefile.config +sed -i -e 's,@@DBDIR@@,%{_sharedstatedir}/munin-node,g' node/_bin/munin-get.in + %patch101 -p1 %patch102 -p1 %patch103 -p1 @@ -310,6 +314,9 @@ cp %{SOURCE301} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/ mkdir -p %{buildroot}%{_sharedstatedir}/munin-node/plugin-state/munin mkdir -p %{buildroot}%{_sharedstatedir}/munin-node/plugin-state/root +# munin-get plugin directory +mkdir -p %{buildroot}%{_sharedstatedir}/munin-node/munin-get-plugins + # firewalld config mkdir -p %{buildroot}/%{_prefix}/lib/firewalld/services cp %{SOURCE26} %{buildroot}/%{_prefix}/lib/firewalld/services/ @@ -461,9 +468,10 @@ exit 0 # Create log file [ -f %{_localstatedir}/log/munin-node/munin-node.log ] || \ /usr/bin/install -m 0640 -o root -g adm /dev/null %{_localstatedir}/log/munin-node/munin-node.log -# Fix plugin-state SELinux -%{_sbindir}/semanage fcontext -a -e %{_sharedstatedir}/munin %{_sharedstatedir}/munin-node 2> /dev/null || : -%{_sbindir}/semanage fcontext -a -e %{_sharedstatedir}/munin/plugin-state %{_sharedstatedir}/munin-node/plugin-state 2> /dev/null || : +# Fix munin-node/plugin-state and munin-node/munin-get-plugins SELinux +%{_sbindir}/semanage fcontext --delete --equal %{_sharedstatedir}/munin %{_sharedstatedir}/munin-node 2> /dev/null || : +%{_sbindir}/semanage fcontext --add --type munin_plugin_state_t "%{_sharedstatedir}/munin-node/plugin-state(/.*)?" 2> /dev/null || : +%{_sbindir}/semanage fcontext --add --type unconfined_munin_plugin_exec_t "%{_sharedstatedir}/munin-node/munin-get-plugins(/.*)?" 2> /dev/null || : %{_sbindir}/restorecon -R %{_sharedstatedir}/munin-node || : # Is this new install, not upgrade? if [ "$1" = "1" ]; then @@ -490,8 +498,8 @@ fi %postun node # Is this uninstall, not upgrade? if [ "$1" = "0" ]; then - %{_sbindir}/semanage fcontext -a -d %{_sharedstatedir}/munin-node/plugin-state 2> /dev/null || : - %{_sbindir}/semanage fcontext -a -d %{_sharedstatedir}/munin-node 2> /dev/null || : + %{_sbindir}/semanage fcontext --delete --type munin_plugin_state_t "%{_sharedstatedir}/munin-node/plugin-state(/.*)?" 2> /dev/null || : + %{_sbindir}/semanage fcontext --delete --type unconfined_munin_plugin_exec_t "%{_sharedstatedir}/munin-node/munin-get-plugins(/.*)?" 2> /dev/null || : fi %systemd_postun_with_restart munin-node.service munin-asyncd.service @@ -607,6 +615,7 @@ exit 0 %{_prefix}/lib/firewalld/services/munin-node.xml %attr(-, munin, munin) %dir %{_sharedstatedir}/munin %attr(-, root, root) %dir %{_sharedstatedir}/munin-node +%attr(-, root, root) %dir %{_sharedstatedir}/munin-node/munin-get-plugins %attr(-, root, root) %dir %{_sharedstatedir}/munin-node/plugin-state %attr(-, munin, root) %dir %{_sharedstatedir}/munin-node/plugin-state/munin %attr(-, root, root) %dir %{_sharedstatedir}/munin-node/plugin-state/root @@ -652,6 +661,12 @@ exit 0 %changelog +* Tue Mar 7 2023 Kim B. Heino - 2.0.72-1 +- Upgrade to 2.0.72 +- Add munin-get plugin directory +- Mangle /var/lib/munin-node SELinux +- Fix service startup order + * Thu Jan 19 2023 Fedora Release Engineering - 2.0.69-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 3667ae34b8adb69913263f27077444ec64150149 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Tue, 7 Mar 2023 11:44:40 +0200 Subject: [PATCH 45/62] sources: update for 2.0.72 --- sources | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index d8e3914..572612f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (munin-2.0.69.tar.gz) = e79c446d04df97d77b36972203667163ee662e0894e264c5dd84bd9402df780c5e67b69314bfdaddd87f102c4cdedb8fa7d2c07aeea46a8e4e9f08e50a08408f -SHA512 (munin-2.0.69.tar.gz.asc) = 50500e4a509f6cf4320bfcad3763601a6eb538260ff791c1be8e1bcb6497d5067c0bcba4ea8a4de21aef0d693d7a5956576fbc3ea58521aa9708cf30f8d75321 +SHA512 (munin-2.0.72.tar.gz) = 3da1e904630289f4e101a3cbc2f0b193a022a11be98d52f66311bda4f05a923935c02d69f04f3cd67e5e8c0d8cfee6d305bfccdffa49326cb29ae43e2cbc1f25 +SHA512 (munin-2.0.72.tar.gz.asc) = cd1a334b9aee0ce525610e75f0a754e45e6f93569dd1041b77d0e8a97e937880b619cc95822285c9ca17f862a00bc31d5b47991d56ee81700dc5bd5caeb9ac17 From c55cca5272d2dfdf27075dfb0ebc4f3bd2715063 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Thu, 18 May 2023 14:23:24 +0300 Subject: [PATCH 46/62] 2.0.73 --- munin.spec | 16 +++++++++++----- sources | 4 ++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/munin.spec b/munin.spec index c0fdab9..1658d99 100644 --- a/munin.spec +++ b/munin.spec @@ -1,5 +1,5 @@ Name: munin -Version: 2.0.72 +Version: 2.0.73 Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 @@ -263,9 +263,9 @@ sed -i -e ' sed -i -e 's,@@DBDIR@@,%{_sharedstatedir}/munin-node,g' node/_bin/munin-get.in -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 +%patch -P 101 -p1 +%patch -P 102 -p1 +%patch -P 103 -p1 cp %SOURCE16 . cp %SOURCE17 . @@ -407,6 +407,7 @@ exit 0 %post # Create log files +mkdir -p %{_localstatedir}/log/munin [ -f %{_localstatedir}/log/munin/munin-html.log ] || \ /usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-html.log [ -f %{_localstatedir}/log/munin/munin-limits.log ] || \ @@ -571,7 +572,6 @@ exit 0 %{perl_vendorlib}/Munin/Master %attr(-, munin, munin) %dir %{_sharedstatedir}/munin %attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh -%attr(0750, munin, adm) %dir %{_localstatedir}/log/munin %attr(-, munin, munin) %dir %{_localstatedir}/www/html/munin %attr(-, munin, munin) %{_localstatedir}/www/html/munin/cgi %attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-html.log @@ -641,6 +641,7 @@ exit 0 %files nginx %attr(0775, munin, munin) %dir %{_sharedstatedir}/munin/cgi-tmp +%attr(0750, munin, adm) %dir %{_localstatedir}/log/munin %attr(0660, munin, munin) %ghost %{_localstatedir}/log/munin/munin-cgi-graph.log %attr(0660, munin, munin) %ghost %{_localstatedir}/log/munin/munin-cgi-html.log %attr(0660, munin, munin) %ghost %{_localstatedir}/log/munin/munin-graph.log @@ -648,6 +649,7 @@ exit 0 %files apache %attr(0775, munin, apache) %dir %{_sharedstatedir}/munin/cgi-tmp +%attr(0750, munin, apache) %dir %{_localstatedir}/log/munin %attr(0660, munin, apache) %ghost %{_localstatedir}/log/munin/munin-cgi-graph.log %attr(0660, munin, apache) %ghost %{_localstatedir}/log/munin/munin-cgi-html.log %attr(0660, munin, apache) %ghost %{_localstatedir}/log/munin/munin-graph.log @@ -661,6 +663,10 @@ exit 0 %changelog +* Wed May 17 2023 Kim B. Heino - 2.0.73-1 +- Upgrade to 2.0.73 +- rhbz 2183484: Permission denied for group apache on /var/log/munin + * Tue Mar 7 2023 Kim B. Heino - 2.0.72-1 - Upgrade to 2.0.72 - Add munin-get plugin directory diff --git a/sources b/sources index 572612f..eeb6c39 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (munin-2.0.72.tar.gz) = 3da1e904630289f4e101a3cbc2f0b193a022a11be98d52f66311bda4f05a923935c02d69f04f3cd67e5e8c0d8cfee6d305bfccdffa49326cb29ae43e2cbc1f25 -SHA512 (munin-2.0.72.tar.gz.asc) = cd1a334b9aee0ce525610e75f0a754e45e6f93569dd1041b77d0e8a97e937880b619cc95822285c9ca17f862a00bc31d5b47991d56ee81700dc5bd5caeb9ac17 +SHA512 (munin-2.0.73.tar.gz) = 2097e35dc83c9f90ee3832de5856f5c7582c4f66c80e365aeb5426cc9bbcac24f5c75c006c523317b0533ce5fcb48abc004f0c7aa65b3bebd94fa0d7f1b03402 +SHA512 (munin-2.0.73.tar.gz.asc) = 1d94b3094c8fe8e30148f1e16bef137b248385d8e20f9fadeb8ca8f0bfd5c97551dc878c197d3a8327cf93d2033c521f2775837b50331749e25e6ebd8baa9ba9 From 6599f221c9748ab6017ea8331379cc53496e4180 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 16:04:58 +0000 Subject: [PATCH 47/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 1658d99..d3a0ce5 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.73 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ @@ -663,6 +663,9 @@ exit 0 %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 2.0.73-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Wed May 17 2023 Kim B. Heino - 2.0.73-1 - Upgrade to 2.0.73 - rhbz 2183484: Permission denied for group apache on /var/log/munin From 4341115b3d0d7d3372ffdd9a97618a198c3404c8 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Wed, 4 Oct 2023 14:36:40 +0300 Subject: [PATCH 48/62] 2.0.74 --- 00-default | 3 + ...2e36f3ab1a55c05304d6b78dc07048bd8f84.patch | 0 ...0846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc | 447 +++++++++++++++--- munin.spec | 13 +- mysql_ | 13 +- sources | 4 +- 6 files changed, 407 insertions(+), 73 deletions(-) rename postfix-category.patch => cd842e36f3ab1a55c05304d6b78dc07048bd8f84.patch (100%) diff --git a/00-default b/00-default index 2f83c3b..9a35a05 100644 --- a/00-default +++ b/00-default @@ -49,6 +49,9 @@ user root user root timeout 20 +[kea] +user root + [knot] user root diff --git a/postfix-category.patch b/cd842e36f3ab1a55c05304d6b78dc07048bd8f84.patch similarity index 100% rename from postfix-category.patch rename to cd842e36f3ab1a55c05304d6b78dc07048bd8f84.patch diff --git a/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc b/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc index 9d85fc5..b9a7c71 100644 --- a/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc +++ b/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc @@ -1,6 +1,9 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: 9108 46AD EE4C 5D67 C19B 3E6F 0A24 C059 98BA 4133 +Comment: Steve Schnepp +Comment: Steve Schnepp -mQINBE9Z0UYBEAChD/KVfJFENj65GLjiVEnrLwPqN6wF2EPsu3hnacKmXBJIUVOh +xsFNBE9Z0UYBEAChD/KVfJFENj65GLjiVEnrLwPqN6wF2EPsu3hnacKmXBJIUVOh ER6XC9hFmR2ZIXd8vkaHIIJ/3QmeUQsJWtd4JjHKV7vpTwStFbxtsexU0HVGpO10 jKJjfrjM9f+xkFW2xOpk/S16nLKq9kFDjVUOswq5qWuksIE22EBjQPyDROo/fhCJ uZbAPJz5RuHuuOrFAzqcDq5pI1WdY6MRDklKr6TZl6tp8d1mO5HBz37uMzTTBoyV @@ -11,67 +14,383 @@ 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 -L7FW3jHudm/cMmq68DXxQA== -=WQyk +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 +n/XLQBZaBHh4qw== +=1xbr -----END PGP PUBLIC KEY BLOCK----- diff --git a/munin.spec b/munin.spec index d3a0ce5..3863b73 100644 --- a/munin.spec +++ b/munin.spec @@ -1,12 +1,12 @@ Name: munin -Version: 2.0.73 -Release: 2%{?dist} +Version: 2.0.74 +Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPLv2 URL: http://munin-monitoring.org/ -Source0: https://sourceforge.net/projects/munin/files/stable/%{version}/%{name}-%{version}.tar.gz -Source1: https://sourceforge.net/projects/munin/files/stable/%{version}/%{name}-%{version}.tar.gz.asc +Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz +Source1: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz.asc # fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133 # gpg --recv-keys $fpr # gpg -a --export-options export-minimal --export $fpr > gpgkey-$fpr.asc @@ -38,7 +38,7 @@ Source35: munin-cgi-html.socket # Patches Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch -Patch102: postfix-category.patch +Patch102: cd842e36f3ab1a55c05304d6b78dc07048bd8f84.patch Patch103: munin-run_no_systemd.patch # Use some plugins from Munin 3.0 branch / Munin contrib @@ -663,6 +663,9 @@ exit 0 %changelog +* Wed Oct 4 2023 Kim B. Heino - 2.0.74-1 +- Upgrade to 2.0.74 + * Thu Jul 20 2023 Fedora Release Engineering - 2.0.73-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/mysql_ b/mysql_ index 3458832..9de8628 100755 --- a/mysql_ +++ b/mysql_ @@ -983,6 +983,9 @@ $graphs{innodb_semaphores} = { }, }, data_sources => [ + {name => 'ib_spin_rounds', label => 'Spin Rounds'}, + {name => 'ib_spin_waits', label => 'Spin Waits'}, + {name => 'ib_os_waits', label => 'OS Waits'}, {name => 'ib_rw_shared_rounds', label => 'RW/S Rounds'}, {name => 'ib_rw_shared_waits', label => 'RW/S Waits'}, {name => 'ib_rw_shared_os_waits', label => 'RW/S OS Waits'}, @@ -1962,7 +1965,7 @@ sub update_variables { } $data->{'mysql_base_memory'} = $data->{'key_buffer_size'} - + $data->{'query_cache_size'} + + ( $data->{'query_cache_size'} || 0 ) + $data->{'innodb_buffer_pool_size'} + ( $data->{'innodb_additional_mem_pool_size'} || 0 ) + $data->{'innodb_log_buffer_size'} @@ -2130,7 +2133,7 @@ sub innodb_bigint { return defined $y ? Math::BigInt->new($x)->blsft(32) + $y - : Math::BigInt->new("0x$x"); + : Math::BigInt->new($x); } #--------------------------------------------------------------------- @@ -2298,6 +2301,12 @@ sub parse_row_operations { sub parse_semaphores { parse_section( sub { + m/\GMutex spin waits (\d+), rounds (\d+), OS waits (\d+)\n/gc && do { + $data->{ib_spin_waits} = $1; + $data->{ib_spin_rounds} = $2; + $data->{ib_os_waits} = $3; + return 1; + }; m/\GRW-shared spins (\d+), rounds (\d+), OS waits (\d+)\n/gc && do { $data->{ib_rw_shared_waits} = $1; $data->{ib_rw_shared_rounds} = $2; diff --git a/sources b/sources index eeb6c39..56c627e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (munin-2.0.73.tar.gz) = 2097e35dc83c9f90ee3832de5856f5c7582c4f66c80e365aeb5426cc9bbcac24f5c75c006c523317b0533ce5fcb48abc004f0c7aa65b3bebd94fa0d7f1b03402 -SHA512 (munin-2.0.73.tar.gz.asc) = 1d94b3094c8fe8e30148f1e16bef137b248385d8e20f9fadeb8ca8f0bfd5c97551dc878c197d3a8327cf93d2033c521f2775837b50331749e25e6ebd8baa9ba9 +SHA512 (munin-2.0.74.tar.gz) = 4526a5f414118001a9f97d2dff46cb7bb6ce54175279d42a268d013793aa0a171afd736c15def3a7236f818c6b9a49f5eed6dcfc76985ec05bda147e4ad326f4 +SHA512 (munin-2.0.74.tar.gz.asc) = baaeaed64e62addbd7b58a073f82faa5df5de1a0a8a196df9778f59b0adb4c2103bf74aeef0712dd958b24c44039d07421c8f9a0384ddd8cbda19d43c5ccb89c From c560021120cf1af88adc5bc6bf6bc90adef67c5b Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 6 Nov 2023 11:32:09 +0200 Subject: [PATCH 49/62] 2.0.75 --- munin.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/munin.spec b/munin.spec index 3863b73..c876031 100644 --- a/munin.spec +++ b/munin.spec @@ -1,8 +1,8 @@ Name: munin -Version: 2.0.74 +Version: 2.0.75 Release: 1%{?dist} Summary: Network-wide resource monitoring tool -License: GPLv2 +License: GPL-2.0-only URL: http://munin-monitoring.org/ Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz @@ -663,6 +663,9 @@ exit 0 %changelog +* Mon Nov 6 2023 Kim B. Heino - 2.0.75-1 +- Upgrade to 2.0.75 + * Wed Oct 4 2023 Kim B. Heino - 2.0.74-1 - Upgrade to 2.0.74 diff --git a/sources b/sources index 56c627e..700f698 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (munin-2.0.74.tar.gz) = 4526a5f414118001a9f97d2dff46cb7bb6ce54175279d42a268d013793aa0a171afd736c15def3a7236f818c6b9a49f5eed6dcfc76985ec05bda147e4ad326f4 -SHA512 (munin-2.0.74.tar.gz.asc) = baaeaed64e62addbd7b58a073f82faa5df5de1a0a8a196df9778f59b0adb4c2103bf74aeef0712dd958b24c44039d07421c8f9a0384ddd8cbda19d43c5ccb89c +SHA512 (munin-2.0.75.tar.gz) = 5322a427c611ce13a1a72b2dae8555e8fef225d431112474dafcfa9bb219339a70e4cb9e38cd11f18230e71757acf67dabe4d993a94e6bede905e3da01c37e7b +SHA512 (munin-2.0.75.tar.gz.asc) = be5ff2cf7ba8492784fc8847e2079c2b05de828f903d999542511fb66d8c7502955c5adfc82bbc4a3622a8f5a4390e0a5958a602c4be8b6a10452bfe92e91348 From b73a0daa50590c4c75b186ce1d14f2921b2cb329 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 08:55:08 +0000 Subject: [PATCH 50/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index c876031..189413a 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.75 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -663,6 +663,9 @@ exit 0 %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 2.0.75-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Nov 6 2023 Kim B. Heino - 2.0.75-1 - Upgrade to 2.0.75 From 89bd7b20eccef1c7b0d8d6eb0f50bfde827be820 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jan 2024 08:23:26 +0000 Subject: [PATCH 51/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 189413a..0eea722 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.75 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -663,6 +663,9 @@ exit 0 %changelog +* Thu Jan 25 2024 Fedora Release Engineering - 2.0.75-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sun Jan 21 2024 Fedora Release Engineering - 2.0.75-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From c9c48a14ad033de730beb53920c44e0175b69703 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Wed, 19 Jun 2024 14:27:45 +0300 Subject: [PATCH 52/62] 2.0.76 --- 00-default | 20 - ...0846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc | 862 ++++++++++-------- munin.spec | 20 +- sources | 3 +- 4 files changed, 496 insertions(+), 409 deletions(-) diff --git a/00-default b/00-default index 9a35a05..ccc9d52 100644 --- a/00-default +++ b/00-default @@ -12,9 +12,6 @@ # individual plugins to find out which variables they # care about. -[amavis_multi] -user amavis - [bind9_rndc] user root env.rndc /usr/sbin/rndc @@ -28,11 +25,6 @@ user root env.exclude none unknown binfmt_misc cgroup_root debugfs devpts devtmpfs fuse.gvfs-fuse-daemon iso9660 ramfs romfs rootfs rpc_pipefs squashfs udf env.exclude_re ^/run/user/ ^/sys/ ^/var/lib/docker ^/var/lib/containers/storage/overlay ^/var/lib/mock/ ^/media/ ^/mnt$ -[dhcp-pool] -user root -env.conffile /etc/dhcp/dhcpd.conf -env.leasefile /var/lib/dhcpd/dhcpd.leases - [exim*] group mail @@ -49,12 +41,6 @@ user root user root timeout 20 -[kea] -user root - -[knot] -user root - [load] env.load_warning 100 @@ -77,9 +63,6 @@ env.seconds_behind_master_critical 86400 env.wsrep_flow_control_paused_ns_warning 200000000 env.wsrep_flow_control_paused_ns_critical 10000000000 -[nsd_requests] -user root - [postfix*] user root env.logfile maillog @@ -90,9 +73,6 @@ user postgres env.PGUSER postgres env.PGPORT 5432 -[raid2] -user root - [sendmail*] user root env.mspqueue /var/spool/clientmqueue diff --git a/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc b/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc index b9a7c71..8bb70ec 100644 --- a/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc +++ b/gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc @@ -16,381 +16,489 @@ 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 -n/XLQBZaBHh4qw== -=1xbr +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 +=bOn3 -----END PGP PUBLIC KEY BLOCK----- diff --git a/munin.spec b/munin.spec index 0eea722..24eb5db 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin -Version: 2.0.75 -Release: 3%{?dist} +Version: 2.0.76 +Release: 1%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -41,7 +41,7 @@ Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch Patch102: cd842e36f3ab1a55c05304d6b78dc07048bd8f84.patch Patch103: munin-run_no_systemd.patch -# Use some plugins from Munin 3.0 branch / Munin contrib +# Use mysql plugin from Munin 3.0 branch for Galera support Source200: mysql_ # Plugin config @@ -156,8 +156,6 @@ relay information from other devices in your network that can't run Munin, such as a switch or a server running another operating system, by using SNMP or similar technology. -This package includes some extra plugins from Munin contrib plugins. - %package common Summary: Network-wide resource monitoring tool (common files) @@ -243,11 +241,7 @@ sed -i -e ' s,^DBDIR = \(.*\),DBDIR = $(DESTDIR)%{_sharedstatedir}/munin,; s,^DBDIRNODE = \(.*\),DBDIRNODE = $(DESTDIR)%{_sharedstatedir}/munin-node,; s,^LOGDIR = \(.*\),LOGDIR = $(DESTDIR)%{_localstatedir}/log/munin,; -%if 0%{?rhel} >= 8 || 0%{?fedora} s,^PYTHON := \(.*\),PYTHON := /usr/bin/python3,; -%else - s,^PYTHON := \(.*\),PYTHON := /usr/bin/python2,; -%endif s,^RUBY := \(.*\),RUBY := /usr/bin/ruby,; s,^PERLLIB = \(.*\),PERLLIB = $(DESTDIR)%{perl_vendorlib},; s,^HOSTNAME := \(.*\),HOSTNAME := localhost.localdomain,; @@ -303,7 +297,7 @@ mv %{buildroot}%{_datadir}/munin/munin-asyncd %{buildroot}%{_sbindir}/munin-asyn # Remove the Sybase plugin for now, as they need perl modules that are not available rm -f %{buildroot}%{_datadir}/munin/plugins/sybase_space -# Update some plugins from 3.0 branch / contrib +# Update plugins from 3.0 branch cp %{SOURCE200} %{buildroot}%{_datadir}/munin/plugins/ # Install plugin config @@ -346,6 +340,9 @@ ln -s munin-conf.d %{buildroot}%{_sysconfdir}/munin/conf.d # Overwrite default config file cp %{SOURCE10} %{buildroot}%{_sysconfdir}/munin/ +# Add missing custom.css +touch %{buildroot}%{_sysconfdir}/munin/static/custom.css + # Install logrotate script cp %{SOURCE11} %{buildroot}%{_sysconfdir}/logrotate.d/munin @@ -663,6 +660,9 @@ exit 0 %changelog +* Wed Jun 19 2024 Kim B. Heino - 2.0.76-1 +- Upgrade to 2.0.76 + * Thu Jan 25 2024 Fedora Release Engineering - 2.0.75-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index 700f698..2a678e7 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (munin-2.0.75.tar.gz) = 5322a427c611ce13a1a72b2dae8555e8fef225d431112474dafcfa9bb219339a70e4cb9e38cd11f18230e71757acf67dabe4d993a94e6bede905e3da01c37e7b -SHA512 (munin-2.0.75.tar.gz.asc) = be5ff2cf7ba8492784fc8847e2079c2b05de828f903d999542511fb66d8c7502955c5adfc82bbc4a3622a8f5a4390e0a5958a602c4be8b6a10452bfe92e91348 +SHA512 (munin-2.0.76.tar.gz) = 37ad31fa8c7585e4a79ce5b62e6ac83c6f12fe0cbb1c28a257f7c71f99c6b05cc837c7557870a28211c253eb85d981a4b17aed2f6028881d5bdef27c01e445a2 From 34b47ae6ae3138e2cbdc4af8092c8f67a0fb75b7 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Wed, 19 Jun 2024 14:30:32 +0300 Subject: [PATCH 53/62] sources: add .asc too --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index 2a678e7..bc776f3 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (munin-2.0.76.tar.gz) = 37ad31fa8c7585e4a79ce5b62e6ac83c6f12fe0cbb1c28a257f7c71f99c6b05cc837c7557870a28211c253eb85d981a4b17aed2f6028881d5bdef27c01e445a2 +SHA512 (munin-2.0.76.tar.gz.asc) = b34d6c62f73a1bc381e21e95c03e386fe26e1d32eebc396b82fea69326694db3370bdfc8f2cfcaf37d7c9d4bed27f68e17bebd729a5eac8505ddd97bf677241b From def83f20172c7af663b0f084025c0eececfb2dde Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 18:56:25 +0000 Subject: [PATCH 54/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 24eb5db..f4f88b2 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -660,6 +660,9 @@ exit 0 %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 2.0.76-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Jun 19 2024 Kim B. Heino - 2.0.76-1 - Upgrade to 2.0.76 From 244836eb03684fd9bef2870b3e7d6baf2ac03107 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 21 Oct 2024 10:22:31 +0300 Subject: [PATCH 55/62] Don't restart firewalld on package update, rhbz #2295597 --- munin.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/munin.spec b/munin.spec index f4f88b2..d9a1781 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -485,7 +485,6 @@ if [ "$1" = "1" ]; then done fi fi -%firewalld_reload %systemd_post munin-node.service munin-asyncd.service @@ -660,6 +659,9 @@ exit 0 %changelog +* Mon Oct 21 2024 Kim B. Heino - 2.0.76-3 +- Don't restart firewalld on package update, rhbz #2295597 + * Thu Jul 18 2024 Fedora Release Engineering - 2.0.76-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From a881836b8d80e48405bcfe6de3c47b9da501bf07 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 19:26:34 +0000 Subject: [PATCH 56/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index d9a1781..eab9b4a 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -659,6 +659,9 @@ exit 0 %changelog +* Fri Jan 17 2025 Fedora Release Engineering - 2.0.76-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Mon Oct 21 2024 Kim B. Heino - 2.0.76-3 - Don't restart firewalld on package update, rhbz #2295597 From 5335015f6bed36694c479ef9fbb01ede49608557 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 27 Jan 2025 15:34:48 +0200 Subject: [PATCH 57/62] rhbz 2340895: Fix build on Fedora 42 --- munin.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index eab9b4a..cab509d 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -232,6 +232,7 @@ FastCGI so you don't need this package. sed -i -e ' s,^PREFIX = \(.*\),PREFIX = $(DESTDIR)%{_prefix},; + s,^SBINDIR = \(.*\),SBINDIR = $(DESTDIR)%{_sbindir},; s,^CONFDIR = \(.*\),CONFDIR = $(DESTDIR)%{_sysconfdir}/munin,; s,^DOCDIR = \(.*\),DOCDIR = $(DESTDIR)%{_docdir}/%{name}-%{version},; s,^MANDIR = \(.*\),MANDIR = $(DESTDIR)%{_mandir},; @@ -659,6 +660,9 @@ exit 0 %changelog +* Mon Jan 27 2025 Kim B. Heino - 2.0.76-5 +- rhbz 2340895: Fix build on Fedora 42 + * Fri Jan 17 2025 Fedora Release Engineering - 2.0.76-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 14d481ff843d2d2aaa8978f1542ad88afbbcc67d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 11 Feb 2025 15:53:23 +0100 Subject: [PATCH 58/62] Add sysusers.d config file to allow rpm to create users/groups automatically See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers. --- munin.spec | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/munin.spec b/munin.spec index cab509d..781090b 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -92,7 +92,6 @@ Requires: perl(Taint::Runtime) Requires: perl(Text::Balanced) Requires: perl(Time::HiRes) Requires: rrdtool -Requires(pre): shadow-utils %{?systemd_requires} BuildArch: noarch @@ -131,7 +130,6 @@ Requires: perl(Net::CIDR) Requires: perl(Net::SSLeay) Requires: perl(Net::Server) Requires: procps-ng -Requires(pre): shadow-utils Requires(pre): %{_sbindir}/semanage Requires(pre): %{_sbindir}/restorecon %{?systemd_requires} @@ -160,7 +158,6 @@ SNMP or similar technology. %package common Summary: Network-wide resource monitoring tool (common files) Requires: acl -Requires(pre): shadow-utils %{?systemd_requires} BuildArch: noarch @@ -266,6 +263,11 @@ cp %SOURCE16 . cp %SOURCE17 . cp %SOURCE18 . +# Create a sysusers.d config file +cat >munin.sysusers.conf </dev/null || groupadd -r munin -getent passwd munin >/dev/null || useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin -exit 0 %post @@ -582,6 +582,7 @@ exit 0 %config(noreplace) %ghost %{_sysconfdir}/httpd/conf.d/munin.conf %config(noreplace) %ghost %{_sysconfdir}/httpd/conf.d/munin-cgi.conf %config(noreplace) %ghost %{_localstatedir}/www/html/munin/.htaccess +%{_sysusersdir}/munin.conf %files node @@ -660,6 +661,9 @@ exit 0 %changelog +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2.0.76-6 +- Add sysusers.d config file to allow rpm to create users/groups automatically + * Mon Jan 27 2025 Kim B. Heino - 2.0.76-5 - rhbz 2340895: Fix build on Fedora 42 From b9d3bae50ab2e9b5137bc7d9245fd7f2bc73c190 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 22:30:37 +0000 Subject: [PATCH 59/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 781090b..01e9565 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -661,6 +661,9 @@ exit 0 %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 2.0.76-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2.0.76-6 - Add sysusers.d config file to allow rpm to create users/groups automatically From 11f3c22afc88319d4755d15abfc9685f8ce62dd6 Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Sun, 28 Dec 2025 20:09:31 +0200 Subject: [PATCH 60/62] rhbz 2406177: Move sysusers.d config to munin-common --- munin.spec | 50 ++++++++++++-------------------------------------- munin.sysusers | 1 + 2 files changed, 13 insertions(+), 38 deletions(-) create mode 100644 munin.sysusers diff --git a/munin.spec b/munin.spec index 01e9565..41d1715 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -36,6 +36,9 @@ Source33: munin-cgi-graph.socket Source34: munin-cgi-html.service Source35: munin-cgi-html.socket +# Common sources +Source40: munin.sysusers + # Patches Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch Patch102: cd842e36f3ab1a55c05304d6b78dc07048bd8f84.patch @@ -159,6 +162,7 @@ SNMP or similar technology. Summary: Network-wide resource monitoring tool (common files) Requires: acl %{?systemd_requires} +%{?sysusers_requires_compat} BuildArch: noarch @@ -263,11 +267,6 @@ cp %SOURCE16 . cp %SOURCE17 . cp %SOURCE18 . -# Create a sysusers.d config file -cat >munin.sysusers.conf </dev/null)" ]; then - mv -f %{_sysconfdir}/munin/conf.d/* %{_sysconfdir}/munin/munin-conf.d/ -fi -exit 0 - - -%triggerpostun -- munin < 2.0.69-2 -if [ -d %{_sysconfdir}/munin/conf.d ]; then - if ! rmdir %{_sysconfdir}/munin/conf.d 2>/dev/null; then - mv -f %{_sysconfdir}/munin/conf.d %{_sysconfdir}/munin/conf.d.rpmold - fi -fi -if [ -f %{_sysconfdir}/munin/munin.conf.rpmnew ]; then - if [ -n "$(ls %{_sysconfdir}/munin/munin-conf.d/* 2>/dev/null)" ]; then - ln -sf munin-conf.d %{_sysconfdir}/munin/conf.d - fi -fi -exit 0 - - -%pre node -getent group munin >/dev/null || groupadd -r munin -getent passwd munin >/dev/null || useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin -exit 0 - - %post node # Create log file [ -f %{_localstatedir}/log/munin-node/munin-node.log ] || \ @@ -503,9 +476,7 @@ fi %pre common -getent group munin >/dev/null || groupadd -r munin -getent passwd munin >/dev/null || useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin -exit 0 +%sysusers_create_compat %{SOURCE40} %post nginx @@ -582,7 +553,6 @@ exit 0 %config(noreplace) %ghost %{_sysconfdir}/httpd/conf.d/munin.conf %config(noreplace) %ghost %{_sysconfdir}/httpd/conf.d/munin-cgi.conf %config(noreplace) %ghost %{_localstatedir}/www/html/munin/.htaccess -%{_sysusersdir}/munin.conf %files node @@ -630,6 +600,7 @@ exit 0 %dir %{perl_vendorlib}/Munin %{perl_vendorlib}/Munin/Common %{_tmpfilesdir}/%{name}.conf +%{_sysusersdir}/munin.conf %attr(0775, root, munin) %dir %{_rundir}/munin @@ -661,6 +632,9 @@ exit 0 %changelog +* Sun Dec 28 2025 Kim B. Heino - 2.0.76-8 +- rhbz 2406177: Move sysusers.d config to munin-common + * Thu Jul 24 2025 Fedora Release Engineering - 2.0.76-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild diff --git a/munin.sysusers b/munin.sysusers new file mode 100644 index 0000000..50515ab --- /dev/null +++ b/munin.sysusers @@ -0,0 +1 @@ +u munin - "Munin user" /var/lib/munin /bin/sh From eaf3b3bfab0799ae5b6fb3e46b283bb8b1d04059 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 21:47:02 +0000 Subject: [PATCH 61/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 41d1715..883440f 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -632,6 +632,9 @@ fi %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 2.0.76-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Sun Dec 28 2025 Kim B. Heino - 2.0.76-8 - rhbz 2406177: Move sysusers.d config to munin-common From adb3603dc922c36b2fd3f41eb0d9eebd255e0e2e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jul 2026 09:09:21 +0000 Subject: [PATCH 62/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- munin.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/munin.spec b/munin.spec index 883440f..85e913d 100644 --- a/munin.spec +++ b/munin.spec @@ -1,6 +1,6 @@ Name: munin Version: 2.0.76 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Network-wide resource monitoring tool License: GPL-2.0-only URL: http://munin-monitoring.org/ @@ -632,6 +632,9 @@ fi %changelog +* Thu Jul 16 2026 Fedora Release Engineering - 2.0.76-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Fri Jan 16 2026 Fedora Release Engineering - 2.0.76-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild