Prune sysutils/pcpustat
[dports.git] / sysutils / puppet4 / Makefile
1 # $FreeBSD$
2
3 PORTNAME=       puppet
4 PORTVERSION=    4.2.3
5 CATEGORIES=     sysutils
6 MASTER_SITES=   http://downloads.puppetlabs.com/puppet/
7 PKGNAMESUFFIX=  4
8
9 MAINTAINER=     mmoll@FreeBSD.org
10 COMMENT=        Configuration management framework written in Ruby
11
12 LICENSE=        APACHE20
13 LICENSE_FILE=   ${WRKSRC}/LICENSE
14
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
20
21 USES=           cpe
22 CPE_VENDOR=     puppetlabs
23 CONFLICTS_INSTALL=      puppet-* puppet37-*
24 NO_ARCH=        yes
25 NO_BUILD=       yes
26 USE_RUBY=       yes
27 USE_RUBY_FEATURES=      iconv
28 USE_RC_SUBR=    puppet puppetmaster
29 PORTDOCS=       LICENSE README.md
30 PORTEXAMPLES=   *
31 USERS=          puppet
32 GROUPS=         puppet
33 SUB_FILES+=     pkg-message
34 SUB_LIST=       RUBY=${RUBY}
35
36 OPTIONS_DEFINE=         DOCS EXAMPLES
37 OPTIONS_DEFAULT=        RFACTER
38 OPTIONS_RADIO=          FACTER
39 OPTIONS_RADIO_FACTER=   CFACTER RFACTER
40
41 RFACTER_DESC=   Use facter 2.x (written in Ruby)
42 CFACTER_DESC=   Use facter 3.x (experimental rewrite in C++)
43
44 RFACTER_BUILD_DEPENDS=  rubygem-facter>=2.0:${PORTSDIR}/sysutils/rubygem-facter
45 RFACTER_RUN_DEPENDS=    rubygem-facter>=2.0:${PORTSDIR}/sysutils/rubygem-facter
46
47 CFACTER_BUILD_DEPENDS=  facter>=3.0:${PORTSDIR}/sysutils/facter
48 CFACTER_RUN_DEPENDS=    facter>=3.0:${PORTSDIR}/sysutils/facter
49
50 .include <bsd.port.options.mk>
51
52 .include <bsd.port.pre.mk>
53
54 post-patch:
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
81
82 do-install:
83         @cd ${WRKSRC} && ${SETENV} PREFIX=${PREFIX} ${RUBY} ${WRKSRC}/install.rb --no-configs --destdir=${STAGEDIR}
84
85 post-install:
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 \
91                 --confdir=${ETCDIR} \
92                 --rundir=/var/run/puppet \
93                 --vardir=/var/puppet \
94                 --logdir=/var/log/puppet \
95                 --codedir=${ETCDIR} \
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}
112
113 .include <bsd.port.post.mk>