-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
66 lines (55 loc) · 2.23 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#
# Copyright 2018 Rika Lena Denia comNET GmbH <[email protected]>
#
# This file is part of check_cmkagent.
#
# check_cmkagent is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# check_cmkagent is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with check_cmkagent. If not, see <http://www.gnu.org/licenses/>.
#
WORKDIR = $(PWD)/tree
#PREFIX ?= /usr/local
PREFIX ?= /omd/sites/$(SITE)
DESTDIR ?= /
PLUGINDIR ?= local/lib/nagios/plugins
SYSCONFDIR ?= etc
FILES = \
check_cmkagent_active \
check_cmkagent_active_commands.cfg
all: $(WORKDIR)
$(WORKDIR): $(FILES) Makefile
# Create directories
mkdir -p $(WORKDIR)
mkdir -p $(WORKDIR)/$(PLUGINDIR)
mkdir -p $(WORKDIR)/$(SYSCONFDIR)/nagios/conf.d
# Copy files
cp check_cmkagent_active $(WORKDIR)/$(PLUGINDIR)/check_cmkagent_active
cp check_cmkagent_active_commands.cfg $(WORKDIR)/$(SYSCONFDIR)/nagios/conf.d/check_cmkagent_active_commands.cfg
# Set permissions
chmod 755 $(WORKDIR)/$(PLUGINDIR)/check_cmkagent_active
chmod 644 $(WORKDIR)/$(SYSCONFDIR)/nagios/conf.d/check_cmkagent_active_commands.cfg
#install: $(WORKDIR)
# rsync -av $(WORKDIR)/ $(DESTDIR)/
# chown root:root $(DESTDIR)/$(PLUGINDIR)/check_cmkagent_active
# chown root:root $(DESTDIR)/$(SYSCONFDIR)/nagios/conf.d/check_cmkagent_active_commands.cfg
remote_install: $(WORKDIR)
[ ! -z "$(HOST)" ] || (echo "Please provide a host to sync to via HOST"; exit 1)
[ ! -z "$(SITE)" ] || (echo "Please provide a site to sync to via SITE"; exit 1)
# Check
for i in $$(find $(WORKDIR)/ -type f -printf '%P\n'); do \
echo "Installing $$i..."; \
mode="644"; \
if [ $$(echo "$$i" | sed 's/nagios\/plugin//') != "$$i" ]; then \
mode="755"; \
fi; \
ssh root@$$HOST "cat >/tmp/cmkagent_tmp && install -D -o root -g root -m $$mode /tmp/cmkagent_tmp $(PREFIX)/$$i" < $(WORKDIR)/$$i; \
done