From f14b813b7abd9b4405175c31beb9c2152a4b58fc Mon Sep 17 00:00:00 2001 From: "Kim B. Heino" Date: Mon, 14 Dec 2020 20:55:47 +0200 Subject: [PATCH 01/39] 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 02/39] 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 03/39] - 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 04/39] 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 05/39] 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 06/39] 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 07/39] 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 08/39] 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 09/39] 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 10/39] - 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 11/39] - 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 12/39] 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 13/39] 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 14/39] 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 15/39] 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 16/39] 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 17/39] 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 18/39] 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 19/39] 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 20/39] *.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 21/39] 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 22/39] 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 23/39] 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 24/39] 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 25/39] 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 +zSdTdGV2ZSBTY2huZXBwIDxzdGV2ZS5zY2huZXBwQGdtYWlsLmNvbT7CwZQEEwEK +AD4CGwMCHgECF4AFCwkIBwMFFQoJCAsFFgIDAQAWIQSRCEat7kxdZ8GbPm8KJMBZ +mLpBMwUCYbsPNgUJFiOk6gAKCRAKJMBZmLpBM5VSD/0fAm6chEiMz4p/pzTvwOxQ +tEmQ9Nqxwb4MdZl2Ehg/WKbG5Nvg98XIZ4yNoGF2SLs5vLLwVAsmOV+mATEfy347 +yE32/7vFSawgoSgvMxQQQ6FDL7ToyQVUzCqBoHcLoS3VnTQxr0GManahbEwMf/kb +4aGuuY1rvurcGnwBZwej11NCLYKIerdypTOPF31VYp4WesF3wdnmCWaPPu5ZC8L1 +JXU7TTy78iG2b7z8LnG7Zd5mxt5FOT3HT27+0ZJHYnh1RgXE6Y3tcDOFBP0q9z2M +5741qWAhrytkelwItI43NuizzCBRRbOSzTiiTsL6aABW2MZzogqOQvz9VkHfKctE +UBQfUA907/muv2btbIE3Vqa4N8BgAQ1EPqvvPs/eHK8ZR+04y95QBsHdSn7PANsM +GNnRKsV33yqMddAp5qr7iZO9fHxhiA9Xls74vkHGhTg6/RmretRk6qba8e+vdvCS +kLtIr8VullnL+e7bA1j8Z/s2NfjkQzQgbTdpQsxsqjxYDrnTlrI0zpb2M233V+Dq +tinnKeKy4atNBJLyKmTaER0RMBBOYh6GFt+xSLgDkj6CGfUwLWMtHRcWmWp0JNP5 +uLy3sD4wlXWiy/nQk/3EfLL3GXoB73VxlA7aUbFZX5ZqEkZTbNzyQ6nGUY99AkpL +7yrJD66BlLQ4vFJnqLp/UcLBlAQTAQIAJwIbAwUJEswDAAIeAQIXgAUCUgOeewUL +CQgHAwUVCgkICwUWAgMBAAAhCRAKJMBZmLpBMxYhBJEIRq3uTF1nwZs+bwokwFmY +ukEzvvIQAJRmoZoichU2j7Pql0+QfkyiIIYKeoj132G+6eA/F3nBxwAfDCjnhx7N +pTP+dy3A+gEc7luK1Wevo1x/HUokMla/gSRqQvanLQF88iLJFjYcyUqYs15vKajS +3xgWLfkCuv+jplIT+OgtPpNa0I1qFuob/GwRbG6O97B/Udicg/DVAjVCfRsyX/RU +hdg6DyfjCFiUUC3uQbIjk1zbsm+UrDkid4y+hlVa/OfKQWc1VwNj1A2UMsotAScU +KKJ9aWBvh+g2p/9tAjPog8xAfAtyBpTkM9mC8jMklHD1xSk9TKXeg1gN7fnL7jLE +4dyPtF07+QisgGgxYhtQqNVmb7OmwbUqA2kW/SBYGEH187S8iFIErYv2dwZJGTsh +givIaxDDBM4KS4Lk+eg7QwoAq/G/MHrr+hlm1kmi1dM0XXXC/zJ7I741WlwKq7jj +/mzTi4nKcU50EtyCcRDXW6/cbCEOsqoQddGdE7cszA5Y4IPP0vq5BQxsJMAG3TFi +wf+6dM+xdC0HJkX8oHFf+0SzBUJsIE3hplGsWoXXidmQLsyIbE++aQnb7cDSZWPs +x9SjpSVIRX94/QNMlRnHPnE5kYi3+WNvum8mpsMAqbtGJDBv/5vOfoBRna1cYz/+ +akYBLj4e3rsvbK0Ue4W2Q9Ar9ZnC9qH+SP/ztpy6y8vuyejbC8y3wsGVBBMBAgAo +BQJQsHe2AhsDBQkSzAMABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAhCRAKJMBZ +mLpBMxYhBJEIRq3uTF1nwZs+bwokwFmYukEzXhcP/3mwFImMPvdMjqnuo+BaTHrg +JdElFDbJN6/oCyVBxXp86sEWVj4iKG45IitBjtlmqzsQh7SN8CT7OiOo/5eLTB+k +3sO69cbOR2o44MoLHZKQhghiRSk6xsyXnZaRhkNSpey9/J5uzRVrTGNvrywVM6z+ +qG76iVVaZ/poniPGkx9M6P+Vl765wnyKkQWIY6NCwpSkOgYw/z0acRjvqOZHv+nD +8xiMO3Pbp1xSXe8HaugcOHvFIJRweejM5tXqpUv/pnnfAqOxEEx+PZowqikUeftb +Gdq/6pb5pQO1DCPcfHU4O6wlXj7CW4nnRAZJkFIIijaNGgGLsnML9aYPS1Gw2axS +qmJ2fhEu5MTUtijWCLiPsgJSopx1B7oQIdWaVlwEILr0MYxcDl1RYc9eM8f2lWkj +dhvRmfxcZ+FACD7SgSqFHn8Tf1hyZA2MICFXuXXH4CrOQabSJwWT19pLgQDqdtC/ +Oaeh4WbKsQCtUCsWY/1Fb+d2PvQY2Ec4S/+OlL/ZxK9wSqtESyH5eAxHSAxOjfpz +t98bTJ75CEQhR8f6WSeZuA/1Qofc+Dr9lSVGU+4RCRopDrQyy0Nl3dt9xSr5A0Bf +IjA7fLg3BTGRRT6tKjhtERGHhKwLJJx7IMR8bV6EAsCAEtXl/p2iUltDOXxc5Ks5 +ExMCKxe99PIAVk6YKrsVzSZTdGV2ZSBTY2huZXBwIDxzdGV2ZS5zY2huZXBwQHB3 +a2Yub3JnPsLBlwQTAQoAQQIbAwIeAQIXgAIZAQULCQgHAwUVCgkICwUWAgMBABYh +BJEIRq3uTF1nwZs+bwokwFmYukEzBQJhuw8wBQkWI6TqAAoJEAokwFmYukEzdXgP +/0nh1+IjCJiUE9dsxRVoYcSjgyE0mHMfpidbLVzZWWG85hjdG3HFHu7j2QzOdGCo +3RnKOwgJwb2geE0kiP0T7Sy2wX7Dj8MnCmK1/4LdAjpK3MsY69p9sVyZ5gU+CdNX +emjVku4cPyG0M/UUhe5lVdPDATygnZCeUDmDHufeYQnV4Ye2VyyelEcBzFjrRdUR +kmzH8LiN1SNVdr5lZ4iI1j8L6oHUmMu8wjVByLqMxzTpGMjRPWb5brd7VhBqPdmO +7ZtFBwSvQ/aoq/gEVEZtzhkiXoAaEih2maNstyXCppBpAv5LW88381g8Aad00Cq8 +GfAiM1YJ9p9pOwBOQ4SU+g7e+vGZOf9kzskXpeFpy7qinGcrrOlRnVKglyiuP53g +VIu/BL0XMUGoXn7Rn/wh0gMQwQb7pyaZNrQUzTkQ5Bl8ULG69MqIA9LAP0TGnMJG +cWQD8vwZrOZf40hceOaT1mJEFarp5IPeT99xy/DbvzGlHwGpdZhtwfmrMdt27PKH +NTwUef1SvwIRyvE2iR+hFIp0JpjeChgQHhC7U3j5S9OMOyLu9sBAb3hocEiGUDFX +3y1VCcrOgkyMNQ0rvQ4QDwNIbpRQKldvfOJLyn1v1NgXIWmaL5H/2tjDG47k7BLC +Q5vTi/gha18FZMTqBeh/2SjGrjQdSqtUZQycDLsaSspEwsGXBBMBAgAqAhsDBQkS +zAMAAh4BAheAAhkBBQJSA554BQsJCAcDBRUKCQgLBRYCAwEAACEJEAokwFmYukEz +FiEEkQhGre5MXWfBmz5vCiTAWZi6QTPA4w//fd5LPE5udX11+kI/uUT1pQKLuOl5 +wrN7uQ23Eb2fTB/ghBcE5ttL3YyZZhXnnnCSVL8kM2tEhwGQL2vrs5RvqCs/yenm +nvMCY0XPaCwGjGl7sUZ9exb+pUlYrBXnncflHR17hvYWRfqFJJEvp4QhqfnFNGae +CEdBJ1qi2OICVWP4Ae2ooSx+SjeiJuZSB43plWkOt/fMdx9lJs+oo9n8NlXRrV1A +4gN50BYuz8AW7MAIW0xoCy/xC8tj4KbMZLrPLHNQ7T6i0rGo7fp+sEjLgjO2WB4l +Lwy1Oim2VHLwA96YpCQ3Um3S7AE7ZGBxKw8PYTiDd8SJ8G4DxC9sGo3yoeitl5Z5 +x+zN0CFKw4HKGfxOHbMCHbPjGs+MHJuU6UBhcfZY9UO5AWxivvw34OKhAQk6h8vr +x+EBSwsVhlWHvI7JjOFpGYXMXUs3w6tyHIQt2lDlAIOimecUEmkN7g7bWo3QTzIB +HsIakWSnwJbqaKV2xjuC0RQsL0GK2wTKGrh3MLu1ksmO8RT3eHjj6MmoKuDansbK +3779dFAX2q/BkTOjK3Z0OQ9RHCgN4yBXBuzvOWxOrf+6aSLQCyYN15GZ1Zxoww64 +JLt73EwpZsUdrVwCus2KU1fIWcNDLPvwqKnEVYZl26QojV/kmaYb7O2/B0NBkDEx +eOp1doU6P0UT+GDCwZgEEwECACsCGwMFCRLMAwAGCwkIBwMCBhUIAgkKCwQWAgMB +Ah4BAheABQJQsHkoAhkBACEJEAokwFmYukEzFiEEkQhGre5MXWfBmz5vCiTAWZi6 +QTMfQA//YioL17dhUKlJd2DYQzggweXPHCKf7TZ0vc+aiQV/pgrPFV8h01FwbPZr +90s2M5fNoW+MOA1MdxvTUPY9XVDcSTOy5dQfM3TgZBLpfUIbqfNgVNL+LbBNWRJH +DjewrT+wPXS2N4y83GFjvK93o6CTIaTilQRi5b1b8imVLO9w0ozzwTWEByEU+36g +jEzNeSKEnuNf0M06mPAJTdGyjNYYey1aAgxw+bO6Ld5Er+zoWQsqyxxiLde+HHdh +KmwzO30ScS4dEeaect2sDkOnTBQovQWmQFfxlky9Ct9/7B9KHfQI1Bar/PjiI/WV +TL/mJEZ1u1oqEsysI/2eZtFbX/rwW3+Ha48XjCZtZZCq/PbyogbEIbncDRfk2DFn +h/bCRrUookS/pEE4b8nCmT6QxB0NoH2Iyc+/r7LXFAEhUSB9NpDstGXBecBhIrTf +rB5oYVGdw1/HJVLd75z2Psx3+Cvbc27WfLZPS/hXP10JIhuK+IE2j6OwOFzswkkV +TuO36yqcMeCqfK2DFxrGijOU5ym6rmoT+4cf/fWEPq6lXjkCU2TxHLSLndmZbjMr +cAzlkM0aojThFZnKPw30qNbw57rD4rV759kCiEZHmkMfg61JH7YqBpSnXHvxIgJg +g7HnKhLz0lJ9A3tGI2VWPXkVA6QCiZ2+aqsG93fi86JBfgCGssvCwZUEEwECACgF +Ak9Z0UYCGwMFCRLMAwAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAACEJEAokwFmY +ukEzFiEEkQhGre5MXWfBmz5vCiTAWZi6QTO49Q//ZW45T16s/Yfmu0+jMtljhQBt +XA+SwdIsyxICcl3+myGHcVvX8UcqVnArWY5M/yfVTErAN2fAEZdQlweGNLf3ANwf +Jejcubxaa5GI2ILawb0gAhk+SBDcjVygReeXVKzGHKBRVl4HKPiV9YYMZZo8uCpT +KSdfibTX+czJu288TdBq2qI3Om2yQvn2t0oJv7jLyMhPAiDm74V073tfj8bcM+Tk +bYw/1HCboHGY3+Qy1q1hYh3Y9X3VdO3Rp7Dr4YB84WLdz1NPzcuZIQNNryFmp1os +to+M+Do1pMCmfC/JDQWNbR9wdkJRdWhLAv7dirGqiYObyNWJ8oMTRIT9BQMoII8+ +bOTG68SsSKGN2pfW1tSthDo5cypTZFLtuXZj3Z3UELtvHLnjL5LmBeXa02ZPE0t3 +RxU20I6eSzBTT9cV/IMRQli+D1dFxbVx0ra5By/+Eab7nTMavoeMVQrFb6zA2cLl +evpiL53ABfWufXQFMeF4rhtroSyK9nZI8tRUhiPBdVFNCBx0HjKK1lS5T1zLB5zU +dscblAIgz2Z3M30QDBu35tb2lZMCnxreWzrbvKdOnkW/gOnPwDnsui5UTo2YHLfz +/mvbtKf4/nd+hKVX6SUXqUEJFVHnP7zcclVBNoZrJUqP8TYRiH7jKyt5w+U74bWV +g0GioT9W/oG0GONLbxrOwU0ET1nRRgEQAKj4bEEMht1rUvnADqL3e9bvagdckL2i +/1wEK1Cz5Kf2PrMHa92jcnJUWYwSX3Tla06aqi1C+i1LbLuxoH2YAfisc6lLdayO +Y4iQMeJiIfh259lH/uLcZZlKG0dsuuhoLt0wN8xF06ccyUihzpwmUpy4yz+xOTjj +mtgzhaO6ZMcY+3fFjKRGk8u+7UNSoRZKJZQu34VIIqCD3NOoKXw18208DAhwa6sE +vJx1mKJjY4szKnNYCiCnw34XVNSlZEW01cPdwwrPubyNjk6aIT/hhLjsDowpDcYI +xB+i3//e1Am8a0KYZOdiYSUr7jxe1yMJCn7XrG0nkJqHK73MEyKaNVEXg864fd+X +/zLjgguiAZozLzamccriURcBUfBYhN3XrIeEkFLgNg2gdCw8fQp7v27yNUvvZu0j +tO5u2i9SENQga+S/ttyU4cpTPCFFpKCxGLQMQx5z860s/UkvL2TDc+q+IxcKSjVr +TSCgTTniWa4RU9BugrQIWveNWI6li6EFNHtt1P3FQG35O0+g5gv7/dGDflCx8zj5 +9oMMECfoIlxWo5P5lcyOY55SIG0Pz5louuvakU6ED3WsSvNzwAM9pztySHJNZazv +b5gUl2l1ZlufgbRwwxA8Dp/uhILeufsfeCGLMbZ4L64YFP0HFVpnswE9RpLrGIx/ +rTdcXs1Jrec5ABEBAAHCwXwEGAECAA8FAk9Z0UYCGwwFCRLMAwAAIQkQCiTAWZi6 +QTMWIQSRCEat7kxdZ8GbPm8KJMBZmLpBM+84D/42jMbiFW177BMOp5FD3dbniUoR +8Q96JqiSeUNtly/thkMtCImWPzoO/rCDTN3slokAacNPLmrWJUF1UBrd0H/sDF69 +A0xbw9YhXgEAQBQb09h8fALAAH8/fdGcb4mKFwCCsnDcd1Zax6Ur1CExG+LfxnYG +gV/zqm0wBGnMk8c17vdmSztCBP/PH+VvuJnK1gudcnmfrJ9Qq0nt7w2gw9Skomyb +CRoskmESjhKQ7SesGsQdNq0Qpquiz0hHGXgLswrlSFFF4If15dBWIcvjcMfNP8F0 +k/774XU0ZJdMGfNYfe4e+dPxJ6u7OuY/9U1iB2nSaFCBtXN4ZucMa4K2kAoaXv91 +oPsboo3p4bQR7/hacAvb+6Pzmitw9jMCRyotyY7sHrk9sKuLnYMmIjS6YkYaHpRK +N2D17wpb7pq7gbNVSjCBUzcqmWaZOfJRTALscLilsXSgi/nDc79kidSvTPuWPkAj +hK8L9ekcLSwk8ke3pOAH5YHDFs2ecXqRQUTt4L42hcAWEz7EZxBueSRuF8Z5TqSb +rqPgaWenkYkjuG3H9WG6JMUpcVLDKawTgleTOEwN+zTyffxj9cafT72g2rDBsmZd +lQ8THfwbjg4VTzHmsKsl/M76IxnenxxBSmWG5TiM2zaOQFrQBN88Ro2aB/1aL7FW +3jHudm/cMmq68DXxQM7BTQRXzIQOARAAsRk/69w1hn0pvOQx+9QFe96UFfFvqX3e +qrO7WruSz03poPEg7OJtxhyZA8VnpT5BtMehnhczumLtEvSt94bZmx6ZEvUU/Uah +7ajOyElqmdtMY2X2i6Sc1jb7CMYat8C40/wNzw9WNIV45OHEGhKZXz2TOKgaedTt +77GEIbiOipsQI3Frgre08VVXyby2YdYLzQNWOIF95GBLGHcAlSe/DSusR23DDxIF +UM4I5ISWsU5yz397mYjxKP1D42I7OR8syomcu/rpb8XXd48Kr2OtjE3C2OgpzwhF +QDFWb/mU3yFJokqkutjdPOnxVjBIzfQHbDWSEVvzHqVGEkXhGKyUU76p6btX52g0 +HM4vEBNKK1q4tuUwBs3VWvyGuIPczji6kdYbijJYUQbCEizZ9KptnHhnBCrHuN4b +JCVgoT5uOlrYo3E7+tWoKuHY2BlBjpsrWRl77iEriwN0I9soBp2DJ2EacSNU6eTf +cZxOaTceADQxO9uQyAaGEU8PYKw/pbmzciVmmXanJSeNAorCMBhsoHbKawq4+gK4 +bH7KpOg1N/01MCLjguGPmkMw4tBodSWD1ED930aouLPOCuM/cRNKmv0RTE+Om0DO +lEB+Cp0L9CBh41Resd4eANLVIpyOG3GDW+iIl3j5AYGGpQNbLth/SzoOAy3v8JQH +ha5Zo7F66S8AEQEAAcLDmwQYAQgADwUCV8yEDgIbAgUJAeEzgAJACRAKJMBZmLpB +M8FdIAQZAQgABgUCV8yEDgAKCRAvaIV3JmcqdoQIEACtXdUL3M1tP0BexCRLXLCT +htGzOVlb/WFQsD47cRQ54Hres7yutaDC+7WoXEcESy1co/D9cvpdtAT/0FkYU+hz +1TmVKv1uGZ/5wC8WmGmSNPEkCCphYuT8+IQd6fSSUNghYRMdqc2WtB2lFpUAXKrV +vdHGYJ/EJLbWSwhu/lXLFMQ4kYKaQfkwFjczVapAe6OEpAV8xKfI7T8Wbbau06Gf +RdT5lVpY6wUBUnOafcTpjPdyl7orgQcKwQyZckiUYap8aff111Qi7cQjXjcU16cf +IxD7J6jf2zS7K/pqqPfpD1Lq4pYUOTkOPAxA6Dq2UgfHVT5aM+BLg4J6IWZZ6Pd6 +kgCUy2Bwr01DJHIjQZxpMeU2j5Z1XNkVsFgxH3606IVlvrLbahkSA95jpNL3Hqd+ +woPbmuvJXCqsNca1wRk8GfPKhWzIzBgxoEVmNmbZfpoz5xQR+nTIEOCHqWzMfl6R +aPn38Kl6cVu0tnlBY0TH+9b1Pp3QDU0PteDLqNc9lmDll+6bzyv7rPXjFGPoAkyb +bp53G/I8Qnxt/453LKlfbd3iBbqRgC+x6eTxjT5+2gBf8yxKFn2OCaTlgFg8ejW/ +9/Jr+AcPA0UhjAHshR51WNVm43q+xJxZ2K2YIv9Go7wzygbGFO8ga47BG8Xzl0Wm +xEqcA63AvIo1ZYij9xfkrhYhBJEIRq3uTF1nwZs+bwokwFmYukEz88oP/39rHAs2 +a5ctHzr2nLtVlnfAXk3pp3wwPPSDRoujUCmzYngJW4Npvz75nq30TdAk7/KfNAJF +Yj60nWXCYuinzjrI8TL7bugx4iezSi4slNtQ7NLG5FdM77XyOD1yomMGbkQrQQfZ +yAPvHr40emyRgzBIMToTNPRHk2h6fJozxK/c/GvyT8Rqfma0WQj+qxmkrHnQZCey +bZcy5+eUlDkXlnfv7gT2Ju9yC78fhV37EEMlSkeO3Jlvtfb6UyCZX50pXNSG6wF6 +C9yyUYf+HGKq6SDzlVpN2sP/brbJrAITEHYk/HuZzT/RUKO0exRAUOB5mVEPdco/ +r1S+k/FsfWYIziCKdpgPzDlI5CAzPRY4MJiLHO5B9S10nIv2z7j9VlE+wTTa/TVU +tnqbeSHExd1S9M2l4stY9f+hNDjMaSdnSlxzFAEv6wSn7MWgbxdg23G2BGXtabVh +y0ESphW6X/WkYuRb+hnKlQH+jpFwelpzyJriKjcTGH5BcDMLbZtrUFIzFwMMPHhh +irFQZaSvzn7Vq5tmPDYrUE4SrVcaCgs5kuuYK6bTJ0cBjL6RNWEGHAgLAdOUBMFH +D3SzqCFgzoQqlVRfLml5XfI/1Ic+IhXUYfSzV7bTiw5R74QW+Fg1LXqj3lSwwxfh +xLIV1g/qGOJRcVQkpe3IxA3KWYb6Kq0FuWKYzsFNBFvv+FsBEAC9Tty1FD+0flCg +p9M0luiOL/+Kn+WkcUKEc3COZ4rInKBuFOcLjX1fCH9XPzrKJ4s3YDKlczkDy9sq +PLM2zyP+4YOH/rK2ezmuQFFtIJP43Boy47W7jBsHC2QtlMJNDj+tYCI59Mmq9icA +EjHV/d1oJ94rJRGEp7EbYlg5KuUoZO3bd+ya5+ZR8PNCj+6Bge5GQxq7YZFXciYE +vsw54kIXUppg6NM/R7d7hwV+F6CWSaXFGU/CkNogJUywpxgLL+THCELbTymJUgIi +7fm87rfybemt23n65/7oyL4BNAk3qdfrUwoFSS/duDXnvg2416uUlR+1z/U4YjyO +m2GhN0jJxQEGBC71kAQ+JVG6eZQPGHLbCpNT7VqOmMV/NBBHm0/AH9AdqiP7Sisb +LhTra54sbB+WQGOCaYKyYMwahg82EsuMnBBFVgP8P8kur86PyOy/ryWxeefabWcZ +bvYBH+N6ULWnyUlut7FLR7QG+vOUQs0WzlQhYMOhr3u8kf6gDaVH653xlCdSyQRu +rjYsjk8ZTMFkPnmX+fkRiP1z/mSkVDUGzlbOud6l+8Q9gLIw5G5k6dYEdu82yF5A +HV6pJKZWRXpjE4O7f1h8cXqvE3y8DUi3XbFOZ3utj9m/0kGkmlNJXdIwaAsAa95B +PuecWPEmJCldRFJzOZqg6f+VjfMqjwARAQABwsOyBBgBCAAmFiEEkQhGre5MXWfB +mz5vCiTAWZi6QTMFAlvv+FsCGwIFCQHhM4ACQAkQCiTAWZi6QTPBdCAEGQEIAB0W +IQRL9ovHQQEMoVpCRT2cFIsrdzRm7gUCW+/4WwAKCRCcFIsrdzRm7uKJEACK0Zcm +Vy8/xeecmfRJ03+anMV3LlqUE7onVvYQDGTv5aEjDgfMVnvJBK2rmo6mlXRBTGHi +r5a1Z22DiBhz7uFpR8+IUwypDX/pL2I6Tii7wMckVTRkkYCB0laxF6dBPccscGzP +Kfbnsdx7JOTS7/R64ajnm4l4dcyxTT1gcBAyWwHKrsbtsMOZiXnLYl6MLIwOQpoP +OS/S1m7zJSG2Hym37Re0Qb/IYDzQfh72Rtqk4FHwyPP/ieZZRrJ3Lug0ttiSiNpD +hStQDYdKAsZrEORHfelVGMtZ/DqkRb9/g9E+RnjYsCKR/IONw9Yfp3hKEYWWQAKV +iZ3xSKSO8n3S6PbUm4z7gf7wsE6zwN4DaF+SZ6xHgPX1u5pDpKp3B4DxkpWIVZwe +5je8vIwXJ9H1jfAmUZ6RDtQJhg3EeJbLea1WpKkGd3O+3p3DlEGp4LzWSPg6WxHq +ghUx+9KIE12T4emh4nV3rsEVe1FWLgaN0iBz2ZWTKwuZW8yCT9V4qaw388FZv6fM +Z/CXjmkZVrAyTyMDK2xC0HtcV+5jtpBGt7PnrKKv2LItRdDIHpTn/bueq8O2aMYG +wu6ajFS3SW90gEKeTeX2m1ff1L3ddDGwwTMTdKw7J7VBvAgyQMh8w5Nk4zP+HvOv +FSuo+hdyA1Nukl0OfCFQfBy8FWl1OzBUUg5ki4J1D/9/cjDdeB3Yye0NEUNKkshs +iVn6Mgauxg4u3ycYig9OMzZ34GY+udB0l8ZyEIh9qgCacr0gX4nEp+iSLY4ak1cr +3ePoUnCZQTmIMUbXXiT9X1LKRuKLYEhslnqzz9C5JwCrbUvWu+ak4nXAQnrXA4VB +c0ZKKedm12cTe+gmHZi03E+76ECZvf2Cpjbs+kBjYCSIiH/rHwXqsJrhcX5eNO64 +daK2nEI71ouuF2OooyZK7KZG9dGUYgWWNtDhjvyEFzSoUGJHMwIikUbs5YJ5MXHG +WS/iqczt/zBdS2/Xre6j4h3gLQ5rOUGXKDd2dnfYG5cntVODhFzlmamLCq9jtrqo +TyxRXngEI35rOw1LpYxPiUpl1w7PnxjFb7zhizFr9bux+x6zxEyuWHTGdJwHgJnG +EQ/S2rxxr8PdTRruQTFPlQzamC/CTFhn1TcT+xJvwRlpvwlZTU7AwjC9AbzX8/r6 +mgDz4P3TqTIVA63ArUkPUuqyFHGAcF/wgUAYyJ9e/HNP7anADlnV4dghvfZlFTV8 +Jarz3X+8WuBW9tWwCvQYf3ZoIeeFMXAG5aqkDzr1GALlHTuJItILN7jabSbpDcDD +9NOOl1UXRVI24Z4lMIUEPV2wkicqi2azf01B9NufdCjoEBMzXNWXLNbMpji17pSz +e18dHV8DtRVgfsuNikr+Oc7BTQRd1akDARAAwG+flfHeOCY08P3tyb4IMDNDyj8l +mtpW0XIZtHEJ71meMXPh8OOq0BhYvRvx5QhPaGmViyuP20ph4XveDb/EFpagqf9R +ljZl5oxCjnOuG4Hs6yWBDey0G0kLD/FN2D0wvxBw0PxoFK5yCfgTsPPHjqdMESJH +PeNY+0QQZXGve6jP6B1rk7mEX9BbS3v1dmccdOA0M07B6nhoZbjEBpZkX49p8e79 +mbhNAb2wLCv8kGGhUVRpangJ8bVekofaNMfQ+af+B1DDWqSNdNirwWuWbV+pGENl +q/QeCf3TkMZgFurvr9K4Lb/94EoK9UfCp4fVR+mU9DaMTvpgMT231tdcgJNKImb9 +iZAXeokBxOFnjQ9gsN937TXwz04DvBmxnvOYVOGVYjl6FG8tyvnJgCbv/SNmShoK +x5vBUQGi04456IVawOlg1sA3u+0AIezsohd2BdiD6zPHczK1729aL3wDY39aKahV +GKVd+Oq2PGEBbRKWbnOvgS3PLY/Hx0j0hNbXqlle0C1u/7hwjnEcuVkOgEaQzgYb +fiIrYX88l85EtVdVDDSrmJpGqI0pPhlHvWH2Gc+1ySx9uSnb5BKFCW99UsJZGDLW +4EIilBkXkPaCDpliC7DioJR57T+3UbKPuTJ8HdjCSaMqgVS/yEJXHV4aK5ZJWN9j +b4axZFgU2qMWhA8AEQEAAcLDsgQYAQoAJhYhBJEIRq3uTF1nwZs+bwokwFmYukEz +BQJd1akDAhsCBQkB4TOAAkAJEAokwFmYukEzwXQgBBkBCgAdFiEEiVmQH9f8dZnu +7uJsHRrA8CkLPSIFAl3VqQMACgkQHRrA8CkLPSIuIQ//ex0S73FJN2xQE+Zs3EEX +1DF6cj4ACVF/KzgQvJze8DJdwJIQrhKAFfwgZN4B1g0o0ZkuDJYNv3sNjtyOABMv +JQkAmcOicnzjVhjlv2I3KtmxkKDiaU77Mro2vxMBuKQvB87eTvJOrC7VaZOiIu7U +LS/MqCLoNWz+qVZBNR+x9wQLkbTuwkgp47YNqCLpv/wwI0R/4wjjXpNJTVFQWSgn +xf672MqrkZusjQwC6eiE0LW7EjA6byCj1p11xjzhn/WC7Oc0YXXx1fPylmIR6YUx +oFU7llz03zUWbks8Rv/8t//QGE4xbIoqMIggVHBmoBBZnv8qJcoEWJ7pos38zy92 +bjb4vSs2iu2W3PybEtQEtE7WvoJXbexkDQt73wUi7OK6VzH0sVA9vlqGkuvbd4mL +V9krhBufAU0VMON9B9TA1Cn6OLPKkMUm/JdIn8PS1xKVKzWq/zU1UYzKn+fVbCqn +cEcl2gsegl60VC0uBFy7Kv4METxFDtSs4gsRllUSSAMD8RYgAlkZkkxLRdKVrfUB +j6y2R+XE4H+hhNwkWVgC2dSGgfSLtbO2FlsBD6ObblxzbvSYp87yT1mESvqDGVtx +NBIIBOVC3mVwLcqSPdBlgOlJCbCVyb6guBrbIGYUkNTWMal5xAuYaGFM3QeFM6xg +euLGLrdICLPqGunZRKBBRs+t3w//QVmiQQWXpkbBoxRzOpQtiHg09p8vxBCf5Zky +icr2kQtUvLQEpMDo8i78wG3HuI6jyXdNeM5YW+pTEhGhyanhZD6LgIRMrZx7szmf +Qz0T0NLkyrg7LQZQcAbxMDDnGzy65okVys8kFIqVesue4kMgTmJvEie2G4S6WkG/ +VO1zHkDvksEH1kjezGywY/nXneSJvdox0LN9FLoXqqWj2LoHg3bXS24lc3ra8YTF +wRr87z5fT8R0qed2mbcPQ8JUnfvU9rYmTSF7rsTDUeXCXfzFZTLO6RSufTZGmXgp +uyXS2p0gC2JxsrfmdDKCMeQ436Jc7n9+i7jOUHW/Z0An7jhC7YgexWsuacXlIzIv +yvPJ65QqAYJaDatdftuO7/lR7+RIXXL4KC0a2LvozkTgaGOhYwdxFBiXOrnyHZVf +5KPFSXYOtmFpiX516+L3X9dUvvj8Pkr70NuEcgMQ7dqJUO5nLRgoa83UJWx1hks6 +LvnE5i4eSsrH5N4Kc2ZI+3kd3/1tYpSFs6ViH4NSG7gWSzGCb3Nrr71vlFiTCEi4 +qZuESOXg4l9ZkuYNiaBStJOTKErGnrslSMw+/ArpbLo8k8a/uia9NtDHjohXYGkx +Os1kXxZjZmVbXKb4sZbfVOVRPAWSEu8ArCrLszMHNTUsU7m+hpJa4FHGe4g5Voj/ +WNm4ZUbOwU0EWepLMgEQAMU+kiKIQGkOzwFXz/fX+dWU3eTdnUikkMDa0vJ/1VR4 +6fyB/He3ae2o3zMFOH0Spm5I0ss8lu62BEh+se4YIiqHwXcVEAsmXz8AWF2C3dYi +6XcGpyZ/qRYNVmnCCGe0p3VaP7YdbqnwGvlrZZ514MfJ4pDAznURE5XeoreCxB75 +4ep5Um72P01ULKyUPS882elXc9B6iz521sTfPuRM6EMTxHxWwqqhryeTPg1ooH1l +yYg8mxtUMECvbGskccZum8BT3mX+VyqplaNhLsVoehmk1D5j/SM61UioVuy0Mhd4 +itjaHQ5sN0UpVMsHN4wUtBSQyKJQ/WtHeUt+FwVbnuNzCHRvn347I6+VZNWBuZRT +nn2yAEngi2S4qmzzWZMJLfamn76zoJtM3VYFN3lBND6KZsn9DPiGyMNVmRkLnhgN +XOVY0m2OEFZJyCFRbQ0MSrFYFPgLNk7EGEGWtTVzhrf40EJ86da0KDWQCQIu3w87 +/Rid0a9gQZ0YnQoIrQQzNWUt2j6zw+b0ZLvknDzx9yVDVEyevszcEjDdAEoSsr/V +b3L0dQ5qxDs6sxfLWRA2O9lHPk8IDqF4u8TAPOH/Z3nynmvukqEcy8gM1xsUIoh5 +b/X3sUh6sd6DK05VKKXEAtUdzw9i528ueB1KkZYthEzceQeM2Rhuo1hGLTIyiyeZ +ABEBAAHCw7IEGAEIACYWIQSRCEat7kxdZ8GbPm8KJMBZmLpBMwUCWepLMgIbAgUJ +AeEzgAJACRAKJMBZmLpBM8F0IAQZAQgAHRYhBEQhlCA8J6nBw41ixhv6HZfE7yyK +BQJZ6ksyAAoJEBv6HZfE7yyKF50P/0KZSdmHif1UMh9RyWriDAglZebdcPSiebDw +dKGkh3vppykFAShMHvI004RhvnysvBb4hAKVVZwgd7M3A+K5azqkM+UsgVclFOJn +N39E6vIKHoJEWGMf59MSVDJWoXeYC6poeVpGFH8k9MenAh504ugWyoaR7sF8ApJX +b+PtxFnwR8I86fa+cY5robyBAWXLmt3/v5sGp2f509qtiFwU5yTjFBr7QdLsvq71 +js1LyY7CJp7FwffcYYmBsUq7vpfJQXarnzbmbUg2pue/vZZJZUdxJ4NfTGrQ+tGO +dzt2r88qinYn9R6JdK4mr3zgb21F2VUase69taQ+wa0Q7gZo43IJwmDfV28/xZXs +/2LOYb2fFQ/Uzc3lPcBLg1eCgjbNx5ZZwRyh/7N5iNB+w/6mAqtnlZYgYPxV5hH3 +z+Ji5dt9dJ/Rhg5GXmTdA2cvGnWcbbT6WaFPftsqCtLvA9gwBAgq8bOfZ4ovjhbF +rrD+6Wd7l5tyfDDhJ/Dnl25eMF+kpkLI+uZrQhrikPz7zebXCzrQcQj0jJSABTHm +h5HLULugFbsnhifAev6pnO5sN4daFDkyFFCjuuYaM27cr62QcLJh7wQSznKhStHs +XgbTS27ipny9FUd+7Q3gr1bX7ZVsOfITJPX0pXKbRfMgF1S0EOVl6R+SQVaotFRc +tFX0mH9m/wsP/0ExXKk/jctX0gf1RMEIoz90zKbW8Abm4tPvKQbAz7Hibphn3RXA +h2gOQxm+ZtPNrU6eTzvvoxIeHZ4Do4jqveFx0NZqejDv7k0VFXsydV2y4g/UoEAA +xGPeGohPK6f870jOsbNLXRz/XOPiWnyxvNCxg6n4rxCu6dvfeuOVgvlfVaswJddY +KGTdbNVng3BGa6MFfz3hAw3t+zHNOL3+Eg88uvZrA0/Ub52BoTSkB4AzmJB/Zp1H +uBUqGzNx2kUA7qhqZepumzXZjgtRBByoCgPsB36T3usMuj2TeyY/GZ2OASd/UrKD +rY9xC7PS26Xg2V6R9zuqsqEUTAJwcZjyXl5y90Bie+uT9EsH8/ZdKNzyqp7wKMnk +iVTSxzT0spLbMG2c8WP99RwCIUBeca31u8sh5Yah9I35zsmp/vEpLJ+ZPg3iX3vJ +hx6cALYB4KpuTD0lp2KbWfJS7WiMP3BTQZ6LlpD646Y9GmeIwgsIhkwbWwtkNMzo +hVRjWkvdUVIsrV9K2DUZBMxrXbaZmAD0vgEs4MfFfeerpAtBsI3KUbo0159HF/h5 +a3CkGhCGJFRC+EWpFRximeYe9GfCZ6m5FCQB2d0xkt2BjMetE0dquQBMazBV0AAv +Y//azrukhAJx/U1I+oy6ZowcSAXgeJ2r81Rphh/9AfBEAxp7BiYu/tnSzsFNBFUO +oXoBEADNexhRP4RkG8otFEo3G6TjctTNPLUfLdp8XZoN/RkYwj5TU6/mDQFHc1l9 +Z7RzlCyxi5QQFXZv9SouWp8zODpoqPXFXOFh+UYndRnXeI/NECFcC2HSKZXp+xnU +KIrAiC14eUTNy25TdHk934ZtPQhwZLKu5X4AmLwA9R2mSO9COPPzaLgvCKclMRp0 +6KJmD1rcIqeX0sv4ZBtCX50xbIt90+gsGaQHGJ40WzSGmAe311vJAKf/ID/8erUa +30WsSUU/0TB1kEvlxOuWpJYOi6u8IXFa4bCQDqaJnpDHSX3DzB3hjODK28Pie88j +CNqtdzfmnyJkS6N0H2S1GVWEckdqF6BkqTMCtJpdjgwhaW6LLUhWiVhCZHuUns0X +DxVo+I69YXhqDVFitUmC3JiEyUGl+OJgwyxjOZoxPt48k/HPEwB472jwXshR6pkk +akIm5uX9fp61E8acSCnRlTSckt1a3NYdWixVEdEBIBbFSFFH4+eictLS29Q2hlLd +BDi8K30hp37knn3mU9jJaQ84ZtwpfIei73ezB7aY64NXE+/vJ6/q7D17CfZthtYO +ngu7Gev76yVRry2R6SMN+wr28rDokXMgE6CKbVur4Z5Hdcttq1m6/mgGXbgm4uKx +eREjqhBUK0T2droXpsl8n78V/EVoKWI5lPxHK+MAZMXHG7f2PwARAQABwsObBBgB +AgAPBQJVDqF6AhsCBQkB4TOAAkAJEAokwFmYukEzwV0gBBkBAgAGBQJVDqF6AAoJ +EKdNCEzEaHWWFBkP/AjGuk+zE6jmD6mQbQWd4dzR8ThUkBERKVK97Uu/QllvFY/a +aQXONS8uaVyzmNzPfGBNKeJ6Uma+NhPcQOEZA2YO+wlTbjjD9oMuc29S3a4xByFs +Mydg8mlrYqNQ5lK+37r+/mONusRXmFwwOXIy4kIE6rV2YFXCaC+Boc8K8VDwt7+u +sZudds8arCVk3FW9bhEGxfapH07h5RgiZFFutx77Ak8h1GqXOgCf6SvnnPKpuBaF +uHrO+GUFtDH57EwrFAzxWeyGJhMT3uAl65UmcTJwQpVEEXYD5L9d55hbhZFf/PEA +NgOV76GOvY0SrXpN15C3eu9cCxp5IvceotWHB/IBK8POk66jZaA9lS12uorxVglK +N5TeomUCncya8lNmMvaaTe1CTk6dGV4l+G0AqfgSRrK53IMg5nwW0UCCgyST7hgC +nlIpikaQWyh/mOzWnWGNy+0A1KCTTpzaQVOMa5RWjKXhATVogVNj79BvTUAhqtjq +0nVLombGosio5aE3irocnhmcBGhvQO9h9chn/VaQ4ntWkHYQxO4ZSpz2M66D6HO4 +uJE6x7suoStDQ454ieAf8PEDkhaOfuwRgrRvspxhNAeNom7nNLEn+Z4EfYgBFIoc +nxvycVGy+J2+ySKJh/jaERosZDJ8rJZaslOgx96zBFTw3XdAurmhjSzaB01SFiEE +kQhGre5MXWfBmz5vCiTAWZi6QTOYPg/+IvwNqq3mWwvvC+uXNg+KetyNRk4MUwCI +zKguI4QEbKSGatSrGCLSaSA5gQWZ0YyefSREhR5vutwizHOcWDzANq+dk1Vc+wQG +rPS4946eU0PEtLQY8OR3DMe2lT5EnGf5e6hDKxz719aFdsKd/nZ3c2rwV0/74eA+ +ixkMSOPXUTyy5O7SF5NJRrYrUJa3qMGTYry6yg164gRGcwvG7udY87BqB6GQsUfm +eJv5k4wB2UIXYz2KaLNfl1MUpmGsRwlB+K4SiXSorKxw7zugVChK938m30es7/cy +r/6/4JyU3JhW4+E6eSB2ndWvgA+yMUbxEzLi1gLHxJ6z5MwRHpWxkFh1GM1Pxtxr +ip/gYy9N5gQG5tjDQlHnAsZqddlpwMKlIKfXDHWa6WMT1suNSTpTPkrlBZhcArKC +hpRdlupO+oRXi3kMveNoeWkbsntY8H56/AvHUYSXA2ixTtLSLeSPe7Gizlw2Z2uG +JGGWGYyWbbKGR2kZo4WNJlT1qfhjOCrUdxNMaY2oPyJl7UyBl7pDo4e9REDA3W6J +UEITjli97qYxKrFy2MqAWOnio6EmYtHYqyL7N1Gh9c57cjPBnN7/NueVp+bUHKAM +zqBnxTHIVAjEPkjd53crHytM5cVIdFlqyiusAJCrhFJGd4yBro9Lx10lfpaS3T55 +VJFiWb73343OwU0EZKlhzgEQANfUEHhR/Gx3rbSs8OXnF1nMQ/nGusI1S1Vf0L0I +ylgICWdUQUOtLYD4qUIFIvnmvpSTX3Uxau/UxbqW3kEF27zeCkNlQF7OwObjWDgq +hTdaEGspMYE4dqaU5OTblWAedYj5qGLeltFydfYFeWxqJAOSWzk4q1woa7dYWSuG +gubMy5WpJVqGP0nQlUu1NLe/M9Rs9G/1RMGudGm4RufQTfveVcEJkqgtQj4ys9IA +RO7XpKhTRt8kuanzOf390Qu7xzq4zLMqX68HV0ZqNp1BmOAVX1WkIsKboQr/5s0g +qMSNHpMiy1pz8bLN8NfSyCzScr3ciE74y/J9jQoJhho7/MPgKKwdGR9gflVUkaVR ++FeKiqn+aWoKQKMwBhOAHIlPiDrm6H/tcM/af0nYb7kmXE+iwKoUKDmtWcNWHw91 +JFidrvlI6U81L3p0Di5WLOLs7YzxMf1tQLLwaV1uYyG9S4bQwaoEFljAdD24f7rL +0X32xnlMNyXMYGSwb25c2d8iRvpt9Yp7e6uy634P6tNpkMZ7CNPUv3iDhQJTDRJ/ +j14ms9t+R0oHdpTp7WGVn+eSyuJx/vNRJUg/Y3LyWtaucvchmeUsCR76EnPkVbeS +LXsR6CshDUUwkt2xM9rzEpwOSNQiFsfteK4DUUUHlW2lts9TZ2trOUXbyhkwgr6w +yYyVABEBAAHCw7IEGAEKACYWIQSRCEat7kxdZ8GbPm8KJMBZmLpBMwUCZKlhzgIb +AgUJAeEzgAJACRAKJMBZmLpBM8F0IAQZAQoAHRYhBM9ImtB/MlOI6uv4WYQMfsyC +p4UEBQJkqWHOAAoJEIQMfsyCp4UEUssQALF6xI2h0/6GOVh37CxezMLxDZ/LDYz6 +4+d/QKyY+dpTlohVkztMDubIHEQ/BT/BxOoy7L+ZDhmH0wG0zgLCfIbYmVj6+hzr +bBwx0Mt3YU3PrgHZ3je70RRwW54bf41Q7g2TZcLLKYamOWE4oJXXkvx/s7bXD4xI +y+scGX+XI2caRXzfKoCxMfapLCodo1ol0fMz/d8sogYyaIcTSw2EniICtIE4pnye +d15yJoBJVt23vFhj/r3n2wt76gdYLoC/xmSDYbxIe5Ds8Y3XQCSf5jHEkbZ9P/ye +Hrg2OEL8A6IlJfC+7Pbnp+2bnLejrnSPsgU5/Cr3Auo0DN0GunacCflYIRN1XyM1 +vHnSi65skv4RUPcRIOEBzuo1RVDr9NNBv5lhfKhCdG4hzMMB8t+ZSMo8+gjRiM41 +vUhyRu4kHuW96FdYqecMOPCsI8Pt7qBKywRm2CB9kg2oBtF5LnC6pccIB4HZxXUi +qknGkyKQu56sEkyMfScg9+7dBbu5dGddQCVHoWP8ISiiYaXkOlXv3YcyZL7Vsnr2 +lXoTNdFJaepZ1eB7cbqlOGG+fslpeZnXWZ0yJQ6trPofcUTkUUqshoqxG4M9GmUD +q7/51DspBzRfraDD4LLTAjXGaIUzr+R1t+d8NNQXAG5byiQXmcuQUB7rxa/WFe2o +avA1nO/umzBw7iYQAIRhjLd1nfwxV/7X3UhXDUjrol2vrg4BBpNrNS5V/0dRcGnt +PcHlrbjld1/s9jBSQ3ihMh+MEnCuv6oR5tZWX/cmdmKRJ3mxFAs2YxpjgmrKZfIj +zNmgZ3ugHSePTvSJa+aVB0uGwOUQgZWgABhCZg5h12b5xunFpWa/kfXfhnPVDCti +QcB/9hH+yU9f0z0bDlcy13P0gBehiLhKStK3/jDLf7/pmN5J7rUyVfu8kOCIR0N6 +VmhZXoL7ZpYUF1f6WdEGUeCGNojwn07lfdTreEU8lkQw02lSLc4WQ+F0pbDheFqI +jtkasOQdV2+gzMsoQTdqPkchz2VPHbNBmB0D30+9q+Vll4yxzpOriIU1sRESqE9B +qiIMbQG3ZomZ4SIlpx8Bm1jpxxZYpkSSWHKwJsz7jqewrBZNg9vPLHtA42D9Tkjb +8SWeJmwXoaIgqns0Xzgw1ZISFOBrUdc/o5YDuFlv2D94XnO3pv64oT8a7mDBK5JH +6IpUtw0rnBFoq71XsaBbfIV5iUOS3/Ard2hv7L/Ahw0zJrdLrDf751DvQo4wVICN +AUzf/+YpyWqBbDwwDrrKfOnjJ/QWQqB/js8kj59xWtuKw3Tpab6RTFnnkCV5Gd9X +zFm0l3jCtyJHduU7HiTunwWZXvbLPnVRlFFgkZcR8BWzEYBrSCNzMhIjJGbfzsFN +BFFIOSsBEADi94m398bm+0cnWguUcFxu0fR9i4rYOpsaelf8nuyV0IBoSsojrHxV +AANn89D19zKLjsrrnRUAUVIuRacWmj7aJBU938m2Fy6AkiokEbt+fdrac09lumQe +e6rp/4lDpVlMOYxiIeMlOTFLI0ylvxBrxu+30jU4M5FpMv4RwCDD3WMTrTmvyml9 +DHrhlTNHQsF4nbu+PdxlqULU4+G6JlNYkrSuWkfqKJcZliiUdC0pJ8QZnDW8ldBp +iqvwty/I0SewsNyFXESitfS3oU4AY76mg01Qofk1FwgY1O/KNkUzkGorRm1XPFHq +XZYdJzmrYODZ+5Qky5e8xLJw37Ftb4uG3ewUVPAVne6sWgky8EcvH1QInNHEI73U +zQ1+/biFvrIYDqtW5MaNWrHPhxeaT3cvgGsueMaIXs/t2LuRkJpfQBV6wKUzkSXk +USc2NKu14xs49SAL0Z3VcRovvX0+qBy63sX0APOkVpSvS6sUTUD+N5Adx6LWd3kT +ttkNlFVCwHku3o1af9pL6fAZKcyPNXRUkcCP33FcBqO3KswP4n9egmtZjTiBK6Hp +uZ24U2iwcwh1wMJWN5HyHUtfRzTTiPHLjI76FqgjTQoMcfDB5Uzj5CE41QKSBqQW +qwwLNY0oNpThdVheIgQsncwwrePgySg1QhajIsVuDR8txxzMf7S7jwARAQABwsOb +BBgBAgAPBQJRSDkrAhsCBQkDwmcAAkAJEAokwFmYukEzwV0gBBkBAgAGBQJRSDkr +AAoJEIjAI1625FWnyQgP/AvgIvobUCAsLVMx1HWWiVRTp3aBiEgej8ftCh8EGBNS +Zp9gnZsnciQix7XRZ6w+DlvRhNswqxFzC6KYm61hZUDiNZwxGCyZOt617jqCMO/2 +k8y7AnqQJEsjIYTbcCIgk0R+Z5Opztonwbhx/EpiLpj1z1thstk2Xnu2vEKP8TSC +a8OgJIqeP7z2j3gIVbnu6hc7+hBJbBq1P033lK9o5x0j2qNya+Qb4PGGK8xYLZg/ +UjMpwUQHjZqK7I9lWMmk+7AKjAVFaCgiTaSXLb6niHU1LHixj3MtMRBHpQ/IK8e2 +6CcLhpGIz9vHTekvBmsZT058vUJHgxqhNRyd/gWsX+j0pFU403f0vZPoBHtPl2Ge +tFfQQF4pnSEl/jTRX6Jzxn0gkzGwtfI0lyFeuWnMgRVPafmISB9uOGsJQlzvD1+9 +hyT6F5PfV3/LkjTkWz32ar3IjXVPwHzgy9Vu+d3ngC5pHHJchLiA/+d3yyeFbpUc +02Oj/2w0TPn7iN/BCXQRdt/fc2rdGlAklQeX3KDWJ0f5rH9xOu0y8GHbOI05uNEf +/TphSBVJV7B3afPX3Bs0tAV4VXzqcYS4bQTnbyd0vYF8e/3RqoGfLfDUvlooRvz8 +hkh5d/+gZ5AUU2g3gXtfMhVVeEunK+qtiO5zDUgZdzzjaqWpDmWvn3Ze0BkCS5x3 +FiEEkQhGre5MXWfBmz5vCiTAWZi6QTPu1w//Wxv8gyzBJ8SfTuKuBtCdE3R8NfHR +Azmr4zVJ/WKR1Q6wRkA7I5CFGVqUhGR6gm8V5+yg8RaDNz1uAbnF6AovfoHKKlcY +0hE5ctyLEx4AluvxQFIWtr638qUSBShGyfdlMaHlxL/p6QdvUKZsgd/20MXg7Wqn +HOmSCaZDeUVeK90aCkpRMaRMeQ1cJkwhAkRKgm+X1/d7FpL8Dh+BPDmNoRATVYDU +hOWa52Ex6DsHCkQmi1OEYp4bxruEYUuW3HnpmaCpc6kYM3pAcz7mQ078Hm1K6eJJ +s3h52Q7QJiY9KMfHDhbn/MG/pWwLqFIT0gfeQgJK1mOofM2PNqVwOdQTPc4bFurP +fWP1j+mwo4xTcBYcubPET9sgQr1UdAGjJeC7SQv4fJkCR8XBRoKQptUjiQfHyAUA +4EWTYwq/ikBJtx5IS/p1W2nqTCkpIgClg4isNWh079FlYEbJtzRVeJtiqIL77Ftp +CXrN6nLrcqZ0A1qPKz2kYdrXTR9y0nUVQx4dWvIeoj2HTPaMjTAOAYjmUbIhGZn/ +Qd31JVNEqtHv+T+G2noVq7UDcZpmh/+XU9DfvmJtAVolbQ2ekHREJDAzYODrnuyt +covkqdQKWQwX/vJj+inGNQdbrfCa2H7HgWD0ir2JtOQA11DwBdsAJqPSzcONzeEx +yTkMxiinUm2NABXOwU0EVQ6jJQEQAOv6dChelXNw9fLJGXNT9kcavjT73+5V3/IV +2cBltKmtI1/0U0hDfRpk1Nsg44sg1qHxoszLdsjDkDayLwLF14elpmiVCdLWYzW5 +lvlAU4gkJ62vh1JDW4A/EGUx1IftNX+/mA95YMjmRHQYfGxKzA05lvOtrtjOKgQ1 +TRDGWOk+2q/4ZjuV9qTd3mQaL3idpvydb8iu7Z74lZ7WFXRHU89rOHwm43IzSsKH +l0VE8BekH8WEbCM1jmo/3mL5q8/Rlt7AymYPUDS/KZtrybqJ3cVQzUcFH6U676Px +ODn1fYFIDEFCkdBmq5Uo3pR8s1KEwZqoPWoe6rd3LjZMGtdOdAAwdoFtmf6re1bK +8YeP64CMO5lWYgsF7fqUTNJmeIafHDVdUgv6rA9SzKIReL/rmoTivhZuzacHQ1AZ +O8psf7twAePLAnjpLtTc56sZLcElgCVLlIOh8GeBRPKfOrb+qLuA5030PcZ2a4dr +a1UpxD+NIsQVFWzxG9Glj2L4a4e39LWKrh4gP5zk6o5omYpb3UpBpKuNfLtNx/Yx +MGTIqNeP2xLpwS/xxQsd+mdVnwWVp7UBJyPgS4DNUvlaeGCwgcMV7Bjiei7rW8NX +qW+xJd3eTbMeoW//EpeN9m9NZeQtN0relIc5EUmEEWNdhu2AULAKN+FTIQ+SiFmZ +1zfbrflVABEBAAHCwXwEGAECAA8FAlUOoyUCGwwFCQHhM4AAIQkQCiTAWZi6QTMW +IQSRCEat7kxdZ8GbPm8KJMBZmLpBM6yGD/9oiG5tDWqUWxO2D3qPOd1voNHPIKAF +87AgzeZvkGOT4PNSp6vMYrH2LvYbjeAwAoZD0JcY7PAgtDE2Dvij62deXjCRR0ZE +J+m7XNmDu2cwIJxN8/ktoFs9ZNzHP4KphNXwTmAKSagOo7mUNIDCHmAuGiqO3C8K +LdeKg0Ci5QQQ+FNnGY+Oi1bDhhR3O9a53gZBAWKtFE/VRXlTw8jROLUvreRCt++E +kcc1lU3oFXuqphzl8d7um0a0Q4KjNE0pzAHNDlGm+Qypt26b6yucAK3l8nIg+zpc +bu9R0KZZHt/vDw4nPlrQLBHA6dP5vnlMIM2br+CzLGjCcqzrda33mCaWfHH1oVB/ +/6E43Il/2wlhqc32CUB4x7Qj/DpOCNgO+lZrkXXMHa+O/9G21ipNRJEdVzyMeEj7 +rC+SatJh5E9Zgd71tHJsNQTGPhKPc3RwxLMu/HOQohjbJUSMJCeVzgRAXeX06/ik +5gOe8gQ+aHXHiTO4SGbvenztAwFyL8uoC4SDeGtRezi7C55BGeu22s7AhMoNRBBA +h9l0tu5CzX1j/zhsAPmlmxiQ9wuahVglZSDl+tl+8F4cLl3++5fHTnu0jiR4/w/h +0tCUq8zBGoeJXjTztay4Eh7Lr/Vz2HWns+XB/L5ozVSxFZuOdwNQy3E/k9u3g72r +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 26/39] 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 27/39] 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 28/39] 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 29/39] 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 30/39] 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 31/39] 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 32/39] 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 33/39] 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 34/39] 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 35/39] 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 36/39] 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 37/39] 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 38/39] 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 39/39] 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