blob: 572c059e8b64c13617f1fdd4cb7f0af0fa570f12 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-0.23.2-r1.ebuild,v 1.1 2007/12/08 00:39:30 matsuu Exp $
inherit elisp-common eutils ruby
DESCRIPTION="A system automation and configuration management software"
HOMEPAGE="http://reductivelabs.com/projects/puppet/index.html"
SRC_URI="http://reductivelabs.com/downloads/${PN}/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
IUSE="emacs"
KEYWORDS="~x86 ~amd64"
DEPEND="emacs? ( virtual/emacs )"
RDEPEND="${DEPEND}
>=dev-ruby/facter-1.3.5
>=app-portage/eix-0.9.4"
USE_RUBY="ruby18"
SITEFILE="50${PN}-mode-gentoo.el"
pkg_setup() {
built_with_use virtual/ruby ipv6 || \
die "Ruby must be built with ipv6 support, otherwise puppet will not be able to run"
enewgroup puppet || die "Problem creating group puppet"
enewuser puppet -1 -1 /var/lib/puppet puppet || die "Problem creating user puppet"
}
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${P}-gentoo.patch
}
src_compile() {
if use emacs ; then
elisp-compile ext/emacs/puppet-mode.el || die "elisp-compile failed"
fi
}
src_install() {
DESTDIR="${D}" ruby_einstall "$@" || die
DESTDIR="${D}" erubydoc
# Installation of init scripts and configuration
doinitd conf/gentoo/init.d/puppetmaster
doconfd conf/gentoo/conf.d/puppetmaster
doinitd conf/gentoo/init.d/puppet
doconfd conf/gentoo/conf.d/puppet
# Initial configuration files
keepdir /etc/puppet/manifests
insinto /etc/puppet
doins conf/gentoo/puppet/*
# Location of log and data files
keepdir /var/run/puppet
keepdir /var/log/puppet
keepdir /var/lib/puppet/ssl
keepdir /var/lib/puppet/files
fowners -R puppet:puppet /var/{run,log,lib}/puppet
if use emacs ; then
elisp-install ${PN} ext/emacs/puppet-mode.el* || die "elisp-install failed"
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
insinto /usr/share/vim/vimfiles/syntax; doins ext/vim/*.vim
# ext and examples files
for f in $(find ext examples -type f) ; do
docinto $(dirname ${f})
dodoc ${f}
done
}
pkg_postinst() {
elog
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
elog "cause puppet to hang while installing packages."
elog
elog "Puppet uses eix to get information about currently installed packages,"
elog "so please keep the eix metadata cache updated so puppet is able to properly"
elog "handle package installations."
elog
elog "Currently puppet only supports adding and removing services to the default"
elog "runlevel, if you want to add/remove a service from another runlevel you may"
elog "do so using symlinking."
elog
if [ \
-f "${ROOT}/etc/puppet/puppetd.conf" -o \
-f "${ROOT}/etc/puppet/puppetmaster.conf" -o \
-f "${ROOT}/etc/puppet/puppetca.conf" \
] ; then
elog
elog "Please remove deprecated config files."
elog " /etc/puppet/puppetca.conf"
elog " /etc/puppet/puppetd.conf"
elog " /etc/puppet/puppetmasterd.conf"
elog
fi
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}
|