Pullup ticket 2989 - requested by taca
[pkgsrc.git] / sysutils / puppet / Makefile
1 # $NetBSD: Makefile,v 1.9 2010/02/04 16:22:02 taca Exp $
2
3 DISTNAME=               puppet-0.24.9
4 CATEGORIES=             sysutils
5 MASTER_SITES=           http://reductivelabs.com/downloads/gems/
6
7 MAINTAINER=             tonnerre@NetBSD.org
8 HOMEPAGE=               http://www.reductivelabs.com/projects/puppet/
9 COMMENT=                Configuration management framework written in Ruby
10 LICENSE=                gnu-gpl-v2
11
12 PKG_DESTDIR_SUPPORT=    user-destdir
13
14 DEPENDS+=               ${RUBY_PKGPREFIX}-facter>=1.3.8:../../sysutils/ruby-facter
15
16 GEM_BUILD=              gemspec
17
18 PKG_SYSCONFSUBDIR=      puppet
19 RCD_SCRIPTS=            puppetd puppetmasterd
20
21 SUBST_CLASSES+=         prefix
22 SUBST_STAGE.prefix=     post-patch
23 SUBST_FILES.prefix=     lib/puppet/reference/configuration.rb
24 SUBST_FILES.prefix+=    lib/puppet/defaults.rb spec/unit/util/selinux.rb
25 SUBST_FILES.prefix+=    bin/puppetrun bin/puppet bin/puppetdoc
26 SUBST_FILES.prefix+=    ext/puppetstoredconfigclean.rb ext/puppetlast
27 SUBST_FILES.prefix+=    man/man8/puppet.8
28 SUBST_FILES.prefix+=    conf/solaris/smf/puppetd.xml
29 SUBST_FILES.prefix+=    conf/solaris/smf/puppetmasterd.xml
30 SUBST_FILES.prefix+=    man/man8/puppetrun.8 man/man8/puppet.conf.8
31 SUBST_SED.prefix=       -e "s|/etc/puppet|${PKG_SYSCONFDIR}|g"
32 SUBST_SED.prefix+=      -e "s|/opt/csw/lib|${PREFIX}/lib|g"
33
34 EGDIR=                  ${PREFIX}/share/examples/${PKGBASE}
35 CONF_FILES=             ${EGDIR}/puppet.conf ${PKG_SYSCONFDIR}/puppet.conf
36
37 ## Since these users are needed only for puppet server,
38 ## puppet-server package should be created.
39 #SUBST_CLASSES+=                user
40 #SUBST_STAGE.user=      post-patch
41 #SUBST_FILES.user=      lib/puppet/defaults.rb
42 #SUBST_SED.user=                -e "s|@PUPPET_GROUP@|${PUPPET_GROUP}|g"
43 #SUBST_SED.user+=       -e "s|@PUPPET_USER@|${PUPPET_USER}|g"
44 #
45 #PKG_GROUPS_VARS=               PUPPET_GROUP
46 #PKG_USERS_VARS=                        PUPPET_USER
47 #
48 #PKG_GROUPS=                    ${PUPPET_GROUP}
49 #PKG_USERS=                     ${PUPPET_USER}:${PUPPET_GROUP}
50 #PKG_GECOS.${PUPPET_USER}=       Puppet configuration management pseudo-user
51
52 PLIST_VARS+=            sunos
53
54 BUILD_DEFS+=            VARBASE
55 INSTALLATION_DIRS+=     ${EGDIR}
56
57 .include "../../mk/bsd.prefs.mk"
58
59 #PUPPET_GROUP?=         puppet
60 #PUPPET_USER?=          puppet
61
62 .if ${OPSYS} == "SunOS"
63 INSTALLATION_DIRS+=     lib/svc/method ${EGDIR}/svc
64 CONF_DIRS+=             ${VARBASE}/svc/manifest
65 CONF_FILES+=            ${EGDIR}/svc/puppetd.xml ${VARBASE}/svc/manifest/puppetd.xml
66 CONF_FILES+=            ${EGDIR}/svc/puppetmasterd.xml ${VARBASE}/svc/manifest/puppetmasterd.xml
67 PLIST.sunos=            yes
68 .endif
69
70 pre-build:
71         cd ${WRKSRC} && ${FIND} . -type f -exec ${CHMOD} g-w {} \;
72         cd ${WRKSRC} && \
73                 ${FIND} lib/puppet spec test -type f -exec ${CHMOD} -x {} \;
74         cd ${WRKSRC} && ${RUBY} -Ilib bin/puppetmasterd                 \
75                 --confdir=${PKG_SYSCONFDIR:Q} --rundir=${VARBASE:Q}/run \
76                 --genconfig |                                           \
77                 ${SED} -e 's/genconfig = true/# genconfig = false/'     \
78                 > examples/puppet.conf
79
80 post-install:
81         ${INSTALL_DATA} ${WRKSRC}/examples/puppet.conf                  \
82                 ${DESTDIR}${EGDIR}
83 .if ${OPSYS} == "SunOS"
84         ${INSTALL_DATA} ${WRKSRC}/conf/solaris/smf/puppetd.xml          \
85                 ${DESTDIR}${EGDIR}/svc
86         ${INSTALL_DATA} ${WRKSRC}/conf/solaris/smf/puppetmasterd.xml    \
87                 ${DESTDIR}${EGDIR}/svc
88         ${INSTALL_SCRIPT} ${WRKSRC}/conf/solaris/smf/svc-puppetd        \
89                 ${DESTDIR}${PREFIX}/lib/svc/method
90         ${INSTALL_SCRIPT} ${WRKSRC}/conf/solaris/smf/svc-puppetmasterd  \
91                 ${DESTDIR}${PREFIX}/lib/svc/method
92 .endif
93
94 .include "../../misc/rubygems/rubygem.mk"
95 .include "../../mk/bsd.pkg.mk"