From 56cf66c9b815ed953245476b7c715f15cf053763 Mon Sep 17 00:00:00 2001 From: Thomas Guyot-Sionnest Date: Wed, 20 May 2009 00:43:10 -0400 Subject: [PATCH] Fix awk subst.in/subst script path error (#2722832 - Martin Foster) --- NEWS | 1 + THANKS.in | 1 + plugins-scripts/subst.in | 21 +++++++++++---------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/NEWS b/NEWS index a783025..2500982 100644 --- a/NEWS +++ b/NEWS @@ -33,6 +33,7 @@ This file documents the major additions and syntax changes between releases. check_nt can return UNKNOWN on timeouts (-u) Fixed typos for check_disk (Chris Pepper) Fixed check_mysql* not using password set in my.cnf (#2531905 - Ben Timby) - Specify an empty password explicitly if you need to override it. + Fixed awk subst.in/subst script path error (#2722832 - Martin Foster) 1.4.13 25th Sept 2008 Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen) diff --git a/THANKS.in b/THANKS.in index 4fe6425..b173eb6 100644 --- a/THANKS.in +++ b/THANKS.in @@ -251,3 +251,4 @@ John Barbuto Oskar Ahner Chris Pepper Ben Timby +Martin Foster diff --git a/plugins-scripts/subst.in b/plugins-scripts/subst.in index 80b93d9..a70ad88 100644 --- a/plugins-scripts/subst.in +++ b/plugins-scripts/subst.in @@ -47,6 +47,17 @@ BEGIN { /^#! ?\/.*\/[a-z]{0,2}awk/ {sub(/^#! ?\/.*\/[a-z]{0,2}awk/,"#! @AWK@");} /^#! ?\/.*\/sh/ {sub(/^#! ?\/.*\/sh/,"#! @SHELL@");} +# 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. run before changes to INC to add libexecdir +# FIXME: Prepend executables with a substitution keyword instead. +# +/^[^#]/ && /(\/.*)?\/(bin|sbin|lib|libexec)\// { + match($0,/(\/.*)?\/(bin|sbin|lib|libexec)\/[-_a-zA-Z0-9]+/); + c=substr($0,RSTART,RLENGTH); + sub(c,which(c,path)); +} + # add to libexecdir to INC for perl utils.pm /^use/ { if (/lib/) { if (/utils.pm|"."/ ) {sub(/utils.pm|"."/,led() )} } } @@ -61,16 +72,6 @@ BEGIN { sub(/\=.*$/,"='@with_trusted_path@' # autoconf-derived"); } -# 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]+/); - c=substr($0,RSTART,RLENGTH); - sub(c,which(c,path)); -} - { print; } -- 2.30.2