git.lirion.de

Of git, get, and gud

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Pfeiffer <harald.pfeiffer _ bechtle.com> 2019-04-23 09:32:03 +0200
committerHarald Pfeiffer <harald.pfeiffer _ bechtle.com> 2019-04-23 09:32:03 +0200
commit98a9d53f5ce11e4d83189e7daf30f3d8303b2848 (patch)
tree19927be37427bafecfc264a60d3d0799269a1e17
parent1e2387474a449452b78520b9ad96a8b4b5e99722 (diff)
downloadnagios-plugins-contrib-98a9d53f5ce11e4d83189e7daf30f3d8303b2848.tar.bz2
check_memory patch v1
-rw-r--r--patches/raw/.gitignore1
-rw-r--r--patches/raw/Makefile6
l---------patches/raw/check_memory.orig1
-rw-r--r--patches/raw/check_memory.patch38
-rw-r--r--patches/raw/check_memory.readme2
5 files changed, 48 insertions, 0 deletions
diff --git a/patches/raw/.gitignore b/patches/raw/.gitignore
new file mode 100644
index 0000000..ce0a7f3
--- /dev/null
+++ b/patches/raw/.gitignore
@@ -0,0 +1 @@
+*.new
diff --git a/patches/raw/Makefile b/patches/raw/Makefile
new file mode 100644
index 0000000..f8bfa92
--- /dev/null
+++ b/patches/raw/Makefile
@@ -0,0 +1,6 @@
+VERSION = 3.82
+
+all: check_memory
+
+check_memory:
+ @patch --follow-symlinks -o check_memory.new check_memory.orig < check_memory.patch
diff --git a/patches/raw/check_memory.orig b/patches/raw/check_memory.orig
new file mode 120000
index 0000000..81c87a9
--- /dev/null
+++ b/patches/raw/check_memory.orig
@@ -0,0 +1 @@
+../../nagios-plugins-contrib-24.20190301~bpo9+1/check_memory/check_memory \ No newline at end of file
diff --git a/patches/raw/check_memory.patch b/patches/raw/check_memory.patch
new file mode 100644
index 0000000..f068584
--- /dev/null
+++ b/patches/raw/check_memory.patch
@@ -0,0 +1,38 @@
+--- check_memory.orig 2015-08-18 18:17:21.000000000 +0200
++++ check_memory.new 2015-11-29 15:14:07.493644046 +0100
+@@ -104,12 +104,23 @@
+ or $np->nagios_exit('CRITICAL', "Could not run $FREECMD");
+
+ warn("Output from $FREECMD:\n") if ($verbose > 1);
+-my ($used, $free);
++my $new_format = 0;
++my ($total, $used, $free);
+ while (<RESULT>) {
+ warn(" $_") if ($verbose > 1);
+- next unless (m#^\-/\+\ buffers/cache:\s*(\d+)\s+(\d+)#);
+- $used = $1;
+- $free = $2;
++ # New `free` output from procps doesn't provide "buffers/cache" anymore, but
++ # provides a better estimate of available memory ("available" column).
++ $new_format = 1 if m{^\s+total\s+used\s+free\s+shared\s+buff/cache\s+available$};
++
++ if ($new_format and /^Mem:\s+(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+)$/) {
++ $total = $1;
++ $free = $2; # available column
++ $used = $total - $free; # used is everything which is not available
++ } elsif (m#^\-/\+\ buffers/cache:\s*(\d+)\s+(\d+)#) {
++ $used = $1;
++ $free = $2;
++ $total = $used + $free;
++ }
+ }
+
+ close(RESULT);
+@@ -117,7 +128,6 @@
+
+ $np->nagios_exit('CRITICAL', "Unable to interpret $FREECMD output") if (!defined($free));
+
+-my $total = $used + $free;
+ if (defined($warning) && $warning =~ /^\d+%$/) {
+ if ($warning) {
+ $warning =~ s/%//;
diff --git a/patches/raw/check_memory.readme b/patches/raw/check_memory.readme
new file mode 100644
index 0000000..63dc2af
--- /dev/null
+++ b/patches/raw/check_memory.readme
@@ -0,0 +1,2 @@
+On Debian, you might want to replace the two occurrences of Nagios::Plugin with
+Monitoring::Plugin, this is due to a rename and will work similarly.