diff options
author | Christian Ruppert <idl0r@gentoo.org> | 2012-11-06 19:17:59 +0000 |
---|---|---|
committer | Christian Ruppert <idl0r@gentoo.org> | 2012-11-06 19:17:59 +0000 |
commit | 2894fca07db4f92075f02f2f1a80e5b3d3af49e6 (patch) | |
tree | 89076ffc4c5060e0466aa46e42843289750dce5f /app-admin/puppet/puppet-3.0.1.ebuild | |
parent | app-misc/screen: Revert last commit (diff) | |
download | gentoo-2-2894fca07db4f92075f02f2f1a80e5b3d3af49e6.tar.gz gentoo-2-2894fca07db4f92075f02f2f1a80e5b3d3af49e6.tar.bz2 gentoo-2-2894fca07db4f92075f02f2f1a80e5b3d3af49e6.zip |
Version bump, bug 434814. puppet-3 ebuild by Alec Warner <antarus@gentoo.org> and me. Also fixes bug 421207.
(Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit with key B427ABC8)
Diffstat (limited to 'app-admin/puppet/puppet-3.0.1.ebuild')
-rw-r--r-- | app-admin/puppet/puppet-3.0.1.ebuild | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/app-admin/puppet/puppet-3.0.1.ebuild b/app-admin/puppet/puppet-3.0.1.ebuild new file mode 100644 index 000000000000..e4e4588a5c7d --- /dev/null +++ b/app-admin/puppet/puppet-3.0.1.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-3.0.1.ebuild,v 1.1 2012/11/06 19:17:59 idl0r Exp $ + +EAPI="4" + +USE_RUBY="ruby18 ruby19" + +inherit elisp-common xemacs-elisp-common eutils user ruby-ng versionator + +DESCRIPTION="A system automation and configuration management software" +HOMEPAGE="http://puppetlabs.com/" +SRC_URI="http://www.puppetlabs.com/downloads/puppet/${P}.tar.gz" + +LICENSE="Apache-2.0 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86" +IUSE="augeas diff doc emacs ldap minimal rrdtool selinux shadow sqlite3 vim-syntax xemacs" + +ruby_add_rdepend " + >=dev-ruby/facter-1.5.6 + augeas? ( dev-ruby/ruby-augeas ) + diff? ( dev-ruby/diff-lcs ) + doc? ( dev-ruby/rdoc ) + ldap? ( dev-ruby/ruby-ldap ) + shadow? ( dev-ruby/ruby-shadow ) + sqlite3? ( dev-ruby/sqlite3 ) + virtual/ruby-ssl" + +DEPEND="emacs? ( virtual/emacs ) + xemacs? ( app-editors/xemacs )" +RDEPEND="rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] ) + selinux? ( + sys-libs/libselinux[ruby] + sec-policy/selinux-puppet + ) + >=app-portage/eix-0.18.0" + +SITEFILE="50${PN}-mode-gentoo.el" + +pkg_setup() { + enewgroup puppet + enewuser puppet -1 -1 /var/lib/puppet puppet +} + +all_ruby_compile() { + if use emacs ; then + elisp-compile ext/emacs/puppet-mode.el + fi + + if use xemacs ; then + # Create a separate version for xemacs to be able to install + # emacs and xemacs in parallel. + mkdir ext/xemacs + cp ext/emacs/* ext/xemacs/ + xemacs-elisp-compile ext/xemacs/puppet-mode.el + fi +} + +each_ruby_install() { + ${RUBY} install.rb --destdir="${D}" install || die +} + +all_ruby_install() { + newinitd "${FILESDIR}"/puppet.init-r1 puppet + + # Initial configuration files + insinto /etc/puppet + + # Location of log and data files + keepdir /var/log/puppet + fowners -R puppet:puppet /var/log/puppet + + if use minimal ; then + rm "${ED}/usr/bin/puppetmasterd" + rm "${ED}/etc/puppet/auth.conf" + else + newinitd "${FILESDIR}"/puppetmaster.init puppetmaster + newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster + + insinto /etc/puppet + + keepdir /etc/puppet/manifests + keepdir /etc/puppet/modules + + keepdir /var/lib/puppet/ssl + keepdir /var/lib/puppet/facts + keepdir /var/lib/puppet/files + fowners -R puppet:puppet /var/lib/puppet + fi + + if use emacs ; then + elisp-install ${PN} ext/emacs/puppet-mode.el* + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use xemacs ; then + xemacs-elisp-install ${PN} ext/xemacs/puppet-mode.el* + xemacs-elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use ldap ; then + insinto /etc/openldap/schema; doins ext/ldap/puppet.schema + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/ftdetect; doins ext/vim/ftdetect/puppet.vim + insinto /usr/share/vim/vimfiles/syntax; doins ext/vim/syntax/puppet.vim + fi + + # ext and examples files + for f in $(find ext examples -type f) ; do + docinto "$(dirname ${f})"; dodoc "${f}" + done + docinto conf; dodoc conf/namespaceauth.conf +} + +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 "${EPREFIX}/etc/puppet/puppetd.conf" -o \ + -f "${EPREFIX}/etc/puppet/puppetmaster.conf" -o \ + -f "${EPREFIX}/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 + + if [ "$(get_major_version $REPLACING_VERSIONS)" = "2" ]; then + elog + elog "If you're upgrading from 2.x then we strongly suggest you to read:" + elog "http://docs.puppetlabs.com/guides/upgrading.html" + elog + fi + + use emacs && elisp-site-regen + use xemacs && xemacs-elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen + use xemacs && xemacs-elisp-site-regen +} |