1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00

Continue rototilling the Munin ports:

- Move some files around and adjust the plists accordingly.
 - Fix some directory creation / deletion in the plists.
 - Fix some directory ownerships.
 - Instead of patching the Makefile, specify installation directories
   on the command line.  Centralize the definition of MAKE_ARGS and some
   other shared variables.

Feature safe:	yes
This commit is contained in:
Dag-Erling Smørgrav 2010-02-25 12:15:38 +00:00
parent 78ee99eb30
commit 94ebcf4d98
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=250300
12 changed files with 42 additions and 312 deletions

View File

@ -7,7 +7,7 @@
PORTNAME= munin
PORTVERSION= 1.4.3
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= sysutils perl5
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}%20stable/${PORTVERSION}
PKGNAMESUFFIX= -common
@ -21,12 +21,10 @@ RUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/Net/SSLeay.pm:${PORTSDIR}/security/p5-Net
USE_PERL5= yes
USE_GMAKE= yes
PATCH_STRIP= -p1
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/.r/rc/}
DBDIR= /var/${PORTNAME}
MAKE_ARGS= LIBDIR=${DATADIR} CONFDIR=${ETCDIR} DBDIR=${DBDIR} \
PERL=${PERL} SITE_PERL_REL=${SITE_PERL_REL}
.include "${.CURDIR}/../munin-common/munin.mk"
ALL_TARGET= build-common-prime
INSTALL_TARGET= install-common
@ -38,6 +36,8 @@ MAN3= Munin::Common::Config.3 \
Munin::Common::Timeout.3
post-install:
@${MKDIR} ${LOGDIR}
@${CHOWN} ${USERS}:${GROUPS} ${LOGDIR}
@(cd ${WRKSRC}/common/blib/libdoc && for man in ${MAN3} ; do \
${INSTALL_MAN} -C $$man ${PREFIX}/man/man3; \
done)

View File

@ -1,87 +1,5 @@
--- Makefile.config.orig 2009-12-30 05:55:56.000000000 -0700
+++ Makefile.config 2010-01-30 11:17:34.000000000 -0700
@@ -17,29 +17,33 @@
#
# the base of the Munin installation.
#
-PREFIX = $(DESTDIR)/opt/munin
+ifdef PREFIX
+UPREFIX=$(PREFIX)
+else
+UPREFIX=/usr
+endif
# Where Munin keeps its configurations (server.conf, client.conf, ++)
-CONFDIR = $(DESTDIR)/etc/opt/munin
+CONFDIR = $(PREFIX)/etc/munin
# Server only - where to put munin-cron
-BINDIR = $(PREFIX)/bin
+BINDIR = $(UPREFIX)/bin
# Client only - where to put munin-node, munin-node-configure, and munin-run
-SBINDIR = $(PREFIX)/sbin
+SBINDIR = $(UPREFIX)/sbin
# Where to put text and html documentation
-DOCDIR = $(PREFIX)/doc
+DOCDIR = $(UPREFIX)/doc
# Where to put man pages
-MANDIR = $(PREFIX)/man
+MANDIR = $(UPREFIX)/man
# Where to put internal binaries and plugin repository
-LIBDIR = $(PREFIX)/lib
+LIBDIR = $(DATADIR)
# Server only - Output directory
-HTMLDIR = $(PREFIX)/www/docs
-CGIDIR = $(PREFIX)/www/cgi
+HTMLDIR = $(WWWDIR)
+CGIDIR = $(PREFIX)/www/cgi-bin
# Server only - spool directory for data gathered from nodes by
# munin-gather - experimental. Place on ramdisk to make munin
@@ -52,21 +56,20 @@
# SSPOOLDIR := /tmp/muninspool
# Client only - Where to put RRD files and other intenal data
-DBDIR = $(DESTDIR)/var/opt/munin
+DBDIR = $(PREFIX)/var/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 = $(PREFIX)/log/munin
+LOGDIR = /var/log/munin-main
# Location of PID files and other statefiles. On the server, must be
# writable by the user "munin".
-STATEDIR = $(DESTDIR)/var/run/munin
+STATEDIR = /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
@@ -95,11 +98,11 @@
GOODSH := $(shell PATH=`getconf PATH` sh -c 'type sh | sed "s/.* //"')
# Path of bash for bash specific plugins
-BASH := /bin/bash
+BASH := /usr/local/bin/bash
# Server only - Where to install the perl libraries
PERLSITELIB := $(shell $(PERL) -V:sitelib | cut -d"'" -f2)
-PERLLIB = $(DESTDIR)$(PERLSITELIB)
+PERLLIB = $(PREFIX)/$(SITE_PERL_REL)
# Client only - Install plugins for this architecture
OSTYPE := $(shell uname | tr '[A-Z]' '[a-z]')
@@ -126,9 +129,8 @@
# Which command to use to check if the USER and GROUP to run Munin as, exists.
# These will work on most modern OSes:

