3 DISTNAME= openca-0.9.2.5
6 MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=openca/}
8 MAINTAINER= pkgsrc-users@NetBSD.org
9 HOMEPAGE= http://pki.openca.org/
10 COMMENT= Robust, full-featured out-of-the-box Certification Authority
12 DEPENDS+= p5-Authen-SASL>=2.04:../../security/p5-Authen-SASL
13 DEPENDS+= p5-CGI-Session>=3.95:../../www/p5-CGI-Session
14 DEPENDS+= p5-Convert-ASN1>=0.17:../../textproc/p5-Convert-ASN1
15 DEPENDS+= p5-MIME-Base64>=2.20:../../converters/p5-MIME-Base64
16 DEPENDS+= p5-Digest-SHA1>=2.02:../../security/p5-Digest-SHA1
17 DEPENDS+= p5-Digest-MD5>=2.24:../../security/p5-Digest-MD5
18 DEPENDS+= p5-Digest-HMAC>=1.01:../../security/p5-Digest-HMAC
19 DEPENDS+= p5-IO-Socket-SSL>=0.92:../../security/p5-IO-Socket-SSL
20 DEPENDS+= p5-IO-stringy>=2.108:../../devel/p5-IO-stringy
21 DEPENDS+= p5-MIME-Lite>=3.01:../../mail/p5-MIME-Lite
22 DEPENDS+= p5-MailTools>=1.58:../../mail/p5-MailTools
23 DEPENDS+= p5-MIME-tools>=5.411:../../mail/p5-MIME-tools
24 DEPENDS+= p5-Net-Server>=0.86:../../net/p5-Net-Server
25 DEPENDS+= p5-Parse-RecDescent>=1.94:../../devel/p5-Parse-RecDescent
26 DEPENDS+= p5-URI>=1.23:../../www/p5-URI
27 DEPENDS+= p5-XML-Twig>=3.09:../../textproc/p5-XML-Twig
28 DEPENDS+= p5-X500-DN>=0.28:../../net/p5-X500-DN
29 DEPENDS+= p5-Locale-libintl>=1.10:../../misc/p5-Locale-libintl
30 DEPENDS+= p5-perl-ldap>=0.33:../../databases/p5-perl-ldap
32 WRKSRC= ${WRKDIR}/${DISTNAME:S/openca/OpenCA/}
33 USE_TOOLS+= perl:run pkg-config gmake
34 BUILD_DEFS+= OPENCA_USER OPENCA_GROUP OPENCA_HOST APACHE_USER APACHE_GROUP \
37 .include "../../mk/bsd.prefs.mk"
38 .include "Makefile.config"
42 PKG_SYSCONFSUBDIR= openca
45 OPENCA_HOST?= localhost
47 INSTALL_TARGET= install-online install-ca
48 EGDIR= ${PREFIX}/share/examples/openca
49 DOCDIR= ${PREFIX}/share/doc/openca
50 MKDIRS= access_control servers bp bp/functions database \
51 init.d openssl openssl/openssl openssl/extfiles \
53 OWN_DIRS_PERMS+= ${VARBASE}/openca ${APACHE_USER} ${APACHE_GROUP} 0750
54 MESSAGE_SUBST+= OPENCA_HOST=${OPENCA_HOST:Q} \
55 PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q}
58 PKG_USERS= ${OPENCA_USER:Q}:${OPENCA_GROUP:Q}::OpenCA\ user
59 PKG_GROUPS= ${OPENCA_GROUP:Q}
61 CONFIGURE_ARGS+= --localstatedir=${VARBASE:Q}
62 CONFIGURE_ARGS+= --with-lib-prefix=${PREFIX}/lib/openca
63 CONFIGURE_ARGS+= --with-var-prefix=${VARBASE:Q}/openca
64 CONFIGURE_ARGS+= --with-etc-prefix=${EGDIR:Q}
65 CONFIGURE_ARGS+= --with-openca-prefix=${PREFIX}/share/openca
66 CONFIGURE_ARGS+= --with-openca-user=${OPENCA_USER:Q}
67 CONFIGURE_ARGS+= --with-openca-group=${OPENCA_GROUP:Q}
68 CONFIGURE_ARGS+= --with-web-host=${OPENCA_HOST:Q}
69 CONFIGURE_ARGS+= --with-httpd-user=${APACHE_USER:Q}
70 CONFIGURE_ARGS+= --with-httpd-group=${APACHE_GROUP:Q}
71 CONFIGURE_ARGS+= --with-cgi-fs-prefix=${PREFIX}/libexec/cgi-bin
72 CONFIGURE_ARGS+= --with-htdocs-fs-prefix=${PREFIX}/share/httpd/htdocs
73 CONFIGURE_ARGS+= --disable-external-modules
76 CONF_FILES_PERMS+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f} \
77 ${ROOT_USER:Q} ${APACHE_GROUP:Q} 0644
78 EGFILES+= ${EGDIR}/${f}
81 .for f in ${OPENCA_OPENCA}
82 CONF_FILES_PERMS+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f} \
83 ${OPENCA_USER:Q} ${OPENCA_GROUP:Q} 0644
84 EGFILES+= ${EGDIR}/${f}
88 CONF_FILES_PERMS+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f} \
89 ${APACHE_USER:Q} ${APACHE_GROUP:Q} 0644
90 EGFILES+= ${EGDIR}/${f}
93 .for f in ${OPENCA_OPENCA_EX}
94 CONF_FILES_PERMS+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f} \
95 ${OPENCA_USER:Q} ${OPENCA_GROUP:Q} 0755
96 EGFILES+= ${EGDIR}/${f}
100 SUBST_STAGE.conf= pre-install
101 SUBST_FILES.conf= src/web-interfaces/batch/batch.conf \
102 src/web-interfaces/ca/ca.conf \
103 src/web-interfaces/ldap/ldap.conf \
104 src/web-interfaces/node/node.conf \
105 src/web-interfaces/ra/ra.conf
106 SUBST_SED.conf= -e 's|@MYMAKE@|${MAKE:Q}|g'
107 SUBST_MESSAGE.conf= Fixing configuration files.
110 SUBST_STAGE.etc= post-install
111 SUBST_FILES.etc= ${EGFILES}
112 SUBST_SED.etc= -e 's|${EGDIR}|${PKG_SYSCONFDIR}|g'
113 SUBST_MESSAGE.etc= Fixing references to ${PKG_SYSCONFDIR}.
116 SUBST_STAGE.cgi= pre-install
117 SUBST_FILES.cgi= src/web-interfaces/ca/ca \
118 src/web-interfaces/ldap/ldap \
119 src/web-interfaces/node/node \
120 src/web-interfaces/pub/pki \
121 src/web-interfaces/ra/RAServer \
122 src/web-interfaces/scep/scep
123 SUBST_SED.cgi= -e 's|${EGDIR}|${PKG_SYSCONFDIR}|g'
124 SUBST_MESSAGE.cgi= Fixing references to ${PKG_SYSCONFDIR}.
127 cd ${WRKSRC}/src/scripts && ${SETENV} ${MAKE_ENV} ${MAKE} install
128 cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} ${MAKE} install-doc
129 cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} ${MAKE} install-man
132 ${MKDIR} ${PKG_SYSCONFDIR}/${f}
135 ${CHOWN} ${OPENCA_USER}:${OPENCA_GROUP} \
136 ${PKG_SYSCONFDIR}/access_control
137 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} ${PKG_SYSCONFDIR}/bp
138 ${CHOWN} ${OPENCA_USER}:${OPENCA_GROUP} ${PKG_SYSCONFDIR}/bp/functions
139 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} ${PKG_SYSCONFDIR}/database
140 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} ${PKG_SYSCONFDIR}/init.d
141 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} ${PKG_SYSCONFDIR}/openssl
142 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} \
143 ${PKG_SYSCONFDIR}/openssl/extfiles
144 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} \
145 ${PKG_SYSCONFDIR}/openssl/openssl
146 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} ${PKG_SYSCONFDIR}/rbac
147 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} ${PKG_SYSCONFDIR}/rbac/cmds
148 ${CHOWN} ${APACHE_USER}:${APACHE_GROUP} ${PKG_SYSCONFDIR}/scep
149 ${CHOWN} ${OPENCA_USER}:${OPENCA_GROUP} ${PKG_SYSCONFDIR}/servers
151 ${INSTALL_DATA_DIR} ${DOCDIR}
152 ${INSTALL_DATA_DIR} ${DOCDIR}/howto
153 ${INSTALL_DATA} ${WRKSRC}/INSTALL ${DOCDIR}
154 ${INSTALL_DATA} ${WRKSRC}/README ${DOCDIR}
155 ${INSTALL_DATA} ${WRKSRC}/RELEASE-NOTES ${DOCDIR}
156 ${INSTALL_DATA} ${WRKSRC}/docs/errorcodes.txt ${DOCDIR}
157 ${INSTALL_DATA} ${WRKSRC}/docs/howto/dartmouth.txt ${DOCDIR}/howto
158 ${INSTALL_DATA} ${WRKSRC}/docs/howto/wallus.txt ${DOCDIR}/howto
160 ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${EGDIR}
161 ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DOCDIR}
163 .include "../../security/openssl/buildlink3.mk"
164 .include "../../www/apache2/buildlink3.mk"
165 .include "../../lang/perl5/buildlink3.mk"
166 .include "../../mk/bsd.pkg.mk"