summaryrefslogtreecommitdiff
path: root/sysutils/puppetserver8/Makefile
blob: b4c30e7b82d6c5b8a93f6d4d1d2ab30d7604087c (plain) (blame)
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
PORTNAME=	puppetserver
PORTVERSION=	8.7.0
CATEGORIES=	sysutils java
MASTER_SITES=	https://downloads.puppetlabs.com/puppet/
PKGNAMESUFFIX=	8

MAINTAINER=	puppet@FreeBSD.org
COMMENT=	Puppet Server running in the JVM
WWW=		https://docs.puppetlabs.com/puppetserver/latest/services_master_puppetserver.html

LICENSE=	APACHE20

ONLY_FOR_ARCHS=	aarch64 amd64
ONLY_FOR_ARCHS_REASON=Bundled JNI only support some architectures

RUN_DEPENDS=	bash>=0:shells/bash \
		puppet8>=8.0:sysutils/puppet8 \
		rubygem-puppetserver-ca>=1:sysutils/rubygem-puppetserver-ca \
		rubygem-semantic_puppet>=1:devel/rubygem-semantic_puppet \
		sudo>=1:security/sudo

USES=		ruby java shebangfix
JAVA_VERSION=	11+
USE_RC_SUBR=	puppetserver

NO_ARCH=	yes
NO_BUILD=	yes

CONFLICTS_INSTALL=	puppetserver[0-9]

SHEBANG_FILES=	ext/bin/puppetserver

USERS=		puppet
GROUPS=		puppet

SUB_LIST=	JAVA_HOME=${JAVA_HOME}
SUB_FILES=	pkg-message

post-patch:
.for file in ext/config/logback.xml ext/config/request-logging.xml \
	ext/config/conf.d/global.conf ext/config/conf.d/puppetserver.conf \
	ext/config/conf.d/web-routes.conf ext/config/conf.d/webserver.conf \
	ext/config/conf.d/auth.conf ext/config/services.d/ca.cfg \
	ext/system-config/services.d/bootstrap.cfg ext/bin/puppetserver \
	ext/cli_defaults/cli-defaults.sh ext/cli/foreground
	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \
		-e 's|%%RUBY_SITELIBDIR%%|${RUBY_SITELIBDIR}|' \
		-e 's|%%RUBY_VER%%|${RUBY_VER}|' \
		-e 's|%%JAVA%%|${JAVA}|' \
		-e 's|%%ETCDIR%%|${ETCDIR}|' \
		-e 's|%%DATADIR%%|${DATADIR}|' \
		${WRKSRC}/${file}
.endfor
	@${REINPLACE_CMD} -e 's|#!/opt/puppetlabs/puppet/bin/ruby|#!${RUBY}|' \
		${WRKSRC}/ext/cli/ca \
		${WRKSRC}/ext/cli/dropsonde

do-install:
	@${MKDIR} ${STAGEDIR}${DATADIR}/cli/apps
	@${MKDIR} ${STAGEDIR}${ETCDIR}/conf.d
	@${MKDIR} ${STAGEDIR}${ETCDIR}/services.d
	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/puppet/code
	@${MKDIR} ${STAGEDIR}/var/log/puppetserver
	@${MKDIR} ${STAGEDIR}/var/puppet/server
	@${MKDIR} ${STAGEDIR}/var/puppet/server/data
	@${MKDIR} ${STAGEDIR}/var/puppetserver
	@${MKDIR} ${STAGEDIR}/var/run/puppetserver
	${INSTALL_DATA} ${WRKSRC}/puppet-server-release.jar ${STAGEDIR}${DATADIR}/puppet-server-release.jar
	${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/global.conf ${STAGEDIR}${ETCDIR}/conf.d/global.conf.sample
	${INSTALL_DATA} ${WRKSRC}/ext/config/logback.xml ${STAGEDIR}${ETCDIR}/logback.xml.sample
	${INSTALL_DATA} ${WRKSRC}/ext/config/request-logging.xml ${STAGEDIR}${ETCDIR}/request-logging.xml.sample
	${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/puppetserver.conf ${STAGEDIR}${ETCDIR}/conf.d/puppetserver.conf.sample
	${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/web-routes.conf ${STAGEDIR}${ETCDIR}/conf.d/web-routes.conf.sample
	${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/webserver.conf ${STAGEDIR}${ETCDIR}/conf.d/webserver.conf.sample
	${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/auth.conf ${STAGEDIR}${ETCDIR}/conf.d/auth.conf.sample
	${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/metrics.conf ${STAGEDIR}${ETCDIR}/conf.d/metrics.conf.sample
	${INSTALL_DATA} ${WRKSRC}/ext/config/services.d/ca.cfg ${STAGEDIR}${ETCDIR}/services.d/ca.cfg.sample
	${INSTALL_DATA} ${WRKSRC}/ext/system-config/services.d/bootstrap.cfg ${STAGEDIR}${ETCDIR}/services.d/bootstrap.cfg.sample
	${INSTALL_DATA} ${WRKSRC}/ext/bin/puppetserver ${STAGEDIR}${PREFIX}/bin/puppetserver
	${INSTALL_DATA} ${WRKSRC}/ext/ezbake-functions.sh ${STAGEDIR}${DATADIR}/ezbake-functions.sh
	${INSTALL_DATA} ${WRKSRC}/ext/cli/ca ${STAGEDIR}${DATADIR}/cli/apps/ca
	${INSTALL_DATA} ${WRKSRC}/ext/cli/foreground ${STAGEDIR}${DATADIR}/cli/apps/foreground
	${INSTALL_DATA} ${WRKSRC}/ext/cli/gem ${STAGEDIR}${DATADIR}/cli/apps/gem
	${INSTALL_DATA} ${WRKSRC}/ext/cli/irb ${STAGEDIR}${DATADIR}/cli/apps/irb
	${INSTALL_DATA} ${WRKSRC}/ext/cli/reload ${STAGEDIR}${DATADIR}/cli/apps/reload
	${INSTALL_DATA} ${WRKSRC}/ext/cli/ruby ${STAGEDIR}${DATADIR}/cli/apps/ruby
	${INSTALL_DATA} ${WRKSRC}/ext/cli/start ${STAGEDIR}${DATADIR}/cli/apps/start
	${INSTALL_DATA} ${WRKSRC}/ext/cli/stop ${STAGEDIR}${DATADIR}/cli/apps/stop
	${INSTALL_DATA} ${WRKSRC}/ext/cli_defaults/cli-defaults.sh ${STAGEDIR}${DATADIR}/cli/cli-defaults.sh

.include <bsd.port.mk>