summaryrefslogtreecommitdiff
path: root/sysutils/openvox-agent8/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/openvox-agent8/Makefile')
-rw-r--r--sysutils/openvox-agent8/Makefile134
1 files changed, 134 insertions, 0 deletions
diff --git a/sysutils/openvox-agent8/Makefile b/sysutils/openvox-agent8/Makefile
new file mode 100644
index 000000000000..1bb8619cfe8b
--- /dev/null
+++ b/sysutils/openvox-agent8/Makefile
@@ -0,0 +1,134 @@
+PORTNAME= openvox-agent
+PORTVERSION= 8.21.0
+CATEGORIES= sysutils
+MASTER_SITES= https://forge.puppet.com/v3/files/:forge
+PKGNAMESUFFIX= 8
+
+MAINTAINER= puppet@FreeBSD.org
+COMMENT= Configuration management framework written in Ruby
+WWW= https://github.com/OpenVoxProject/openvox
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= rubygem-concurrent-ruby>1.0:devel/rubygem-concurrent-ruby \
+ rubygem-deep_merge>1.0:devel/rubygem-deep_merge \
+ rubygem-fast_gettext>=2.1:devel/rubygem-fast_gettext \
+ rubygem-getoptlong>=0.2.0:devel/rubygem-getoptlong \
+ rubygem-locale>=2.1:devel/rubygem-locale \
+ rubygem-multi_json>=1.13:devel/rubygem-multi_json \
+ rubygem-openfact>=5.0.0:sysutils/rubygem-openfact \
+ rubygem-puppet-resource_api>=1.5:devel/rubygem-puppet-resource_api \
+ rubygem-ruby-augeas>=0:textproc/rubygem-ruby-augeas \
+ rubygem-scanf>=1.0:devel/rubygem-scanf \
+ rubygem-semantic_puppet>=1.0:devel/rubygem-semantic_puppet
+
+USES= cpe ruby
+USE_GITHUB= yes
+GH_ACCOUNT= OpenVoxProject
+GH_PROJECT= openvox
+
+CONFLICTS_INSTALL= openvox-agent[0-9] puppet[0-9]
+PLIST_SUB= PORTVERSION="${PORTVERSION}"
+NO_ARCH= yes
+NO_BUILD= yes
+USE_RC_SUBR= puppet
+PORTDOCS= LICENSE README.md
+PORTEXAMPLES= *
+USERS= puppet
+GROUPS= puppet
+SUB_FILES+= pkg-message
+SUB_LIST= RUBY=${RUBY}
+
+DATADIR= ${PREFIX}/share/puppet
+ETCDIR= ${PREFIX}/etc/puppet
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+
+# Get versions from
+# https://github.com/OpenVoxProject/openvox-agent/tree/main/configs/components
+# for f in configs/components/module-puppetlabs-*.json; do echo ${${f#*/module-puppetlabs-}%.json}=${${$(jq .ref $f)#*/v}%\"}; done
+FORGE_MODULES= augeas_core=1.5.0 \
+ cron_core=1.3.0 \
+ host_core=1.3.0 \
+ mount_core=1.3.0 \
+ scheduled_task=3.2.0 \
+ selinux_core=1.4.0 \
+ sshkeys_core=2.5.0 \
+ yumrepo_core=2.1.0 \
+ zfs_core=1.5.0 \
+ zone_core=1.2.0
+
+.for module in ${FORGE_MODULES}
+DISTFILES+= puppetlabs-${module:C/=.*//}-${module:C/.*=//}.tar.gz:forge
+.endfor
+
+post-patch:
+ @${REINPLACE_CMD} -e "s|/etc/puppetlabs/puppet|${ETCDIR}|" \
+ ${WRKSRC}/install.rb \
+ ${WRKSRC}/lib/puppet/reference/configuration.rb \
+ ${WRKSRC}/lib/puppet/util/run_mode.rb
+ @${REINPLACE_CMD} -e "s|/etc/puppetlabs/code|${ETCDIR}|" \
+ ${WRKSRC}/install.rb \
+ ${WRKSRC}/lib/puppet/reference/configuration.rb \
+ ${WRKSRC}/lib/puppet/util/run_mode.rb
+ @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/cache|/var/puppet|" \
+ ${WRKSRC}/install.rb \
+ ${WRKSRC}/lib/puppet/reference/configuration.rb \
+ ${WRKSRC}/lib/puppet/util/run_mode.rb
+ @${REINPLACE_CMD} -e "s|/var/run/puppetlabs|/var/run/puppet|" \
+ ${WRKSRC}/install.rb \
+ ${WRKSRC}/lib/puppet/util/run_mode.rb
+ @${REINPLACE_CMD} -e "s|/var/log/puppetlabs/puppet|/var/log/puppet|" \
+ ${WRKSRC}/install.rb \
+ ${WRKSRC}/lib/puppet/util/run_mode.rb
+ @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/public|/var/puppet/state|" \
+ -e "s|/opt/puppetlabs/puppet/modules|${ETCDIR}/vendor_modules|" \
+ -e "s|/opt/puppetlabs/puppet/vendor_modules|${ETCDIR}/vendor_modules|" \
+ ${WRKSRC}/install.rb \
+ ${WRKSRC}/lib/puppet/util/run_mode.rb
+ @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/modules|${ETCDIR}/modules|" \
+ -e "s|/etc/puppetlabs/puppetserver/ca|/var/puppetserver/ca|" \
+ ${WRKSRC}/lib/puppet/defaults.rb
+ @${REINPLACE_CMD} -e "s|/opt/puppetlabs/puppet/bin/gem|${LOCALBASE}/bin/gem|" \
+ ${WRKSRC}/lib/puppet/provider/package/puppet_gem.rb
+ @${REINPLACE_CMD} -e "s|\$$confdir/ssl|/var/puppet/ssl|" \
+ ${WRKSRC}/lib/puppet/defaults.rb
+ @${REINPLACE_CMD} -e "s|\.\./\.\./\.\./locales|../locales|" \
+ ${WRKSRC}/lib/puppet/gettext/config.rb
+
+do-install:
+ @cd ${WRKSRC} && ${SETENV} PREFIX=${PREFIX} LC_ALL=C.UTF-8 ${RUBY} ${WRKSRC}/install.rb --no-configs --destdir=${STAGEDIR} \
+ --localedir=${RUBY_SITELIBDIR}/puppet/locales --publicdir=/var/puppet/state/
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/manifests
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/modules
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/vendor_modules
+.for module in ${FORGE_MODULES}
+ (cd ${WRKDIR}/puppetlabs-${module:C/=.*//}-${module:C/.*=//} && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/vendor_modules/${module:C/=.*//})
+.endfor
+ ${MKDIR} ${STAGEDIR}/var/puppet
+ ${SETENV} LC_ALL=C.UTF-8 ${RUBY} -I ${STAGEDIR}/${RUBY_SITELIBDIR} ${STAGEDIR}${PREFIX}/bin/puppet agent --genconfig \
+ --confdir=${ETCDIR} \
+ --rundir=/var/run/puppet \
+ --vardir=/var/puppet \
+ --logdir=/var/log/puppet \
+ --codedir=${ETCDIR} \
+ > ${STAGEDIR}${ETCDIR}/puppet.conf-dist
+ @${ECHO} ${STAGEDIR}${RUBY_SITELIBDIR}/puppet.rb | \
+ ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
+ @${FIND} ${STAGEDIR}${RUBY_SITELIBDIR}/puppet -type f | \
+ ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/ruby/gems/${RUBY_VER}/specifications
+ ${INSTALL_DATA} ${WRKSRC}/openvox.gemspec ${STAGEDIR}${PREFIX}/lib/ruby/gems/${RUBY_VER}/specifications/openvox-${PORTVERSION}.gemspec
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
+
+post-install-EXAMPLES-on:
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>