1 # $NetBSD: Makefile,v 1.27 2009/05/16 17:45:26 kefren Exp $
5 DISTNAME= webmin-${WBM_VERSION}
7 CATEGORIES= sysutils www
8 MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=webadmin/}
10 MAINTAINER= pkgsrc-users@NetBSD.org
11 HOMEPAGE= http://www.webmin.com/
12 COMMENT= Perl web server and CGI for Unix system administration
14 DEPENDS+= p5-Net-SSLeay-[0-9]*:../../security/p5-Net-SSLeay
16 NOT_FOR_BULK_PLATFORM= HPUX-*-*
18 WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
19 USE_LANGUAGES= # empty
24 WEBMIN_DIR= ${PREFIX}/share/webmin
25 WEBMIN_EGDIR= ${PREFIX}/share/examples/webmin
26 WEBMIN_ETCDIR= ${PKG_SYSCONFDIR}
27 WEBMIN_VARDIR= ${VARBASE}/webmin
28 FILES_SUBST+= WEBMIN_DIR=${WEBMIN_DIR:Q}
29 FILES_SUBST+= WEBMIN_EGDIR=${WEBMIN_EGDIR:Q}
30 FILES_SUBST+= WEBMIN_ETCDIR=${WEBMIN_ETCDIR:Q}
31 FILES_SUBST+= WEBMIN_MINIMAL_MODULES=${WEBMIN_MINIMAL_MODULES:Q}
32 FILES_SUBST+= WEBMIN_VARDIR=${WEBMIN_VARDIR:Q}
33 MESSAGE_SUBST+= WEBMIN_DIR=${WEBMIN_DIR:Q}
36 WEBMIN_MINIMAL_MODULES= acl cron init inittab man proc servers webmin webminlog
38 PKG_SYSCONFSUBDIR= webmin
39 OWN_DIRS_PERMS+= ${WEBMIN_VARDIR} ${ROOT_USER} ${ROOT_GROUP} 0700
40 .for f in config install-dir perl-path var-path version
41 CONF_FILES+= ${WEBMIN_EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}
43 .for m in ${WEBMIN_MINIMAL_MODULES}
44 OWN_DIRS_PERMS+= ${PKG_SYSCONFDIR}/${m} \
45 ${ROOT_USER} ${ROOT_GROUP} 0700
46 CONF_FILES_PERMS+= ${WEBMIN_EGDIR}/${m}/config \
47 ${PKG_SYSCONFDIR}/${m}/config \
48 ${ROOT_USER} ${ROOT_GROUP} 0600
50 .for f in miniserv.pem
51 CONF_FILES_PERMS+= ${WEBMIN_DIR}/${f} ${PKG_SYSCONFDIR}/${f} \
52 ${ROOT_USER} ${ROOT_GROUP} 0600
54 .for f in miniserv.conf miniserv.users webmin.acl
55 CONF_FILES_PERMS+= ${WEBMIN_EGDIR}/${f} ${PKG_SYSCONFDIR}/${f} \
56 ${ROOT_USER} ${ROOT_GROUP} 0600
58 .for f in reload restart start stop
59 CONF_FILES_PERMS+= ${WEBMIN_EGDIR}/${f} ${PKG_SYSCONFDIR}/${f} \
60 ${ROOT_USER} ${ROOT_GROUP} 0755
64 CHECK_INTERPRETER_SKIP+= share/webmin/webmin-gentoo-init
66 .include "../../security/openssl/buildlink3.mk"
69 ${CP} ${FILESDIR}/acl_config-dragonfly ${WRKSRC}/acl/config-dragonfly
70 ${CP} ${FILESDIR}/init_config-dragonfly ${WRKSRC}/init/config-dragonfly
71 ${CP} ${FILESDIR}/man_config-dragonfly ${WRKSRC}/man/config-dragonfly
72 ${CP} ${FILESDIR}/proc_config-dragonfly ${WRKSRC}/proc/config-dragonfly
76 ptn="@"`${ECHO} ${WEBMIN_MINIMAL_MODULES}|sed -e 's/ /@/g'`"@" && \
77 for m in `${ECHO} */module.info | sed -e 's/\/module.info//g'`; do \
83 for t in `${ECHO} */theme.info | sed -e 's/\/theme.info//g'`; do\
86 touch ${WRKSRC}/minimal-install
89 ${SED} -e "s,@WEBMIN_EGDIR@,${WEBMIN_EGDIR},g" \
90 -e "s,@WEBMIN_VARDIR@,${WEBMIN_VARDIR},g" \
91 -e "s,@PERL5@,"${PERL5:Q}",g" \
92 ${FILESDIR}/setup-pre.sh > ${WRKSRC}/setup-pre.sh
93 cd ${WRKSRC}; for file in acl/config acl/config-*; do \
94 ${SED} -e "s,^ssleay=.*,ssleay=${SSLBASE}/bin/openssl," \
95 "$$file" > "$$file.new"; \
96 ${MV} -f "$$file.new" "$$file"; \
98 ${FIND} ${WRKSRC} -name "*.orig" -print | ${XARGS} ${RM} -f
100 # Fix up the path to the config directory in the installed example config
104 ${SH} ${WRKSRC}/setup.sh ${WEBMIN_DIR}
105 ${SED} -e "/^env_WEBMIN_CONFIG=/s,${WEBMIN_EGDIR},${WEBMIN_ETCDIR}," \
106 -e "/^logout=/s,${WEBMIN_EGDIR},${WEBMIN_ETCDIR}," \
107 -e "/^userfile=/s,${WEBMIN_EGDIR},${WEBMIN_ETCDIR}," \
108 -e "/^keyfile=/s,${WEBMIN_EGDIR},${WEBMIN_ETCDIR}," \
109 ${WEBMIN_EGDIR}/miniserv.conf > ${WRKDIR}/miniserv.conf
110 for file in reload start stop; do \
111 ${SED} -e "s,${WEBMIN_EGDIR}/miniserv.conf,${WEBMIN_ETCDIR}/miniserv.conf," \
112 ${WEBMIN_EGDIR}/$$file > ${WRKDIR}/$$file; \
114 cd ${WEBMIN_EGDIR} && ${RM} -f miniserv.conf reload start stop
115 for file in miniserv.conf; do \
116 ${INSTALL_DATA} ${WRKDIR}/$$file ${WEBMIN_EGDIR}/$$file; \
117 ${RM} -f ${WRKDIR}/$$file; \
119 for file in reload start stop; do \
120 ${INSTALL_SCRIPT} ${WRKDIR}/$$file ${WEBMIN_EGDIR}/$$file; \
121 ${RM} -f ${WRKDIR}/$$file; \
123 ${RM} -f ${WEBMIN_EGDIR}/miniserv.pem ${WEBMIN_EGDIR}/module.infos.cache
124 cd ${WEBMIN_DIR} && ${CHMOD} 0400 setup.pl setup.sh setup-pre.sh
126 .include "../../mk/bsd.pkg.mk"