6 MASTER_SITES= http://downloads.puppetlabs.com/puppet/
9 MAINTAINER= mmoll@FreeBSD.org
10 COMMENT= Configuration management framework written in Ruby
13 LICENSE_FILE= ${WRKSRC}/LICENSE
15 BUILD_DEPENDS= rubygem-hiera>=2.0:${PORTSDIR}/sysutils/rubygem-hiera \
16 rubygem-json_pure>=0:${PORTSDIR}/devel/rubygem-json_pure
17 RUN_DEPENDS= rubygem-hiera>=2.0:${PORTSDIR}/sysutils/rubygem-hiera \
18 rubygem-json_pure>=0:${PORTSDIR}/devel/rubygem-json_pure \
19 rubygem-ruby-augeas>=0:${PORTSDIR}/textproc/rubygem-ruby-augeas
22 CPE_VENDOR= puppetlabs
23 CONFLICTS_INSTALL= puppet-* puppet37-*
27 USE_RUBY_FEATURES= iconv
28 USE_RC_SUBR= puppet puppetmaster
29 PORTDOCS= LICENSE README.md
33 SUB_FILES+= pkg-message
34 SUB_LIST= RUBY=${RUBY}
36 OPTIONS_DEFINE= DOCS EXAMPLES
37 OPTIONS_DEFAULT= RFACTER
39 OPTIONS_RADIO_FACTER= CFACTER RFACTER
41 RFACTER_DESC= Use facter 2.x (written in Ruby)
42 CFACTER_DESC= Use facter 3.x (experimental rewrite in C++)
44 RFACTER_BUILD_DEPENDS= rubygem-facter>=2.0:${PORTSDIR}/sysutils/rubygem-facter
45 RFACTER_RUN_DEPENDS= rubygem-facter>=2.0:${PORTSDIR}/sysutils/rubygem-facter
47 CFACTER_BUILD_DEPENDS= facter>=3.0:${PORTSDIR}/sysutils/facter
48 CFACTER_RUN_DEPENDS= facter>=3.0:${PORTSDIR}/sysutils/facter
50 .include <bsd.port.options.mk>
52 .include <bsd.port.pre.mk>
55 @${REINPLACE_CMD} -e "s|/etc/puppetlabs/puppet|${ETCDIR}|" \
56 ${WRKSRC}/install.rb \
57 ${WRKSRC}/lib/puppet/reference/configuration.rb \
58 ${WRKSRC}/lib/puppet/util/run_mode.rb
59 @${REINPLACE_CMD} -e "s|/etc/puppetlabs/code|${ETCDIR}|" \
60 ${WRKSRC}/install.rb \
61 ${WRKSRC}/lib/puppet/reference/configuration.rb \
62 ${WRKSRC}/lib/puppet/util/run_mode.rb
63 @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/cache|/var/puppet|" \
64 ${WRKSRC}/install.rb \
65 ${WRKSRC}/lib/puppet/reference/configuration.rb \
66 ${WRKSRC}/lib/puppet/util/run_mode.rb
67 @${REINPLACE_CMD} -e "s|/var/run/puppetlabs|/var/run/puppet|" \
68 ${WRKSRC}/install.rb \
69 ${WRKSRC}/lib/puppet/util/run_mode.rb
70 @${REINPLACE_CMD} -e "s|/var/log/puppetlabs/puppet|/var/log/puppet|" \
71 ${WRKSRC}/install.rb \
72 ${WRKSRC}/lib/puppet/util/run_mode.rb
73 @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/modules|${ETCDIR}/modules|" \
74 ${WRKSRC}/lib/puppet/defaults.rb
75 @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/bin/gem|${LOCALBASE}/bin/gem|" \
76 ${WRKSRC}/lib/puppet/provider/package/puppet_gem.rb
77 @${REINPLACE_CMD} -e "s|\$$confdir/ssl|/var/puppet/ssl|" \
78 ${WRKSRC}/lib/puppet/defaults.rb
79 @${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" \
80 ${WRKSRC}/ext/rack/config.ru
83 @cd ${WRKSRC} && ${SETENV} PREFIX=${PREFIX} ${RUBY} ${WRKSRC}/install.rb --no-configs --destdir=${STAGEDIR}
86 ${MKDIR} ${STAGEDIR}${ETCDIR}/manifests
87 ${MKDIR} ${STAGEDIR}${ETCDIR}/modules
88 ${MKDIR} ${STAGEDIR}/var/puppet
89 ${INSTALL_DATA} ${WRKSRC}/conf/auth.conf ${STAGEDIR}${ETCDIR}/auth.conf-dist
90 ${RUBY} -I ${STAGEDIR}/${RUBY_SITELIBDIR} ${STAGEDIR}${PREFIX}/bin/puppet agent --genconfig \
92 --rundir=/var/run/puppet \
93 --vardir=/var/puppet \
94 --logdir=/var/log/puppet \
96 > ${STAGEDIR}${ETCDIR}/puppet.conf-dist
97 @${ECHO} ${STAGEDIR}${RUBY_SITELIBDIR}/puppet.rb | \
98 ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
99 @${ECHO} ${STAGEDIR}${RUBY_SITELIBDIR}/semver.rb | \
100 ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
101 @${FIND} ${STAGEDIR}${RUBY_SITELIBDIR}/${PORTNAME} -type f | \
102 ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
103 @${FIND} ${STAGEDIR}${RUBY_SITELIBDIR}/${PORTNAME} -type d | ${SORT} -r | \
104 ${SED} 's,^${STAGEDIR}${PREFIX}/,@dirrm ,' >> ${TMPPLIST}
105 @${MKDIR} ${STAGEDIR}${WWWDIR}
106 ${INSTALL_DATA} ${WRKSRC}/ext/rack/config.ru ${STAGEDIR}${WWWDIR}
107 @${MKDIR} ${STAGEDIR}${DOCSDIR}
108 cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
109 @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
110 cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
111 ${INSTALL_DATA} ${WRKSRC}/ext/rack/example-passenger-vhost.conf ${STAGEDIR}${EXAMPLESDIR}
113 .include <bsd.port.post.mk>