Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package munin for openSUSE:Factory checked in at 2026-09-16 17:40:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/munin (Old) and /work/SRC/openSUSE:Factory/.munin.new.383539 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "munin" Wed Sep 16 17:40:41 2026 rev:41 rq:1378055 version:2.0.76+git14.68213d60 Changes: -------- --- /work/SRC/openSUSE:Factory/munin/munin.changes 2025-08-03 13:35:58.911896011 +0200 +++ /work/SRC/openSUSE:Factory/.munin.new.383539/munin.changes 2026-09-16 17:41:04.663878695 +0200 @@ -1,0 +2,25 @@ +Mon Sep 14 18:23:39 UTC 2026 - Bernhard Wiedemann <[email protected]> + +- Add munin-fix-rrdtool-version-check.patch to fix graphing with + rrdtool >= 1.10 (gh#munin-monitoring/munin#1684, boo#1280358) +- Improve munin-remove-deprecated-INET6.patch to work with both + IPv4+v6 + +------------------------------------------------------------------- +Mon Sep 14 17:44:07 UTC 2026 - Bernhard Wiedemann <[email protected]> + +- Update to version 2.0.76+git14.68213d60: + * Correct Postgres version logic for postgres_checkpoints + * Correct Postgres version logic for postgres_bgwriter + * node: Do not write plain text version response to TLS socket + * Support TLS certificate chain files. + * plugins/nut_*: emit 'U' if value is not seen in upsc output + * Update postgres_checkpoints plugin for PostgreSQL 17 + * Fixes #1643, updated query was taken from https://github.com/munin-monitoring/contrib/issues/1483 + * Prevent log spam with nut plugins + * 2.0.76 + * fix irqstats + * plugins/postgres: use standard category "db" instead of "PostgreSQL" + * Backport #562 to stable-2.0. + +------------------------------------------------------------------- Old: ---- munin-2.0.75.tar.gz New: ---- _service _servicedata munin-2.0.76+git14.68213d60.obscpio munin-fix-rrdtool-version-check.patch munin.obsinfo ----------(New B)---------- New: - Add munin-fix-rrdtool-version-check.patch to fix graphing with rrdtool >= 1.10 (gh#munin-monitoring/munin#1684, boo#1280358) ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ munin.spec ++++++ --- /var/tmp/diff_new_pack.UuHHsQ/_old 2026-09-16 17:41:06.135940203 +0200 +++ /var/tmp/diff_new_pack.UuHHsQ/_new 2026-09-16 17:41:06.140940412 +0200 @@ -23,13 +23,13 @@ %define plugindir %{_prefix}/lib/munin/plugins %define active_by_default 0 Name: munin -Version: 2.0.75 +Version: 2.0.76+git14.68213d60 Release: 0 Summary: Network-wide graphing framework (grapher/gatherer) License: GPL-2.0-only Group: System/Monitoring URL: https://munin-monitoring.org/ -Source0: https://codeload.github.com/munin-monitoring/munin/tar.gz/refs/tags/%{version}#/%{name}-%{version}.tar.gz +Source0: %{name}-%{version}.tar Source1: Makefile.config Source2: munin-node.rc Source3: munin.cron.d @@ -53,6 +53,8 @@ Patch1: perl526.patch # PATCH-FIX-UPSTREAM Use IO::Socket::IP instead of IO::Socket::INET[6] Patch2: munin-remove-deprecated-INET6.patch +# PATCH-FIX-UPSTREAM munin-fix-rrdtool-version-check.patch gh#munin-monitoring/munin#1684 -- fix graphing with rrdtool >= 1.10 https://github.com/munin-monitoring/munin/pull/1690 +Patch3: munin-fix-rrdtool-version-check.patch BuildRequires: firewall-macros BuildRequires: html2text BuildRequires: htmldoc @@ -158,6 +160,7 @@ unzip %{SOURCE13} %patch -P 1 -p1 %patch -P 2 -p1 +%patch -P 3 -p1 %build %__make HOSTNAME=yourhostname ++++++ _service ++++++ <services> <service name="obs_scm" mode="manual"> <param name="url">https://github.com/munin-monitoring/munin</param> <param name="filename">munin</param> <param name="revision">stable-2.0</param> <param name="match-tag">[0-9]*</param> <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> </service> <service name="set_version" mode="manual"/> <service name="tar" mode="buildtime"/> </services> ++++++ _servicedata ++++++ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/munin-monitoring/munin</param> <param name="changesrevision">68213d60d7506a6a9af0074a9801ab0e588121e9</param></service></servicedata> (No newline at EOF) ++++++ munin-fix-rrdtool-version-check.patch ++++++ >From 29f62ac9b9dc0f49b13bdc86c32aaab8dc6ba2db Mon Sep 17 00:00:00 2001 From: "Bernhard M. Wiedemann" <[email protected]> Date: Mon, 14 Sep 2026 20:48:18 +0200 Subject: [PATCH] Fix graphing with rrdtool >= 1.10 $RRDs::VERSION is 1.10003 for rrdtool 1.10.3 and 1.011000 for 1.11.0, so numeric comparisons against 1.2 or 1.3 treat them as ancient versions. munin then stops escaping colons in COMMENTs and rrdtool 1.11 rejects every graph with ERROR: Unused Arguments "" in command : COMMENT: Cur: Drop the compatibility code for rrdtool < 1.5.3 (2015) instead. Fixes #1684 --- master/lib/Munin/Master/GraphOld.pm | 112 ++++++------------------ master/lib/Munin/Master/UpdateWorker.pm | 2 - 2 files changed, 26 insertions(+), 88 deletions(-) diff --git a/master/lib/Munin/Master/GraphOld.pm b/master/lib/Munin/Master/GraphOld.pm index 92c46477..6dee346c 100644 --- a/master/lib/Munin/Master/GraphOld.pm +++ b/master/lib/Munin/Master/GraphOld.pm @@ -51,12 +51,8 @@ use Time::HiRes; use Text::ParseWords; # For UTF-8 handling (plugins are assumed to use Latin 1) -if ($RRDs::VERSION >= 1.3) { - use Encode; - use Encode::Guess; - Encode->import; - Encode::Guess->import; -} +use Encode; +use Encode::Guess; use Munin::Master::Logger; use Munin::Master::Utils; @@ -65,25 +61,13 @@ use Munin::Common::Defaults; use Log::Log4perl qw( :easy ); # RRDtool 1.2 requires \\: in comments -my $RRDkludge = $RRDs::VERSION < 1.2 ? '' : '\\'; - -# And RRDtool 1.2.* draws lines with crayons so we hack -# the LINE* options a bit. -my $LINEkluge = 0; -if ($RRDs::VERSION >= 1.2 and $RRDs::VERSION < 1.3) { - - # Only kluge the line widths in RRD 1.2* - $LINEkluge = 1; -} +my $RRDkludge = '\\'; # RRD 1.3 has a "ADDNAN" operator which evaluates n + NaN = n instead of = NaN. -my $AddNAN = '+'; -if ($RRDs::VERSION >= 1.3) { - $AddNAN = 'ADDNAN'; -} +my $AddNAN = 'ADDNAN'; # the ":dashes" syntax for LINEs is supported since rrdtool 1.5.3 -my $RRDLineThresholdAttribute = ($RRDs::VERSION < 1.50003) ? '' : ':dashes'; +my $RRDLineThresholdAttribute = ':dashes'; # Force drawing of "graph no". my $force_graphing = 0; @@ -99,7 +83,6 @@ my $skip_stats = 0; my $stdout = 0; my $force_run_as_root = 0; my $conffile = $Munin::Common::Defaults::MUNIN_CONFDIR . "/munin.conf"; -my $libdir = $Munin::Common::Defaults::MUNIN_LIBDIR; # Note: Nothing by default is more convenient and elliminates code while # for cgi graphing - but it breaks how munin-graph expected stuff to work. # I think. @@ -321,13 +304,7 @@ sub graph_startup { $max_running = &munin_get($config, "max_graph_jobs", $max_running); if ($config->{"rrdcached_socket"}) { - if ($RRDs::VERSION >= 1.3){ - # Using the RRDCACHED_ADDRESS environnement variable, as - # it is way less intrusive than the command line args. - $ENV{RRDCACHED_ADDRESS} = $config->{"rrdcached_socket"}; - } else { - ERROR "[ERROR] RRDCached feature ignored: RRD version must be at least 1.3. Version found: " . $RRDs::VERSION; - } + $ENV{RRDCACHED_ADDRESS} = $config->{"rrdcached_socket"}; } @@ -548,7 +525,7 @@ sub get_header { push @$result, ("--vertical-label", $tmp_field); } - push @$result, '--slope-mode' if $RRDs::VERSION >= 1.2; + push @$result, '--slope-mode'; push @$result, "--height", ($size_y || munin_get($service, "graph_height", "175")); push @$result, "--width", ($size_x || munin_get($service, "graph_width", "400")); @@ -1351,21 +1328,11 @@ sub process_service { my @complete = get_fonts(); # Watermarks introduced in RRD 1.2.13. - push(@complete, '-W', $watermark) if $RRDs::VERSION >= 1.2013; + push(@complete, '-W', $watermark); # Do the header (title, vtitle, size, etc...), but IN THE BEGINNING unshift @complete, @{get_header($service, $time)}; - if ($LINEkluge) { - @rrd = map { - my $line = $_; - $line =~ s/LINE3:/LINE2.2:/; - $line =~ s/LINE2:/LINE1.6:/; - - # LINE1 is thin enough. - $line; - } @rrd; - } push @complete, @rrd; # graph end in future @@ -1378,13 +1345,11 @@ sub process_service { # as utf8 string. So we assume that every input is in latin1 # and decode it to perl's internal representation and then to utf8. - if ($RRDs::VERSION >= 1.3) { - @complete = map { - my $str = $_; - my $utf8 = guess_encoding($str, 'utf8'); - ref $utf8 ? $str : encode("utf8", (decode("latin1", $_))); - } @complete; - } + @complete = map { + my $str = $_; + my $utf8 = guess_encoding($str, 'utf8'); + ref $utf8 ? $str : encode("utf8", (decode("latin1", $_))); + } @complete; # Surcharging the graphing limits my ($upper_limit_overrided, $lower_limit_overrided); @@ -1651,43 +1616,18 @@ sub handle_trends { } sub get_fonts { - # Set up rrdtool graph font options according to RRD version. - my @options; - - if ($RRDs::VERSION < 1.2) { - # RRD before 1.2, no font options - } elsif ($RRDs::VERSION < 1.3) { - # RRD 1.2 - # The RRD 1.2 documentation says you can identify font family - # names but I never got that to work, but full font path worked - @options = ( - '--font', "LEGEND:7:$libdir/DejaVuSansMono.ttf", - '--font', "UNIT:7:$libdir/DejaVuSans.ttf", - '--font', "AXIS:7:$libdir/DejaVuSans.ttf", - ); - } else { - # At least 1.3 - @options = ( - '--font', 'DEFAULT:0:DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans', - '--font', 'LEGEND:7:DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace', - # Colors coordinated with CSS. - '--color', 'BACK#F0F0F0', # Area around the graph - '--color', 'FRAME#F0F0F0', # Line around legend spot - '--color', 'CANVAS#FFFFFF', # Graph background, max contrast - '--color', 'FONT#666666', # Some kind of gray - '--color', 'AXIS#CFD6F8', # And axis like html boxes - '--color', 'ARROW#CFD6F8', # And arrow, ditto. - ); - } - - if ($RRDs::VERSION >= 1.4) { - # RRD 1.4 has border, adding it - push @options, ( - '--border', '0', - ); - } - - return @options; + return ( + '--font', 'DEFAULT:0:DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans', + '--font', 'LEGEND:7:DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace', + # Colors coordinated with CSS. + '--color', 'BACK#F0F0F0', # Area around the graph + '--color', 'FRAME#F0F0F0', # Line around legend spot + '--color', 'CANVAS#FFFFFF', # Graph background, max contrast + '--color', 'FONT#666666', # Some kind of gray + '--color', 'AXIS#CFD6F8', # And axis like html boxes + '--color', 'ARROW#CFD6F8', # And arrow, ditto. + '--border', '0', + ); }; @@ -1847,7 +1787,7 @@ sub get_scientific { sub RRDescape { my $text = shift; - return $RRDs::VERSION < 1.2 ? $text : escape($text); + return escape($text); } diff --git a/master/lib/Munin/Master/UpdateWorker.pm b/master/lib/Munin/Master/UpdateWorker.pm index fe1a76db..c4b6948c 100644 --- a/master/lib/Munin/Master/UpdateWorker.pm +++ b/master/lib/Munin/Master/UpdateWorker.pm @@ -886,8 +886,6 @@ sub _update_rrd_file { if ($config->{"rrdcached_socket"}) { if (! -e $config->{"rrdcached_socket"} || ! -w $config->{"rrdcached_socket"}) { WARN "[WARN] RRDCached feature ignored: rrdcached socket not writable"; - } elsif($RRDs::VERSION < 1.3){ - WARN "[WARN] RRDCached feature ignored: perl RRDs lib version must be at least 1.3. Version found: " . $RRDs::VERSION; } else { # Using the RRDCACHED_ADDRESS environnement variable, as # it is way less intrusive than the command line args. ++++++ munin-remove-deprecated-INET6.patch ++++++ --- /var/tmp/diff_new_pack.UuHHsQ/_old 2026-09-16 17:41:06.625960678 +0200 +++ /var/tmp/diff_new_pack.UuHHsQ/_new 2026-09-16 17:41:06.636961137 +0200 @@ -159,7 +159,15 @@ of our default local_address 0 from :: to 0.0.0.0 which made IPv6-connections fail by default. -By explicitly defaulting to :: we fix IPv6 connections to munin-node. +By defaulting to :: (as the upstream PR proposed) IPv6 connections work, +but IO::Socket::IP then refuses to connect to IPv4-only node addresses +such as 127.0.0.1, because it only pairs local and peer addresses of the +same family. munin-update then dies with + [FATAL] Socket read from <host> failed. Terminating process. + +So do not pass any LocalAddr by default (undef) and let IO::Socket::IP +pick the address family from the peer address. This works for IPv4, +IPv6 and dual-stack node addresses. Fixes #1402 @@ -174,7 +182,7 @@ graph_strategy => 'cron', groups => {}, - local_address => 0, -+ local_address => '::', ++ local_address => undef, logdir => $Munin::Common::Defaults::MUNIN_LOGDIR, max_processes => 16, rundir => $Munin::Common::Defaults::MUNIN_STATEDIR, ++++++ munin.obsinfo ++++++ name: munin version: 2.0.76+git14.68213d60 mtime: 1786254630 commit: 68213d60d7506a6a9af0074a9801ab0e588121e9
