summaryrefslogtreecommitdiff
path: root/sysutils/webmin/Makefile
blob: a691e8eafa2fc115b3a72eaf727fdc55299febb0 (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
# $NetBSD: Makefile,v 1.14 2006/05/16 04:01:28 jlam Exp $

DISTNAME=	webmin-1.270-minimal
PKGNAME=	${DISTNAME:S/-minimal$//}
CATEGORIES=	sysutils www
MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:=webadmin/}

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://www.webmin.com/
COMMENT=	Perl web server and CGI for Unix system administration

DEPENDS+=	p5-Net-SSLeay-[0-9]*:../../security/p5-Net-SSLeay

WRKSRC=		${WRKDIR}/${PKGNAME_NOREV}
USE_LANGUAGES=	# empty
NO_BUILD=	yes

USE_TOOLS+=	perl:run

WEBMIN_DIR=		${PREFIX}/share/webmin
WEBMIN_EGDIR=		${PREFIX}/share/examples/webmin
WEBMIN_ETCDIR=		${PKG_SYSCONFDIR}
WEBMIN_VARDIR=		${VARBASE}/webmin
FILES_SUBST+=		WEBMIN_DIR=${WEBMIN_DIR:Q}
FILES_SUBST+=		WEBMIN_EGDIR=${WEBMIN_EGDIR:Q}
FILES_SUBST+=		WEBMIN_ETCDIR=${WEBMIN_ETCDIR:Q}
FILES_SUBST+=		WEBMIN_VARDIR=${WEBMIN_VARDIR:Q}
MESSAGE_SUBST+=		WEBMIN_DIR=${WEBMIN_DIR:Q}

PKG_SYSCONFSUBDIR=	webmin
OWN_DIRS_PERMS+=	${WEBMIN_VARDIR} ${ROOT_USER} ${ROOT_GROUP} 0700
.for _file_ in		config install-dir perl-path var-path version
CONF_FILES+=		${WEBMIN_EGDIR}/${_file_} ${PKG_SYSCONFDIR}/${_file_}
.endfor
.for _module_ in	acl cron init inittab man proc servers webmin	\
			webminlog
OWN_DIRS_PERMS+=	${PKG_SYSCONFDIR}/${_module_}			\
			${ROOT_USER} ${ROOT_GROUP} 0700
CONF_FILES_PERMS+=	${WEBMIN_EGDIR}/${_module_}/config		\
			${PKG_SYSCONFDIR}/${_module_}/config		\
			${ROOT_USER} ${ROOT_GROUP} 0600
.endfor
.for _file_ in		miniserv.pem
CONF_FILES_PERMS+=	${WEBMIN_DIR}/${_file_} ${PKG_SYSCONFDIR}/${_file_} \
			${ROOT_USER} ${ROOT_GROUP} 0600
.endfor
.for _file_ in		miniserv.conf miniserv.users webmin.acl
CONF_FILES_PERMS+=	${WEBMIN_EGDIR}/${_file_} ${PKG_SYSCONFDIR}/${_file_} \
			${ROOT_USER} ${ROOT_GROUP} 0600
.endfor
.for _file_ in		reload restart start stop
CONF_FILES_PERMS+=	${WEBMIN_EGDIR}/${_file_} ${PKG_SYSCONFDIR}/${_file_} \
			${ROOT_USER} ${ROOT_GROUP} 0755
.endfor
RCD_SCRIPTS=		webmin

.include "../../security/openssl/buildlink3.mk"

do-configure:
	${SED}	-e "s,@WEBMIN_EGDIR@,${WEBMIN_EGDIR},g"			\
		-e "s,@WEBMIN_VARDIR@,${WEBMIN_VARDIR},g"		\
		-e "s,@PERL5@,"${PERL5:Q}",g"				\
		${FILESDIR}/setup-pre.sh > ${WRKSRC}/setup-pre.sh
	cd ${WRKSRC}; for file in acl/config acl/config-*; do		\
		${SED} -e "s,^ssleay=.*,ssleay=${SSLBASE}/bin/openssl,"	\
			"$$file" > "$$file.new";			\
		${MV} -f "$$file.new" "$$file";				\
	done
	${FIND} ${WRKSRC} -name "*.orig" -print | ${XARGS} ${RM} -f

# Fix up the path to the config directory in the installed example config
# files.
#
do-install:
	${SH} ${WRKSRC}/setup.sh ${WEBMIN_DIR}
	${SED}	-e "/^env_WEBMIN_CONFIG=/s,${WEBMIN_EGDIR},${WEBMIN_ETCDIR}," \
		-e "/^logout=/s,${WEBMIN_EGDIR},${WEBMIN_ETCDIR},"	\
		-e "/^userfile=/s,${WEBMIN_EGDIR},${WEBMIN_ETCDIR},"	\
		-e "/^keyfile=/s,${WEBMIN_EGDIR},${WEBMIN_ETCDIR},"	\
		${WEBMIN_EGDIR}/miniserv.conf > ${WRKDIR}/miniserv.conf
	for file in reload start stop; do				\
		${SED}	-e "s,${WEBMIN_EGDIR}/miniserv.conf,${WEBMIN_ETCDIR}/miniserv.conf," \
			${WEBMIN_EGDIR}/$$file > ${WRKDIR}/$$file;	\
	done
	cd ${WEBMIN_EGDIR} && ${RM} -f miniserv.conf reload start stop
	for file in miniserv.conf; do					\
		${INSTALL_DATA} ${WRKDIR}/$$file ${WEBMIN_EGDIR}/$$file; \
		${RM} -f ${WRKDIR}/$$file;				\
	done
	for file in reload start stop; do				\
		${INSTALL_SCRIPT} ${WRKDIR}/$$file ${WEBMIN_EGDIR}/$$file; \
		${RM} -f ${WRKDIR}/$$file;				\
	done
	${RM} -f ${WEBMIN_EGDIR}/miniserv.pem ${WEBMIN_EGDIR}/module.infos.cache
	cd ${WEBMIN_DIR} && ${CHMOD} 0400 setup.pl setup.sh setup-pre.sh

.include "../../mk/bsd.pkg.mk"