Fixup fromcvs/togit conversion
[pkgsrcv2.git] / sysutils / webmin / Makefile
1 # $NetBSD: Makefile,v 1.27 2009/05/16 17:45:26 kefren Exp $
2
3 .include "version.mk"
4
5 DISTNAME=       webmin-${WBM_VERSION}
6 PKGREVISION=    3
7 CATEGORIES=     sysutils www
8 MASTER_SITES=   ${MASTER_SITE_SOURCEFORGE:=webadmin/}
9
10 MAINTAINER=     pkgsrc-users@NetBSD.org
11 HOMEPAGE=       http://www.webmin.com/
12 COMMENT=        Perl web server and CGI for Unix system administration
13
14 DEPENDS+=       p5-Net-SSLeay-[0-9]*:../../security/p5-Net-SSLeay
15
16 NOT_FOR_BULK_PLATFORM=  HPUX-*-*
17
18 WRKSRC=         ${WRKDIR}/${PKGNAME_NOREV}
19 USE_LANGUAGES=  # empty
20 NO_BUILD=       yes
21
22 USE_TOOLS+=     perl:run
23
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}
34 BUILD_DEFS+=            VARBASE
35
36 WEBMIN_MINIMAL_MODULES= acl cron init inittab man proc servers webmin webminlog
37
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}
42 .endfor
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
49 .endfor
50 .for f in               miniserv.pem
51 CONF_FILES_PERMS+=      ${WEBMIN_DIR}/${f} ${PKG_SYSCONFDIR}/${f}       \
52                         ${ROOT_USER} ${ROOT_GROUP} 0600
53 .endfor
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
57 .endfor
58 .for f in               reload restart start stop
59 CONF_FILES_PERMS+=      ${WEBMIN_EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}     \
60                         ${ROOT_USER} ${ROOT_GROUP} 0755
61 .endfor
62 RCD_SCRIPTS=            webmin
63
64 CHECK_INTERPRETER_SKIP+=        share/webmin/webmin-gentoo-init
65
66 .include "../../security/openssl/buildlink3.mk"
67
68 post-extract:
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
73
74 pre-configure:
75         cd ${WRKSRC} &&                                                 \
76         ptn="@"`${ECHO} ${WEBMIN_MINIMAL_MODULES}|sed -e 's/ /@/g'`"@" &&       \
77         for m in `${ECHO} */module.info | sed -e 's/\/module.info//g'`; do \
78                 case $${ptn} in                                         \
79                 *@$${m}@*) ;;                                           \
80                 *)      rm -rf $${m} ;;                                 \
81                 esac;                                                   \
82         done &&                                                         \
83         for t in `${ECHO} */theme.info | sed -e 's/\/theme.info//g'`; do\
84                 rm -rf $${t};                                           \
85         done &&                                                         \
86         touch ${WRKSRC}/minimal-install
87
88 do-configure:
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";                         \
97         done
98         ${FIND} ${WRKSRC} -name "*.orig" -print | ${XARGS} ${RM} -f
99
100 # Fix up the path to the config directory in the installed example config
101 # files.
102 #
103 do-install:
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;      \
113         done
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;                              \
118         done
119         for file in reload start stop; do                               \
120                 ${INSTALL_SCRIPT} ${WRKDIR}/$$file ${WEBMIN_EGDIR}/$$file; \
121                 ${RM} -f ${WRKDIR}/$$file;                              \
122         done
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
125
126 .include "../../mk/bsd.pkg.mk"