media-sound/asunder: Revbump to handle .desktop file properly.
[gentoo.git] / app-admin / puppetserver / puppetserver-2.8.0.ebuild
1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 inherit multilib systemd user
7
8 DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
9 HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
10 SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
11
12 LICENSE="Apache-2.0"
13 SLOT="0"
14 IUSE="puppetdb"
15 # will need the same keywords as puppet
16 KEYWORDS="amd64 x86"
17
18 RDEPEND+="
19                 >=virtual/jdk-1.7.0
20                 app-admin/puppet-agent[puppetdb?]"
21 DEPEND+=""
22
23 pkg_setup() {
24         enewgroup puppet
25         enewuser puppet -1 -1 /opt/puppetlabs/server/data/puppetserver "puppet"
26 }
27
28 src_prepare() {
29         sed -i 's/sysconfig\/puppetserver/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/g' ext/redhat/puppetserver.service || die
30         sed -i 's/sysconfig\/puppetserver/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/g' ext/bin/puppetserver || die
31         sed -i 's/sysconfig\/puppetserver/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/g' install.sh || die
32         sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
33         sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
34         sed -i 's/var\/run/run/g' install.sh || die
35         default
36 }
37
38 src_compile() {
39                 einfo "not compiling"
40 }
41
42 src_install() {
43         insinto /opt/puppetlabs/server/apps/puppetserver
44         insopts -m0774
45         doins ext/ezbake-functions.sh
46         insopts -m0644
47         doins ext/ezbake.manifest
48         doins puppet-server-release.jar
49         insinto /etc/puppetlabs/puppetserver
50         doins ext/config/logback.xml
51         doins ext/config/request-logging.xml
52         insinto /etc/puppetlabs/puppetserver/services.d
53         doins ext/system-config/services.d/bootstrap.cfg
54         doins ext/config/services.d/ca.cfg
55         insinto /etc/puppetlabs/puppetserver/conf.d
56         doins ext/config/conf.d/puppetserver.conf
57         doins ext/config/conf.d/auth.conf
58         doins ext/config/conf.d/global.conf
59         doins ext/config/conf.d/web-routes.conf
60         doins ext/config/conf.d/webserver.conf
61         insopts -m0755
62         insinto /opt/puppetlabs/server/apps/puppetserver/scripts
63         doins install.sh
64         insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
65         doins ext/cli/irb
66         doins ext/cli/foreground
67         doins ext/cli/gem
68         doins ext/cli/ruby
69         doins ext/cli/reload
70         doins ext/cli/start
71         doins ext/cli/stop
72         insinto /opt/puppetlabs/server/apps/puppetserver/bin
73         doins ext/bin/puppetserver
74         insopts -m0644
75         dodir /opt/puppetlabs/server/bin
76         dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
77         dodir /opt/puppetlabs/bin
78         dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
79         dosym ../../opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
80         dodir /opt/puppetlabs/server/apps/puppetserver/config/services.d
81         # other sys stuff
82         dodir /etc/puppetlabs/code
83         # needed for systemd
84         dodir /var/log/puppetlabs/puppetserver
85         dodir /etc/puppetlabs/puppet/ssl
86         fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
87         fperms -R 771 /etc/puppetlabs/puppet/ssl
88         # init type tasks
89         newconfd ext/default puppetserver
90         newinitd "${FILESDIR}/puppetserver.initd" puppetserver
91         # systemd type things
92         insinto /etc/systemd/system/puppetserver.service.d/
93         newins ext/default gentoo.conf
94         systemd_dounit ext/redhat/puppetserver.service
95         # misc
96         insinto /etc/logrotate.d
97         newins ext/puppetserver.logrotate.conf puppetserver
98         # cleanup
99         dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
100         fowners -R puppet:puppet /opt/puppetlabs/server/data
101         fperms -R 775 /opt/puppetlabs/server/data/puppetserver
102         fperms -R 700 /var/log/puppetlabs/puppetserver
103 }
104
105 pkg_postinst() {
106         elog "to install you may want to run the following:"
107         elog
108         elog "puppet config set --section master vardir  /opt/puppetlabs/server/data/puppetserver"
109         elog "puppet config set --section master logdir  /var/log/puppetlabs/puppetserver"
110         elog "puppet config set --section master rundir  /run/puppetlabs/puppetserver"
111         elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
112         elog "puppet config set --section master codedir /etc/puppetlabs/code"
113 }