summaryrefslogtreecommitdiff
path: root/sysutils/apcupsd/Makefile
blob: 2e51fc9db08093f621bbee9ec133de84bf2abd4a (plain)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# $NetBSD: Makefile,v 1.54 2007/10/09 19:19:15 martti Exp $

DISTNAME=		apcupsd-3.14.1
PKGREVISION=		2
CATEGORIES=		sysutils
MASTER_SITES=		${MASTER_SITE_SOURCEFORGE:=apcupsd/}

MAINTAINER=		bouyer@NetBSD.org
HOMEPAGE=		http://www.apcupsd.org/
COMMENT=		UPS power management for APCC Products

USE_TOOLS+=		msgfmt sh makedepend
USE_LANGUAGES=		c c++

GNU_CONFIGURE=		yes

PKG_SYSCONFSUBDIR= 	apcupsd

# Thread support is needed to compile powerflute, which has a curses
# interface (apparently needing ncurses), but pthreads isn't very
# efficient and is less preferred.
#
#.include "../../devel/ncurses/buildlink3.mk"
#CONFIGURE_ARGS+=	--enable-threads	# compile threading code
#CONFIGURE_ARGS+=	--enable-powerflute	# compile powerflute program

# XXX this should be an option...
CONFIGURE_ARGS+=	--enable-cgi		# include CGI support
CONFIGURE_ARGS+=	--with-cgi-bin=${PREFIX}/libexec/cgi-bin
#CONFIGURE_ARGS+=	--with-net-port=${APCUPSD_NET_PORT}	# un-registered port is 7000

#CONFIGURE_ARGS+=	--with-nis-port=${APCUPSD_NIS_PORT}	# registered port is 3551
#CONFIGURE_ARGS+=	--with-upscable=${APCUPSD_UPS_CABLE}
#CONFIGURE_ARGS+=	--with-upscable=${APCUPSD_UPS_TYPE}

CONFIGURE_ARGS+=	--enable-net		# enable NIS network driver
CONFIGURE_ARGS+=	--enable-usb		# enable USB network driver
# XXX this should be an option...
.include "../../net/net-snmp/buildlink3.mk"
CONFIGURE_ARGS+=	--enable-snmp		# enable SNMP driver
CONFIGURE_ARGS+=	--with-catgets		# use catgets functions
CONFIGURE_ARGS+=	--enable-nls		# i18n support
CONFIGURE_ARGS+=	--with-lock-dir=${VARBASE}/spool/lock
# XXX is this supposed to be the full filename?
CONFIGURE_ARGS+=	--with-log-dir=${VARBASE}/db/apcupsd.events
# NOTE:  You want the /dev/ttyXX for smart cables such as 940-0024C,
# but probably the /dev/dtyXX for a basic smart-custom cable
CONFIGURE_ARGS+=	--with-serial-dev=/dev/tty01
CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR:Q}
# configure sets sbindir to '${prefix}/sbin' without expanding $prefix
# this breaks .in files that uses @sbindir@
CONFIGURE_ARGS+=	--sbindir=${PREFIX}/sbin

CONFIGURE_ENV+=		SCRIPTSHELL=${TOOLS_SH:Q}
CONFIGURE_ENV+=		ac_cv_path_MAKE=${MAKE:Q}

EGDIR=          ${PREFIX}/share/examples/apcupsd

CONF_FILES_PERMS+= ${EGDIR}/apcupsd.conf ${PKG_SYSCONFDIR}/apcupsd.conf ${ROOT_USER} ${ROOT_GROUP} 644
CONF_FILES_PERMS+= ${EGDIR}/apcupsd.css ${PKG_SYSCONFDIR}/apcupsd.css ${ROOT_USER} ${ROOT_GROUP} 644
CONF_FILES_PERMS+= ${EGDIR}/changeme ${PKG_SYSCONFDIR}/changeme ${ROOT_USER} ${ROOT_GROUP} 755
CONF_FILES_PERMS+= ${EGDIR}/commfailure ${PKG_SYSCONFDIR}/commfailure ${ROOT_USER} ${ROOT_GROUP} 755
CONF_FILES_PERMS+= ${EGDIR}/commok ${PKG_SYSCONFDIR}/commok ${ROOT_USER} ${ROOT_GROUP} 755
CONF_FILES_PERMS+= ${EGDIR}/multimon.conf ${PKG_SYSCONFDIR}/multimon.conf  ${ROOT_USER} ${ROOT_GROUP} 755
CONF_FILES_PERMS+= ${EGDIR}/hosts.conf ${PKG_SYSCONFDIR}/hosts.conf  ${ROOT_USER} ${ROOT_GROUP} 755
CONF_FILES_PERMS+= ${EGDIR}/offbattery ${PKG_SYSCONFDIR}/offbattery ${ROOT_USER} ${ROOT_GROUP} 755
CONF_FILES_PERMS+= ${EGDIR}/onbattery ${PKG_SYSCONFDIR}/onbattery ${ROOT_USER} ${ROOT_GROUP} 755
CONF_FILES_PERMS+= ${EGDIR}/apccontrol ${PKG_SYSCONFDIR}/apccontrol ${ROOT_USER} ${ROOT_GROUP} 755
RCD_SCRIPTS=	apcupsd
RCD_SCRIPT_SRC.apcupsd=	${WRKSRC}/platforms/netbsd/apcupsd

EGFILES= netbsd/apccontrol etc/changeme etc/commfailure etc/commok \
    etc/offbattery etc/onbattery etc/multimon.conf etc/hosts.conf
MANFILES= apcupsd apctest

INSTALLATION_DIRS=	share/examples/apcupsd share/examples/rc.d

SUBST_CLASSES+=		strip
SUBST_STAGE.strip=	pre-configure
SUBST_FILES.strip=	autoconf/install-sh autoconf/targets.mak
SUBST_FILES.strip+=	src/gapcmon/Makefile.in src/cgi/Makefile.in
SUBST_FILES.strip+=	src/Makefile.in
SUBST_SED.strip=	-e "s|STRIP|STRIPFLAG|g"
SUBST_MESSAGE.strip=	Fixing conflicting STRIP variable name

# XXX we should probably allow the tty to be set in /etc/mk.conf too
#
post-build:
.for file in ${MANFILES}
	${SED} -e 's|@@PREFIX@@|${PREFIX}|'\
	     -e 's|@@SYSCONFDIR@@|${PKG_SYSCONFDIR}|' \
	     ${WRKSRC}/doc/${file}.man > ${WRKSRC}/doc/${file}.8
.endfor

HTMLDOCS= apcupsd.gif bclogo.gif bugs.html bugs.wml index.html index.wml \
    license.html license.wml lists.html lists.wml mail16d.png menu.inc \
    publishsite support.html support.wml systems.html systems.wml template.inc

post-install:
	${INSTALL_DATA} ${WRKSRC}/platforms/etc/apcupsd.conf \
		${PREFIX}/share/examples/apcupsd
	${INSTALL_DATA} ${WRKSRC}/src/cgi/apcupsd.css \
		${PREFIX}/share/examples/apcupsd
.for file in ${EGFILES}
	${INSTALL_SCRIPT} ${WRKSRC}/platforms/${file} \
		${PREFIX}/share/examples/apcupsd
.endfor
	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/html/apcupsd
.for file in ${HTMLDOCS}
	${INSTALL_DATA} ${WRKSRC}/doc/home-page/${file} \
		${PREFIX}/share/doc/html/apcupsd
.endfor

.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"