diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2014-02-28 12:28:33 (GMT) |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2014-02-28 12:28:33 (GMT) |
commit | c08d6a429ba0e0cd3642ba2c2fe85687472ee22f (patch) | |
tree | 396a37ae462543f0e28f36501c30796b3eb91249 /plugins-scripts/subst.in | |
parent | e260efb25690b13002a0bf432507f66bdad90f02 (diff) | |
download | monitoring-plugins-c08d6a429ba0e0cd3642ba2c2fe85687472ee22f.tar.gz |
Replace "plugins-scripts/subst.in" foo
Remove the buggy and complex awk(1) magic in "plugins-scripts/subst.in"
in favor of simple sed(1) substitutions.
The plugins in the "plugins-scripts" directory now always use the PATH
specified via "./configure --trusted-path", or the default PATH
hard-coded in "configure.ac".
Fixes #1242.
Diffstat (limited to 'plugins-scripts/subst.in')
-rw-r--r-- | plugins-scripts/subst.in | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/plugins-scripts/subst.in b/plugins-scripts/subst.in deleted file mode 100644 index c730b77..0000000 --- a/plugins-scripts/subst.in +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | #!/usr/bin/awk | ||
2 | |||
3 | function which(c,path) { | ||
4 | cmd = "test -x " c; | ||
5 | |||
6 | if (system(cmd)==0) { | ||
7 | return c; | ||
8 | } | ||
9 | |||
10 | sub(/\/.*\//,"",c); | ||
11 | for (dir in path) { | ||
12 | cmd = "test -x " path[dir] "/" c; | ||
13 | if (system(cmd)==0) { | ||
14 | return path[dir] "/" c; | ||
15 | } | ||
16 | } | ||
17 | |||
18 | |||
19 | return c; | ||
20 | } | ||
21 | |||
22 | BEGIN { | ||
23 | split(ENVIRON["PATH"] ":/sbin:/usr/sbin",path,/:/); | ||
24 | |||
25 | } | ||
26 | |||
27 | # Plugin revision | ||
28 | /@NP_VERSION@/ {sub(/@NP_VERSION@/,ENVIRON["NP_VERSION"]);} | ||
29 | |||
30 | # scripting language (first line) | ||
31 | |||
32 | /^#! ?\/.*\/python/ {sub(/^#! ?\/.*\/python/,"#! @PYTHON@");} | ||
33 | /^#! ?\/.*\/perl/ {sub(/^#! ?\/.*\/perl/,"#! @PERL@");} | ||
34 | /^#! ?\/.*\/[a-z]{0,2}awk/ {sub(/^#! ?\/.*\/[a-z]{0,2}awk/,"#! @AWK@");} | ||
35 | /^#! ?\/.*\/sh/ {sub(/^#! ?\/.*\/sh/,"#! @SHELL@");} | ||
36 | |||
37 | # If a script contains a reference to a fully qualified command, | ||
38 | # subst will replace the fully qualified command with whatever is | ||
39 | # returned from the which subroutine. run before changes to INC to add libexecdir | ||
40 | # FIXME: Prepend executables with a substitution keyword instead. | ||
41 | # | ||
42 | /^[^#]/ && /(\/.*)?\/(bin|sbin|lib|libexec)\// { | ||
43 | match($0,/(\/.*)?\/(bin|sbin|lib|libexec)\/[-_a-zA-Z0-9]+/); | ||
44 | c=substr($0,RSTART,RLENGTH); | ||
45 | sub(c,which(c,path)); | ||
46 | } | ||
47 | |||
48 | # Trusted path mechanism | ||
49 | /@trusted_path@/ {sub(/@trusted_path@/,"@with_trusted_path@");} | ||
50 | |||
51 | { | ||
52 | print; | ||
53 | } | ||