forked from pool/munin
bbb95028c9
Hello, this is an updated munin package (2.0.11) that also includes nginx plugins. OBS-URL: https://build.opensuse.org/request/show/157652 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/munin?expand=0&rev=4
166 lines
6.2 KiB
Makefile
166 lines
6.2 KiB
Makefile
# -*- makefile -*-
|
|
#
|
|
# This is the Makefile.config file to use for a "clean" distribution.
|
|
#
|
|
# This file specifies where Munin will look for things after you've
|
|
# run 'make' in the source directory. Modify it to suit your needs.
|
|
|
|
# DESTDIR is meant only for use when making Munin packages. Unless
|
|
# you're doing packaging do NOT set it.
|
|
# DESTDIR is empty during building, and optionally set to point to
|
|
# a shadow tree during make install.
|
|
|
|
# Note: There is a need for a VARDIR, with DBDIR, PLUGSTATE, HTMLDIR
|
|
# and LOGDIR as subdirectories. Today, DBDIR contains configured
|
|
# domains, as well as PLUGSTATE, and we risk collisions.
|
|
|
|
#
|
|
# the base of the Munin installation.
|
|
#
|
|
PREFIX = $(DESTDIR)/usr
|
|
|
|
# Where Munin keeps its configurations (server.conf, client.conf, ++)
|
|
CONFDIR = $(DESTDIR)/etc/munin
|
|
|
|
# Server only - where to put munin-cron
|
|
BINDIR = $(PREFIX)/bin
|
|
|
|
# Client only - where to put munin-node, munin-node-configure, and munin-run
|
|
SBINDIR = $(PREFIX)/sbin
|
|
|
|
# Where to put text and html documentation
|
|
DOCDIR = $(PREFIX)/doc/packages
|
|
|
|
# Where to put man pages
|
|
MANDIR = $(PREFIX)/share/man
|
|
|
|
# Where to put internal binaries and plugin repository
|
|
LIBDIR = $(PREFIX)/lib/munin
|
|
|
|
# Server only - Output directory
|
|
HTMLDIR = $(DESTDIR)/srv/www/htdocs/munin
|
|
CGIDIR = $(DESTDIR)/srv/www/cgi-bin
|
|
|
|
# Server only - spool directory for data gathered from nodes by
|
|
# munin-gather - experimental. Place on ramdisk to make munin
|
|
# scale better. On many versions of Linux as well as on Solaris
|
|
# /tmp will be a ramdisk.
|
|
|
|
SPOOLDIR = $(DESTDIR)/var/lib/spool/munin
|
|
|
|
# Suggested directory name for a pulic ramdisk based tmp directory.
|
|
# SSPOOLDIR := /tmp/muninspool
|
|
|
|
# Client only - Where to put RRD files and other intenal data
|
|
DBDIR = $(DESTDIR)/var/lib/munin
|
|
|
|
# Client only - Where plugins should put their states. Must be writable by
|
|
# group "munin", and should be preserved between reboots
|
|
PLUGSTATE = $(DBDIR)/plugin-state
|
|
|
|
# Where Munin should place its logs.
|
|
LOGDIR = $(DESTDIR)/var/log/munin
|
|
|
|
# Location of PID files and other statefiles. On the server, must be
|
|
# writable by the user "munin".
|
|
STATEDIR = $(DESTDIR)/var/run/munin
|
|
|
|
# The perl interpreter to use
|
|
PERL := $(shell which perl)
|
|
|
|
# The python interpreter to use (used by some plugins)
|
|
PYTHON := /usr/bin/env python
|
|
|
|
# The ruby interpreter to use (used by some plugins)
|
|
RUBY := /usr/bin/env ruby
|
|
|
|
# The java runtime to use (used by some plugins)
|
|
JAVARUN := /usr/bin/java
|
|
|
|
# The java library dir to use (used by some plugins)
|
|
# this is needed in order to be able to install
|
|
# java libraries in a custom location. Many distrubutions
|
|
# enforce a spesific location for java libraries.
|
|
JAVALIBDIR:= $(LIBDIR)
|
|
|
|
|
|
# A modern (posix) shell. We're not looking for arrays, but $() and
|
|
# other modern stuff is expected. On a posix-system the expression
|
|
# below will find the right shell. Most Unixes released the last 10
|
|
# years are POSIX compliant enough for this to work (he said bravely).
|
|
#
|
|
# On Linux /bin/sh, SunOS/Solaris /usr/xpg4/bin/sh or /bin/ksh
|
|
# In general: bash or ksh will work
|
|
#
|
|
GOODSH := $(shell PATH=`getconf PATH` sh -c 'type sh | sed "s/.* //"')
|
|
|
|
# Path of bash for bash specific plugins
|
|
BASH := /bin/bash
|
|
|
|
# Server only - Where to install the perl libraries
|
|
PERLSITELIB := $(shell $(PERL) -V:sitelib | cut -d"'" -f2)
|
|
#PERLLIB = $(DESTDIR)$(PERLSITELIB)
|
|
PERLLIB = $(DESTDIR)$(shell ( $(PERL) -V:vendorlib | egrep -v "UNKNOWN|=''" || $(PERL) -V:sitelib) | cut -d\' -f 2)
|
|
|
|
# Client only - Install plugins for this architecture
|
|
OSTYPE := $(shell uname | tr '[A-Z]' '[a-z]')
|
|
|
|
# How to figure out the hostname. (Only used in default configuration
|
|
# files)
|
|
HOSTNAME := $(shell hostname)
|
|
|
|
# What is the safest way to create a tempfile.
|
|
# Default is to figure it out by testing various methods.
|
|
# Replace this with a known platform-specific method
|
|
MKTEMP := $(shell ./test-mktemp)
|
|
|
|
# Munin version number.
|
|
VERSION := $(shell ./getversion)
|
|
|
|
# User to run munin as
|
|
USER := munin
|
|
GROUP := munin
|
|
|
|
# Default user to run the plugins as
|
|
PLUGINUSER := nobody
|
|
|
|
# Which command to use to check if the USER and GROUP to run Munin as, exists.
|
|
# These will work on most modern OSes:
|
|
#
|
|
GETENT := $(shell which getent || which true 2>/dev/null)
|
|
CHECKUSER:= true
|
|
CHECKGROUP:= true
|
|
#CHECKUSER := $(shell $(GETENT) passwd $(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistent. Create the user and retry; exit 2"))
|
|
#CHECKGROUP := $(shell $(GETENT) group $(GROUP) >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistent. Create the group and retry; exit 2"))
|
|
|
|
# For OSX, comment out the previous two lines and comment in these
|
|
#
|
|
#CHECKUSER := $(shell nicl . -read /users/$(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistent. Create the user and retry; exit 2"))
|
|
#CHECKGROUP := $(shell nicl . -read /groups/$(GROUP) >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistent. Create the group and retry; exit 2"))
|
|
|
|
# For OSX 10.5 (Leopard), use the following two lines instead of what's above
|
|
#
|
|
#CHECKUSER := $(shell dscl . -read /Users/$(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistent. Create the user and retry; exit 2"))
|
|
#CHECKGROUP := $(shell dscl . -read /Groups/$(GROUP) >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistent. Create the group and retry; exit 2"))
|
|
|
|
|
|
# For HP-UX, use these instead:
|
|
#
|
|
#CHECKUSER := $(shell pwget -n $(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistent. Create the user and retry; exit 2"))
|
|
#CHECKGROUP := $(shell grget -n $(GROUP) >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistent. Create the group and retry; exit 2"))
|
|
|
|
CHOWN := echo Not done: chown
|
|
CHMOD := echo Not done: chmod
|
|
CHGRP := echo Not done: chgrp
|
|
|
|
# Java compiler stuff - only needed on the buildhost
|
|
JC := javac
|
|
JFLAGS := -g -source 1.5 -target 1.5
|
|
JAR := jar
|
|
|
|
# Check if the java compiler works
|
|
JCVALID := $(shell $(JC) -version >/dev/null 2>/dev/null && echo "yes")
|
|
|
|
# Check whether setruid functionality can be used
|
|
HASSETR := $(shell perl -e 'use Config; my @vars=("d_setruid", "d_setreuid", "d_setresuid"); foreach my $$var (@vars) { if ($$Config{$$var} eq "define") { print "1\n"; exit 0; } } print "0\n"; exit 0;' )
|