Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

173 lines (130 sloc) 6.789 kb
# -*- 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)/opt/munin
# Where Munin keeps its configurations (server.conf, client.conf, ++)
CONFDIR = $(DESTDIR)/etc/opt/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
# Where to put man pages
MANDIR = $(PREFIX)/man
# Where to put internal binaries and plugin repository
LIBDIR = $(PREFIX)/lib
# Server only - Output directory
HTMLDIR = $(PREFIX)/www/docs
CGIDIR = $(PREFIX)/www/cgi
# Where to put internal data for master (RRD, internal files, ...)
DBDIR = $(DESTDIR)/var/opt/munin
# Where to put internal data for node (plugin state, ...)
DBDIRNODE = $(DESTDIR)/var/opt/munin-node
# Client only - Where the spool files are written. Must be writable by
# group "munin", and should be preserved between reboots
SPOOLDIR = $(DBDIR)/spool
# Client only - Where plugins should put their states. Must be writable by
# group "munin", and should be preserved between reboots
PLUGSTATE = $(DBDIRNODE)/plugin-state
# Where Munin should place its logs.
LOGDIR = $(PREFIX)/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 2>/dev/null || echo $(PATH)` LANG=C 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)
# Client only - Install plugins for this architecture
# the LANG=C makes tr work as expected, not regarding any locale it
# isn't done globally to enable users to have as much localized
# errors as possible
OSTYPE := $(shell uname | LANG=C tr '[A-Z]' '[a-z]' | cut -f 1 -d _)
# 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
# Default user to run the cgi as
CGIUSER := 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 := $(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"))
# For Cygwin, use these instead:
#CHECKUSER := $(shell id $(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistent. Create the user and retry; exit 2"))
#CHECKGROUP := $(shell grep ^$(GROUP): /etc/group >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistent. Create the group and retry; exit 2"))
CHOWN := chown
CHMOD := chmod
CHGRP := chgrp
# Java compiler stuff - only needed on the buildhost
JC := javac
JFLAGS := -g -source 1.5 -target 1.5 -Xlint
JAR := jar
# Check if the java compiler works
# Note that we defer JCVALID evaluation to runtime,
# since $(JC) can be redefined later in a specific Makefile.config
# The core Makefile.config is then used as a Makefile.default
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;' )
Jump to Line
Something went wrong with that request. Please try again.