View File

@ -0,0 +1,20 @@
DBDIR?= /var/${PORTNAME}
LOGDIR?= /var/log/${PORTNAME}
STATEDIR?= /var/run/${PORTNAME}
MUNIN_DIRS= BINDIR=${PREFIX}/bin \
CGIDIR=${PREFIX}/www/cgi-bin \
CONFDIR=${ETCDIR} \
DBDIR=${DBDIR} \
DOCDIR=${DOCSDIR} \
HTMLDIR=${WWWDIR} \
LIBDIR=${DATADIR} \
LOGDIR=${LOGDIR} \
MANDIR=${MANPREFIX}/man \
SBINDIR=${PREFIX}/sbin \
STATEDIR=${STATEDIR}
MAKE_ARGS= ${MUNIN_DIRS} \
BASH=${LOCALBASE}/bin/bash \
PERL=${PERL} PERLLIB=${PREFIX}/${SITE_PERL_REL}
PLIST_SUB= ${MUNIN_DIRS}
USERS= munin
GROUPS= munin

View File

@ -7,7 +7,7 @@
PORTNAME= munin
PORTVERSION= 1.4.3
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= sysutils perl5
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}%20stable/${PORTVERSION}
PKGNAMESUFFIX= -master
@ -39,17 +39,10 @@ RUN_DEPENDS= ${SITE_PERL}/Munin/Common/Defaults.pm:${PORTSDIR}/sysutils/munin-co
USE_PERL5= yes
USE_GMAKE= yes
PATCH_STRIP= -p1
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/.r/rc/}
PKGMESSAGE= ${WRKDIR}/pkg-message
USERS= munin
GROUPS= munin
.include "${.CURDIR}/../munin-common/munin.mk"
DBDIR= /var/${PORTNAME}
MAKE_ARGS= LIBDIR=${DATADIR} CONFDIR=${ETCDIR} DBDIR=${DBDIR} \
WWWDIR=${WWWDIR} CGIDIR=${WWWDIR}/cgi-bin \
PERL=${PERL} SITE_PERL_REL=${SITE_PERL_REL}
ALL_TARGET= build-master build-man
INSTALL_TARGET= install-master-prime
@ -80,7 +73,9 @@ pre-install:
${SH} ${PKGDIR}/pkg-install ${PKGNAME} PRE-INSTALL
post-install:
@${INSTALL_DATA} ${WRKSRC}/build/master/munin.conf ${PREFIX}/etc/munin/munin.conf.sample
@${CHOWN} ${USERS}:${GROUPS} ${DBDIR} ${STATEDIR} ${WWWDIR}
@${INSTALL_DATA} ${WRKSRC}/build/master/munin.conf \
${PREFIX}/etc/munin/munin.conf.sample
@(cd ${WRKSRC}/master/blib/libdoc && for man in ${MAN3}; do \
${INSTALL_MAN} -C $$man ${PREFIX}/man/man3; \
done)
@ -92,8 +87,6 @@ post-install:
done)
@${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \
${SH} ${PKGDIR}/pkg-install ${PKGNAME} POST-INSTALL
@${CHOWN} munin /var/log/munin-master
@${CHGRP} munin /var/run/munin /var/log/munin-master ${WWWDIR} ${DBDIR}
@${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>

View File

@ -1,87 +1,5 @@
--- Makefile.config.orig 2009-12-30 05:55:56.000000000 -0700
+++ Makefile.config 2010-01-30 11:17:34.000000000 -0700
@@ -17,29 +17,33 @@
#
# the base of the Munin installation.
#
-PREFIX = $(DESTDIR)/opt/munin
+ifdef PREFIX
+UPREFIX=$(PREFIX)
+else
+UPREFIX=/usr
+endif
# Where Munin keeps its configurations (server.conf, client.conf, ++)
-CONFDIR = $(DESTDIR)/etc/opt/munin
+CONFDIR = $(PREFIX)/etc/munin
# Server only - where to put munin-cron
-BINDIR = $(PREFIX)/bin
+BINDIR = $(UPREFIX)/bin
# Client only - where to put munin-node, munin-node-configure, and munin-run
-SBINDIR = $(PREFIX)/sbin
+SBINDIR = $(UPREFIX)/sbin
# Where to put text and html documentation
-DOCDIR = $(PREFIX)/doc
+DOCDIR = $(UPREFIX)/doc
# Where to put man pages
-MANDIR = $(PREFIX)/man
+MANDIR = $(UPREFIX)/man
# Where to put internal binaries and plugin repository
-LIBDIR = $(PREFIX)/lib
+LIBDIR = $(DATADIR)
# Server only - Output directory
-HTMLDIR = $(PREFIX)/www/docs
-CGIDIR = $(PREFIX)/www/cgi
+HTMLDIR = $(WWWDIR)
+CGIDIR = $(PREFIX)/www/cgi-bin
# Server only - spool directory for data gathered from nodes by
# munin-gather - experimental. Place on ramdisk to make munin
@@ -52,21 +56,20 @@
# SSPOOLDIR := /tmp/muninspool
# Client only - Where to put RRD files and other intenal data
-DBDIR = $(DESTDIR)/var/opt/munin
+DBDIR = $(PREFIX)/var/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 = $(PREFIX)/log/munin
+LOGDIR = /var/log/munin-master
# Location of PID files and other statefiles. On the server, must be
# writable by the user "munin".
-STATEDIR = $(DESTDIR)/var/run/munin
+STATEDIR = /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
@@ -95,11 +98,11 @@
GOODSH := $(shell PATH=`getconf PATH` sh -c 'type sh | sed "s/.* //"')
# Path of bash for bash specific plugins
-BASH := /bin/bash
+BASH := /usr/local/bin/bash
# Server only - Where to install the perl libraries
PERLSITELIB := $(shell $(PERL) -V:sitelib | cut -d"'" -f2)
-PERLLIB = $(DESTDIR)$(PERLSITELIB)
+PERLLIB = $(PREFIX)/$(SITE_PERL_REL)
# Client only - Install plugins for this architecture
OSTYPE := $(shell uname | tr '[A-Z]' '[a-z]')
@@ -126,9 +129,8 @@
# Which command to use to check if the USER and GROUP to run Munin as, exists.
# These will work on most modern OSes:

View File

@ -44,10 +44,8 @@ bin/munin-cron
%%DATADIR%%/munin-html
%%DATADIR%%/munin-limits
%%DATADIR%%/munin-update
%%WWWDIR%%/cgi-bin/munin-cgi-graph
%%WWWDIR%%/cgi-bin/munin-fastcgi-graph
%%WWWDIR%%/.htaccess
@dirrmtry %%WWWDIR%%/cgi-bin
www/cgi-bin/munin-cgi-graph
www/cgi-bin/munin-fastcgi-graph
@dirrmtry %%WWWDIR%%
@dirrmtry %%DATADIR%%
@dirrmtry %%DBDIR%%

View File

@ -7,7 +7,7 @@
PORTNAME= munin
PORTVERSION= 1.4.3
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= sysutils perl5
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}%20stable/${PORTVERSION}
PKGNAMESUFFIX= -node
@ -29,16 +29,10 @@ RUN_DEPENDS= ${SITE_PERL}/DateTime/HiRes.pm:${PORTSDIR}/devel/p5-DateTime-HiRes
USE_PERL5= yes
USE_GMAKE= yes
PATCH_STRIP= -p0
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/.r/rc/}
PKGMESSAGE= ${WRKDIR}/pkg-message
USERS= munin
GROUPS= munin
.include "${.CURDIR}/../munin-common/munin.mk"
DBDIR= /var/${PORTNAME}
MAKE_ARGS= LIBDIR=${DATADIR} CONFDIR=${ETCDIR} DBDIR=${DBDIR} \
PERL=${PERL} SITE_PERL_REL=${SITE_PERL_REL}
ALL_TARGET= build-node build-plugins
INSTALL_TARGET= install-node-prime install-plugins-prime
@ -66,25 +60,23 @@ MAN3= ${MAN3_NODE} ${MAN3_PLUGIN}
MAN5= munin-node.conf.5
MAN8= munin.8
PLIST_SUB= DBDIR=${DBDIR}
SUB_FILES= pkg-message munin-node-revive.sh
USE_RC_SUBR= munin-node.sh
RC_SUBR_SUFFIX= .sh
USE_RC_SUBR= munin-node
pre-su-install:
@${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \
${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
post-install:
${INSTALL_SCRIPT} ${WRKDIR}/munin-node.sh \
${PREFIX}/etc/rc.d/munin-node.sh
${INSTALL_DATA} ${WRKSRC}/build/node/munin-node.conf \
@${INSTALL_SCRIPT} ${WRKDIR}/munin-node \
${PREFIX}/etc/rc.d/munin-node
@${INSTALL_DATA} ${WRKSRC}/build/node/munin-node.conf \
${ETCDIR}/munin-node.conf.sample
@if [ ! -f ${ETCDIR}/munin-node.conf ]; then \
${INSTALL_DATA} ${ETCDIR}/munin-node.conf.sample \
${ETCDIR}/munin-node.conf; \
fi
${INSTALL_DATA} ${FILESDIR}/plugins.conf \
@${INSTALL_DATA} ${FILESDIR}/plugins.conf \
${ETCDIR}/plugin-conf.d/plugins.conf.sample
@if [ ! -f ${ETCDIR}/plugin-conf.d/plugins.conf ]; then \
${INSTALL_DATA} ${ETCDIR}/plugin-conf.d/plugins.conf.sample \

View File

@ -1,27 +0,0 @@
#!/bin/sh
#
# PROVIDE: munin-node
# REQUIRE: DAEMON
# BEFORE: cron
#
# Add the following lines to /etc/rc.conf to enable munin-node:
# munin_node_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable munin-node
# munin_node_config (path): Set to "%%PREFIX%%/etc/munin/munin-node.conf" by default.
#
. %%RC_SUBR%%
name="munin_node"
rcvar=`set_rcvar`
[ -z "$munin_node_enable" ] && munin_node_enable="NO"
[ -z "$munin_node_config" ] && munin_node_config="%%PREFIX%%/etc/munin/munin-node.conf"
command="%%PREFIX%%/sbin/munin-node"
pidfile=`awk '$1 == "pid_file" { print $2 }' $munin_node_config`
load_rc_config $name
run_rc_command "$1"

View File

@ -1,87 +1,5 @@
--- Makefile.config.orig 2009-12-30 05:55:56.000000000 -0700
+++ Makefile.config 2010-01-30 11:17:34.000000000 -0700
@@ -17,29 +17,33 @@
#
# the base of the Munin installation.
#
-PREFIX = $(DESTDIR)/opt/munin
+ifdef PREFIX
+UPREFIX=$(PREFIX)
+else
+UPREFIX=/usr
+endif
# Where Munin keeps its configurations (server.conf, client.conf, ++)
-CONFDIR = $(DESTDIR)/etc/opt/munin
+CONFDIR = $(PREFIX)/etc/munin
# Server only - where to put munin-cron
-BINDIR = $(PREFIX)/bin
+BINDIR = $(UPREFIX)/bin
# Client only - where to put munin-node, munin-node-configure, and munin-run
-SBINDIR = $(PREFIX)/sbin
+SBINDIR = $(UPREFIX)/sbin
# Where to put text and html documentation
-DOCDIR = $(PREFIX)/doc
+DOCDIR = $(UPREFIX)/doc
# Where to put man pages
-MANDIR = $(PREFIX)/man
+MANDIR = $(UPREFIX)/man
# Where to put internal binaries and plugin repository
-LIBDIR = $(PREFIX)/lib
+LIBDIR = $(DATADIR)
# Server only - Output directory
-HTMLDIR = $(PREFIX)/www/docs
-CGIDIR = $(PREFIX)/www/cgi
+HTMLDIR = $(WWWDIR)
+CGIDIR = $(PREFIX)/www/cgi-bin
# Server only - spool directory for data gathered from nodes by
# munin-gather - experimental. Place on ramdisk to make munin
@@ -52,21 +56,20 @@
# SSPOOLDIR := /tmp/muninspool
# Client only - Where to put RRD files and other intenal data
-DBDIR = $(DESTDIR)/var/opt/munin
+DBDIR = $(PREFIX)/var/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 = $(PREFIX)/log/munin
+LOGDIR = /var/log/munin-main
# Location of PID files and other statefiles. On the server, must be
# writable by the user "munin".
-STATEDIR = $(DESTDIR)/var/run/munin
+STATEDIR = /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
@@ -95,11 +98,11 @@
GOODSH := $(shell PATH=`getconf PATH` sh -c 'type sh | sed "s/.* //"')
# Path of bash for bash specific plugins
-BASH := /bin/bash
+BASH := /usr/local/bin/bash
# Server only - Where to install the perl libraries
PERLSITELIB := $(shell $(PERL) -V:sitelib | cut -d"'" -f2)
-PERLLIB = $(DESTDIR)$(PERLSITELIB)
+PERLLIB = $(PREFIX)/$(SITE_PERL_REL)
# Client only - Install plugins for this architecture
OSTYPE := $(shell uname | tr '[A-Z]' '[a-z]')
@@ -126,9 +129,8 @@
# Which command to use to check if the USER and GROUP to run Munin as, exists.
# These will work on most modern OSes:

View File

@ -15,5 +15,5 @@ Then, it will be started on the next boot. If this line is already
present, the client will be started now. Otherwise, edit
/etc/rc.conf and execute this command:
%%PREFIX%%/etc/rc.d/munin-node.sh start
%%PREFIX%%/etc/rc.d/munin-node start
********************************************************************

View File

@ -30,7 +30,7 @@ yesno() {
}
stop_process() {
STARTSTOP=${PKG_PREFIX}/etc/rc.d/munin-node.sh
STARTSTOP=${PKG_PREFIX}/etc/rc.d/munin-node
if [ -x $STARTSTOP ]; then
$STARTSTOP stop

View File

@ -90,7 +90,7 @@ case $2 in
POST-INSTALL)
if [ -z "${PACKAGE_BUILDING}" ]; then
init_plugins
${PKG_PREFIX}/etc/rc.d/munin-node.sh start
${PKG_PREFIX}/etc/rc.d/munin-node start
newsyslog
fi
;;