app-admin/puppet-agent: 1.10.5 and 5.0.1 stable amd64 and x86
[gentoo.git] / app-admin / puppet-agent / puppet-agent-5.0.1.ebuild
1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=5
5 inherit eutils systemd unpacker user
6
7 DESCRIPTION="general puppet client utils along with mcollective hiera and facter"
8 HOMEPAGE="https://puppetlabs.com/"
9 SRC_BASE="http://apt.puppetlabs.com/pool/xenial/puppet5/${PN:0:1}/${PN}/${PN}_${PV}-1xenial"
10 SRC_URI="
11         amd64? ( ${SRC_BASE}_amd64.deb )
12         x86?   ( ${SRC_BASE}_i386.deb )
13 "
14
15 LICENSE="Apache-2.0"
16 SLOT="0"
17 KEYWORDS="amd64 x86"
18 IUSE="puppetdb selinux"
19 RESTRICT="strip"
20
21 CDEPEND="!app-admin/augeas
22         !app-admin/mcollective
23         !app-admin/puppet
24         !dev-ruby/hiera
25         !dev-ruby/facter
26         !app-emulation/virt-what"
27
28 DEPEND="
29         ${CDEPEND}"
30 RDEPEND="${CDEPEND}
31         app-portage/eix
32         sys-apps/dmidecode
33         sys-libs/glibc
34         >=sys-libs/readline-6.0
35         <sys-libs/readline-7.0
36         selinux? (
37                 sys-libs/libselinux[ruby]
38                 sec-policy/selinux-puppet
39         )
40         puppetdb? ( >=dev-ruby/puppetdb-termini-5.0.1 )"
41
42 S=${WORKDIR}
43
44 QA_PREBUILT="
45         /opt/puppetlabs/puppet
46         /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/2.1.0/x86_64-linux/*
47         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/mathn/*
48         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/io/*
49         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/dl/*
50         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/racc/*
51         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/enc/*
52         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/json/ext/*
53         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/rbconfig/*
54         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/digest/*
55         /opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/*
56         /opt/puppetlabs/puppet/lib/engines/*
57         /opt/puppetlabs/puppet/lib/virt-what/*
58         /opt/puppetlabs/puppet/lib/*
59         /opt/puppetlabs/puppet/bin/*"
60
61 pkg_setup() {
62         enewgroup puppet
63         enewuser puppet -1 -1 /var/run/puppet puppet
64 }
65
66 src_install() {
67         # conf.d
68         doconfd etc/default/puppet
69         doconfd etc/default/mcollective
70         doconfd etc/default/pxp-agent
71         # logrotate.d
72         insinto /etc/logrotate.d
73         doins etc/logrotate.d/mcollective
74         doins etc/logrotate.d/pxp-agent
75         # puppet itself
76         insinto /etc/puppetlabs
77         doins -r etc/puppetlabs/*
78         # logdir for systemd
79         dodir var/log/puppetlabs/puppet/
80         fperms 0750 var/log/puppetlabs/puppet/
81         # the rest
82         insinto /opt
83         dodir opt/puppetlabs/puppet/cache
84         doins -r opt/*
85         fperms 0750 /opt/puppetlabs/puppet/cache
86         # init
87         newinitd "${FILESDIR}/puppet.initd" puppet
88         newinitd "${FILESDIR}/mcollective.initd" mcollective
89         systemd_dounit lib/systemd/system/puppet.service
90         systemd_dounit lib/systemd/system/mcollective.service
91         systemd_dounit lib/systemd/system/pxp-agent.service
92         systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
93         # symlinks
94         chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
95         chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
96         dosym /opt/puppetlabs/bin/facter /usr/bin/facter
97         dosym /opt/puppetlabs/bin/hiera /usr/bin/hiera
98         dosym /opt/puppetlabs/bin/mco /usr/bin/mco
99         dosym /opt/puppetlabs/bin/puppet /usr/bin/puppet
100         dosym /opt/puppetlabs/puppet/bin/mcollectived /usr/sbin/mcollectived
101         dosym /opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
102         dosym /opt/puppetlabs/puppet/bin/augparse /usr/bin/augparse
103         dosym /opt/puppetlabs/puppet/bin/augtool /usr/bin/augtool
104         dosym /opt/puppetlabs/puppet/bin/extlookup2hiera /usr/bin/extlookup2hiera
105 }