summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsuu Takuto <matsuu@gentoo.org>2008-03-05 16:15:55 +0000
committerMatsuu Takuto <matsuu@gentoo.org>2008-03-05 16:15:55 +0000
commite748cb438ca442c42277376c6af68e2d20d1808f (patch)
treecf64587f9cd72f828990bf72d86fe127928d4574 /app-admin/puppet
parentVersion bump, bug #212392 (diff)
downloadgentoo-2-e748cb438ca442c42277376c6af68e2d20d1808f.tar.gz
gentoo-2-e748cb438ca442c42277376c6af68e2d20d1808f.tar.bz2
gentoo-2-e748cb438ca442c42277376c6af68e2d20d1808f.zip
Version bumped, bug #212262. Fixed /etc/init.d/puppetmaster, bug #211910.
(Portage version: 2.1.4.4)
Diffstat (limited to 'app-admin/puppet')
-rw-r--r--app-admin/puppet/ChangeLog10
-rw-r--r--app-admin/puppet/files/puppet-0.24.2-gentoo.patch12
-rwxr-xr-xapp-admin/puppet/files/puppetmaster.init50
-rw-r--r--app-admin/puppet/puppet-0.24.2.ebuild117
4 files changed, 188 insertions, 1 deletions
diff --git a/app-admin/puppet/ChangeLog b/app-admin/puppet/ChangeLog
index 2ee0fecad378..45d92e250ee8 100644
--- a/app-admin/puppet/ChangeLog
+++ b/app-admin/puppet/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for app-admin/puppet
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/ChangeLog,v 1.10 2008/02/07 16:45:04 matsuu Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/ChangeLog,v 1.11 2008/03/05 16:15:54 matsuu Exp $
+
+*puppet-0.24.2 (05 Mar 2008)
+
+ 05 Mar 2008; MATSUU Takuto <matsuu@gentoo.org>
+ +files/puppet-0.24.2-gentoo.patch, +files/puppetmaster.init,
+ +puppet-0.24.2.ebuild:
+ Version bumped, bug #212262.
+ Fixed /etc/init.d/puppetmaster, bug #211910.
*puppet-0.24.1-r1 (07 Feb 2008)
diff --git a/app-admin/puppet/files/puppet-0.24.2-gentoo.patch b/app-admin/puppet/files/puppet-0.24.2-gentoo.patch
new file mode 100644
index 000000000000..e9eccdd7a91b
--- /dev/null
+++ b/app-admin/puppet/files/puppet-0.24.2-gentoo.patch
@@ -0,0 +1,12 @@
+diff -Naur puppet-0.24.2.orig/lib/puppet/provider/service/gentoo.rb puppet-0.24.2/lib/puppet/provider/service/gentoo.rb
+--- puppet-0.24.2.orig/lib/puppet/provider/service/gentoo.rb 2008-03-04 01:32:37.000000000 +0900
++++ puppet-0.24.2/lib/puppet/provider/service/gentoo.rb 2008-03-06 00:53:20.000000000 +0900
+@@ -33,7 +33,7 @@
+ return :false unless line
+
+ # If it's enabled then it will print output showing service | runlevel
+- if output =~ /#{@resource[:name]}\s*|\s*default/
++ if output =~ /#{@resource[:name]}\s*\|\s*default/
+ return :true
+ else
+ return :false
diff --git a/app-admin/puppet/files/puppetmaster.init b/app-admin/puppet/files/puppetmaster.init
new file mode 100755
index 000000000000..09def2a47c9b
--- /dev/null
+++ b/app-admin/puppet/files/puppetmaster.init
@@ -0,0 +1,50 @@
+#!/sbin/runscript
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+ before puppet
+ use dns logger
+}
+
+checkconfig() {
+ if [[ ! -d "${PUPPETMASTER_PID_DIR}" ]] ; then
+ eerror "Please make sure PUPPETMASTER_PID_DIR is defined and points to a existing directory"
+ return 1
+ fi
+
+ local site_manifest="/etc/puppet/manifests/site.pp"
+ [[ -n "${PUPPETMASTER_MANIFEST}" ]] && site_manifest="${PUPPETMASTER_MANIFEST}"
+
+ if [ ! -f "${site_manifest}" ] ; then
+ eerror "Please create ${site_manifest} before running puppet"
+ return 1
+ fi
+
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+
+ local options=""
+ [[ -n "${PUPPETMASTER_MANIFEST}" ]] && options="${options} --manifest=${PUPPETMASTER_MANIFEST}"
+ [[ -n "${PUPPETMASTER_LOG}" ]] && options="${options} --logdest=${PUPPETMASTER_LOG}"
+ [[ -n "${PUPPETMASTER_EXTRA_OPTS}" ]] && options="${options} ${PUPPETMASTER_EXTRA_OPTS}"
+
+ ebegin "Starting puppetmaster"
+ start-stop-daemon --start --quiet --exec /usr/bin/puppetmasterd \
+ -- ${options}
+ eend $? "Failed to start puppetmaster"
+}
+
+stop() {
+ ebegin "Stopping puppetmaster"
+ start-stop-daemon --stop --quiet \
+ --pidfile ${PUPPETMASTER_PID_DIR}/puppetmasterd.pid
+ local ret=$?
+ eend ${ret} "Failed to stop puppetmaster"
+ rm -f ${PUPPETMASTER_PID_DIR}/puppetmasterd.pid
+ return ${ret}
+}
diff --git a/app-admin/puppet/puppet-0.24.2.ebuild b/app-admin/puppet/puppet-0.24.2.ebuild
new file mode 100644
index 000000000000..76b1be2820e4
--- /dev/null
+++ b/app-admin/puppet/puppet-0.24.2.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-0.24.2.ebuild,v 1.1 2008/03/05 16:15:54 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 vim-syntax"
+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
+ # bug #211910
+ #doinitd conf/gentoo/init.d/puppetmaster
+ newinitd "${FILESDIR}"/puppetmaster.init 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
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/syntax; doins ext/vim/syntax/puppet.vim
+ insinto /usr/share/vim/vimfiles/ftdetect; doins ext/vim/ftdetect/puppet.vim
+ fi
+
+ # 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
+}