Code

check_mysql: Fix segfault with old slaves (#2696823 - Oskar Ahner)
[nagiosplug.git] / plugins-scripts / subst.in
index cc0fd1b6442c3bff2c8ba5443ff286f7c61adf40..80b93d9d3c5d8cbf4b82a96eb2f10eab2eeab879 100644 (file)
@@ -19,10 +19,27 @@ function which(c,path) {
        return c;
 }
 
+# used to replace "use lib utils.pm" with "use lib @libexecdir"
+#
+function led() {
+       led1 = "@libexecdir@";
+       led2 = "@exec_prefix@";
+       led3 = "@prefix@";
+       if ( match(led1, /^\$\{exec_prefix\}/ ) != 0 ) {
+               return "\"" led3 "/libexec\" " ;
+       
+       }
+       return "\"" led1 "\"" ;
+}
+
 BEGIN {
        split(ENVIRON["PATH"] ":/sbin:/usr/sbin",path,/:/);
+
 }
 
+# Plugin revision
+/@NP_VERSION@/ {sub(/@NP_VERSION@/,ENVIRON["NP_VERSION"]);}
+
 # scripting language (first line)
 
 /^#! ?\/.*\/python/ {sub(/^#! ?\/.*\/python/,"#! @PYTHON@");}
@@ -30,22 +47,26 @@ BEGIN {
 /^#! ?\/.*\/[a-z]{0,2}awk/ {sub(/^#! ?\/.*\/[a-z]{0,2}awk/,"#! @AWK@");}
 /^#! ?\/.*\/sh/ {sub(/^#! ?\/.*\/sh/,"#! @SHELL@");}
 
+# add to libexecdir to INC for perl utils.pm
+/^use/ { if (/lib/) { if (/utils.pm|"."/ ) {sub(/utils.pm|"."/,led() )} } }
+
+
 # Trusted path mechanism (deprecated)
 
 /^[ \t]*\$ENV[ \t]*\{[ \t'"]*PATH[ \t"']*\}[ \t]*=/ {
-       sub(/\=[ \t]*['"][^"']+["']/,"='@trusted_path@' # autoconf-derived");
+       sub(/\=[ \t]*['"][^"']+["']/,"='@with_trusted_path@' # autoconf-derived");
 }
 
 /^[\t ]*(export[\t ]*)?PATH[\t ]*=['"]+.+["']$/ {
-       sub(/\=.*$/,"='@trusted_path@' # autoconf-derived");
+       sub(/\=.*$/,"='@with_trusted_path@' # autoconf-derived");
 }
 
-# Specific programs
-
+# If a script contains a reference to a fully qualified command, 
+# subst will replace the fully qualified command with whatever is
+# returned from the which subroutine
 #
 /^[^#]/ && /(\/.*)?\/(bin|sbin|lib|libexec)\// {
        match($0,/(\/.*)?\/(bin|sbin|lib|libexec)\/[-_a-zA-Z0-9]+/);
-       start=RSTART+RLENGTH;
        c=substr($0,RSTART,RLENGTH);
        sub(c,which(c,path));
 }