diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-admin/puppet | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-admin/puppet')
20 files changed, 1554 insertions, 0 deletions
diff --git a/app-admin/puppet/Manifest b/app-admin/puppet/Manifest new file mode 100644 index 000000000000..f21dfeaec8ee --- /dev/null +++ b/app-admin/puppet/Manifest @@ -0,0 +1,7 @@ +DIST puppet-3.7.3.tar.gz 2594007 SHA256 4a3bd7ddb51072c3dd898a8de158cde204a2d8fd0b84e8ac806b84c074348637 SHA512 74baae5525090ac6213cc8ef27ad74cde5372ac08f8d5c11ed2a4bd2f6ed2b9940fa141ddb705328785611cbd0d32d70a40f1b44dbc9b167e11f0ad1051efc8b WHIRLPOOL 7ff9909c6bfb4d83caf8fbfcac11dff27c3a7583a68336040d404745bf35f4676933b6494d2c65c1f87fc9de5928ac9ae79f81e0b0a356088c0be5d8526ad42a +DIST puppet-3.7.4.tar.gz 2600191 SHA256 957c09ab253f76e624809766999da6d872f79b3a64b54b8c66bdd8907c291745 SHA512 868a80df0e07b68f0de2fe31dcc55ab1f9da160d66e151298ecb11c17382c13939a88f2925e387a14d2713be5375c2606f26ff52c11dd214874d71f17b3c0617 WHIRLPOOL d5dfb53a062532427ed32acb834517d8eaeba9f53e85bccb79de93f5f947e7d4df472b40c0bed91703b8977ac99c9764944290627815dc60430a8cfe2098519b +DIST puppet-3.8.1.tar.gz 2633982 SHA256 033d99125276c7062fa5928e3de38c5e487b406530b3c50e84027b3abfd945a8 SHA512 a188c9f5baad3260c7cc2ea26d79d6655b504809deefe90a9e9ed81d3a66c1e10cc0b72b63c9ef34e5dd9266d3588cb7dc0d55e7a762f5fa5bbdc1ebe347979d WHIRLPOOL fd476519032d7b346a8813e4c73826daafc69fc4f7a8924efb35dfc6d691a7734322a7746008484df3f62f32865b23c6203f38662f354057aff5e75c20bf1965 +DIST puppet-3.8.2.tar.gz 2637591 SHA256 5a89c623f22fc96a2919801ff874b10f8f1a66e95c09976c73b257b8bbc39986 SHA512 b209a7b009e1d9510753a7484e620c3fb34a83058e8dbc2d9de2c33aca97e813fa85046d9b4de2fad9cb8fb7db257d46c221dd6eb9c0f86e1343cce6e1a9ca5a WHIRLPOOL 55bc7ece7ee918fab29e0f116f8ebc58322b42c07285a8965f2acae9dcff9c13e90cfc9c3c2537f9d21c663062015482fd48e24a1505fc7445fb6b949bc805bc +DIST puppet-4.0.0.tar.gz 2498445 SHA256 c02a5cceb68d6c26228c242a312d68cf054233842e914e9d3aec32b38034e013 SHA512 c8ec0771105e83498f7558e1dfa8679d94cb2d526589041319f35cce214a4c8602ebf8541a15fa64ce542168d101042153815887fb8350bce0c4371c490f396f WHIRLPOOL af53d8b14b7110e6648873e9822de37a8bb17b7f635800d9a9fb1fff7df22000cd13604b45913ddddbae58b7af198c80e84c001cc8b6d1643db9ead4ece42bb7 +DIST puppet-4.1.0.tar.gz 2532579 SHA256 a168ac45a7b25932dfc78bd5da3efe41363e239c7361dd5c4f91615dc17bb275 SHA512 85ba32fb3a7e9f3413f201263943411fbb6b57a4aa13461954b32c1095b06d04f26288a216c5624290cf89d09183bc86bb5f57769fe2ccadc44bf57cd601f5d3 WHIRLPOOL 5288b3204a5c5b96da4eabdee19c1156e71b3a76662d8d28fc8e43988e76ca52618d423c207c1a25d5d92638c559db76ee3c8ce336286d3a5e875c1dc538f8b8 +DIST puppet-4.2.1.tar.gz 2546267 SHA256 519842dfa03ff78c94e77fb28867aef12933691b9e2ce41788f80c5c2865fe7e SHA512 d4ce3f6cd0fbca4270a9121671c27985c9aaa5360a1a317afcc8f79cd81d285e1661cc77d50dda47abd8e50309762d5931545ea4d675b9fb6c32b612e570fd3d WHIRLPOOL 492294158f7f5eb78b93098c759c97ca53a09fc7b24a8350dfd76220a1d578f78375ba3bd9d618b97299931001af83cc5475c4f6ad9bbb1c3d9744fa07585bfd diff --git a/app-admin/puppet/files/50puppet-mode-gentoo.el b/app-admin/puppet/files/50puppet-mode-gentoo.el new file mode 100644 index 000000000000..64c38ae5a31d --- /dev/null +++ b/app-admin/puppet/files/50puppet-mode-gentoo.el @@ -0,0 +1,6 @@ + +;;; puppet-mode site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") +(autoload 'puppet-mode "puppet-mode" "Major mode for editing puppet manifests") +(add-to-list 'auto-mode-alist '("\\.pp$" . puppet-mode)) diff --git a/app-admin/puppet/files/puppet-fix-tests-4.x.patch b/app-admin/puppet/files/puppet-fix-tests-4.x.patch new file mode 100644 index 000000000000..77d9cfbda60a --- /dev/null +++ b/app-admin/puppet/files/puppet-fix-tests-4.x.patch @@ -0,0 +1,18 @@ +--- ./spec/unit/network/http/api/indirected_routes_spec.rb 2015-07-21 12:09:09.000000000 -0500 ++++ ./spec/unit/network/http/api/indirected_routes_spec.rb.new 2015-07-23 18:33:22.839914116 -0500 +@@ -144,15 +144,6 @@ + :env)))) + handler.uri2indirection("GET", "#{master_url_prefix}/node/bar", params) + end +- +- it "should not pass through an environment to check_authorization and fail if the environment is unknown" do +- handler.expects(:check_authorization).with(anything, +- anything, +- Not(has_entry(:environment))) +- expect(lambda { handler.uri2indirection("GET", +- "#{master_url_prefix}/node/bar", +- {:environment => 'bogus'}) }).to raise_error(ArgumentError) +- end + end + + describe "when converting a request into a URI" do diff --git a/app-admin/puppet/files/puppet-openrc-status-fix.patch b/app-admin/puppet/files/puppet-openrc-status-fix.patch new file mode 100644 index 000000000000..af568098d594 --- /dev/null +++ b/app-admin/puppet/files/puppet-openrc-status-fix.patch @@ -0,0 +1,15 @@ +diff -Naur puppet-3.1.1-r2.orig/lib/puppet/provider/service/openrc.rb puppet-3.1.1-r2/lib/puppet/provider/service/openrc.rb +--- all/puppet-3.1.1.orig/lib/puppet/provider/service/openrc.rb 2013-06-05 03:32:53.646824966 -0400 ++++ all/puppet-3.1.1/lib/puppet/provider/service/openrc.rb 2013-06-05 03:37:25.333824967 -0400 +@@ -10,8 +10,10 @@ + defaultfor :operatingsystem => :gentoo + defaultfor :operatingsystem => :funtoo + ++ has_command(:rcstatus, '/bin/rc-status') do ++ environment :RC_SVCNAME => nil ++ end + commands :rcservice => '/sbin/rc-service' +- commands :rcstatus => '/bin/rc-status' + commands :rcupdate => '/sbin/rc-update' + + self::STATUSLINE = /^\s+(.*?)\s*\[\s*(.*)\s*\]$/ diff --git a/app-admin/puppet/files/puppet.init b/app-admin/puppet/files/puppet.init new file mode 100755 index 000000000000..5f15aeaa021e --- /dev/null +++ b/app-admin/puppet/files/puppet.init @@ -0,0 +1,40 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need localmount net + use dns logger puppetmaster netmount nfsmount +} + +checkconfig() { + if [ ! -d "${PUPPET_PID_DIR}" ] ; then + eerror "Please make sure PUPPET_PID_DIR is defined and points to a existing directory" + return 1 + fi + + return 0 +} + +start() { + checkconfig || return $? + + local options="" + [ -n "${PUPPET_EXTRA_OPTS}" ] && options="${options} ${PUPPET_EXTRA_OPTS}" + + ebegin "Starting puppet" + start-stop-daemon --start --quiet \ + --pidfile "${PUPPET_PID_DIR}/agent.pid" \ + --exec /usr/bin/puppetd -- ${options} + eend $? "Failed to start puppet" +} + +stop() { + ebegin "Stopping puppet" + start-stop-daemon --stop --quiet \ + --pidfile "${PUPPET_PID_DIR}/agent.pid" + local ret=$? + eend ${ret} "Failed to stop puppet" + rm -f "${PUPPET_PID_DIR}/agent.pid" + return ${ret} +} diff --git a/app-admin/puppet/files/puppet.init-4.x b/app-admin/puppet/files/puppet.init-4.x new file mode 100644 index 000000000000..e1238012beee --- /dev/null +++ b/app-admin/puppet/files/puppet.init-4.x @@ -0,0 +1,29 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PUPPET_PID_DIR="${PUPPET_PID_DIR:-/var/run/puppet}" + +pidfile="${PUPPET_PID_DIR}/puppet.pid" +PUPPET_LOG_DIR="/var/log/puppet" + +command="/usr/bin/puppet" +extra_started_commands="reload" + +command_args="agent --pidfile ${pidfile} --confdir /etc/puppetlabs/puppet ${PUPPET_EXTRA_OPTS}" + +depend() { + need localmount + use dns logger puppetmaster netmount nfsmount +} + +start_pre() { + checkpath --directory --owner puppet:puppet "${PUPPET_PID_DIR}" + checkpath --directory --owner puppet:puppet --mode 750 ${PUPPET_LOG_DIR} +} + +reload() { + ebegin "Reloading $RC_SVCNAME" + start-stop-daemon --signal SIGHUP --pidfile "${pidfile}" + eend $? +} diff --git a/app-admin/puppet/files/puppet.init-r1 b/app-admin/puppet/files/puppet.init-r1 new file mode 100644 index 000000000000..b054e6b5a7e7 --- /dev/null +++ b/app-admin/puppet/files/puppet.init-r1 @@ -0,0 +1,24 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PUPPET_PID_DIR="${PUPPET_PID_DIR:-/var/run/puppet}" + +pidfile="${PUPPET_PID_DIR}/puppet.pid" +PUPPET_LOG_DIR="/var/log/puppet" + +extra_started_commands="reload" + +command="/usr/bin/puppet" + +command_args="agent --pidfile ${pidfile} ${PUPPET_EXTRA_OPTS}" + +depend() { + need localmount + use dns logger puppetmaster netmount nfsmount +} + +start_pre() { + checkpath --directory --owner puppet:puppet "${PUPPET_PID_DIR}" + checkpath --directory --owner puppet:puppet --mode 750 ${PUPPET_LOG_DIR} +} diff --git a/app-admin/puppet/files/puppetmaster.confd b/app-admin/puppet/files/puppetmaster.confd new file mode 100644 index 000000000000..afecf479a6a1 --- /dev/null +++ b/app-admin/puppet/files/puppetmaster.confd @@ -0,0 +1,18 @@ +# Location of PID files +PUPPETMASTER_PID_DIR="/var/run/puppet" + +# Where to log general messages to. +# Specify syslog to send log messages to the system log. +#PUPPETMASTER_LOG="syslog" + +# You may specify other parameters to the puppetmaster here +#PUPPETMASTER_EXTRA_OPTS="--noca" + +# You may specify an alternate port on which puppetmaster should listen. +# Default is: 8140 +#PUPPETMASTER_PORT="8140" + +# To start multiple servers: +# # cp /etc/conf.d/puppetmaster /etc/conf.d/puppetmaster.master_8141 +# # ln -s puppetmaster /etc/init.d/puppetmaster.master_8141 +# # ${EDITOR} /etc/conf.d/puppetmaster.master_8141 (set 8141 to PUPPETMASTER_PORT) diff --git a/app-admin/puppet/files/puppetmaster.init b/app-admin/puppet/files/puppetmaster.init new file mode 100755 index 000000000000..a0da1bba3e1e --- /dev/null +++ b/app-admin/puppet/files/puppetmaster.init @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "puppetmaster" ] ; then + PUPPETMASTER_PID="master" +else + PUPPETMASTER_PID="${SVCNAME#*.}" +fi +PUPPETMASTER_PID_DIR="${PUPPETMASTER_PID_DIR:-/var/run/puppet}" +pidfile="${PUPPETMASTER_PID_DIR}/${PUPPETMASTER_PID}.pid" +PUPPET_LOG_DIR="/var/log/puppet" + +command_args="master --pidfile ${pidfile} ${PUPPETMASTER_EXTRA_OPTS}" +if [ -n "${PUPPETMASTER_PORT}" ] ; then + command_args="${command_args} --masterport ${PUPPETMASTER_PORT}" +fi + +command="/usr/bin/puppet" +extra_started_commands="reload" + +depend() { + need localmount + use dns logger slapd netmount nfsmount +} + +start_pre() { + checkpath --directory --owner puppet:puppet "${PUPPETMASTER_PID_DIR}" + checkpath --directory --owner puppet:puppet --mode 750 ${PUPPET_LOG_DIR} + checkpath --file --owner puppet:puppet --mode 640 "${PUPPET_LOG_DIR}/masterhttp.log" +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? "Failed to stop ${SVCNAME}" +} diff --git a/app-admin/puppet/files/puppetmaster.init-4.x b/app-admin/puppet/files/puppetmaster.init-4.x new file mode 100644 index 000000000000..636f58f5516b --- /dev/null +++ b/app-admin/puppet/files/puppetmaster.init-4.x @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "puppetmaster" ] ; then + PUPPETMASTER_PID="master" +else + PUPPETMASTER_PID="${SVCNAME#*.}" +fi +PUPPETMASTER_PID_DIR="${PUPPETMASTER_PID_DIR:-/var/run/puppet}" +pidfile="${PUPPETMASTER_PID_DIR}/${PUPPETMASTER_PID}.pid" +PUPPET_LOG_DIR="/var/log/puppet" + +command_args="master --pidfile ${pidfile} --confdir /etc/puppetlabs/puppet ${PUPPETMASTER_EXTRA_OPTS}" +if [ -n "${PUPPETMASTER_PORT}" ] ; then + command_args="${command_args} --masterport ${PUPPETMASTER_PORT}" +fi + +command="/usr/bin/puppet" +extra_started_commands="reload" + +depend() { + need localmount + use dns logger slapd netmount nfsmount +} + +start_pre() { + checkpath --directory --owner puppet:puppet "${PUPPETMASTER_PID_DIR}" + checkpath --directory --owner puppet:puppet --mode 750 ${PUPPET_LOG_DIR} + checkpath --file --owner puppet:puppet --mode 640 "${PUPPET_LOG_DIR}/masterhttp.log" +} + +reload() { + ebegin "Reloading $RC_SVCNAME" + start-stop-daemon --signal SIGHUP --pidfile "${pidfile}" + eend $? +} diff --git a/app-admin/puppet/files/puppetmaster.init-r1 b/app-admin/puppet/files/puppetmaster.init-r1 new file mode 100644 index 000000000000..f665991b81a6 --- /dev/null +++ b/app-admin/puppet/files/puppetmaster.init-r1 @@ -0,0 +1,30 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "puppetmaster" ] ; then + PUPPETMASTER_PID="master" +else + PUPPETMASTER_PID="${SVCNAME#*.}" +fi +PUPPETMASTER_PID_DIR="${PUPPETMASTER_PID_DIR:-/var/run/puppet}" +pidfile="${PUPPETMASTER_PID_DIR}/${PUPPETMASTER_PID}.pid" +PUPPET_LOG_DIR="/var/log/puppet" + +command_args="master --pidfile ${pidfile} ${PUPPETMASTER_EXTRA_OPTS}" +if [ -n "${PUPPETMASTER_PORT}" ] ; then + command_args="${command_args} --masterport ${PUPPETMASTER_PORT}" +fi + +command="/usr/bin/puppet" + +depend() { + need localmount + use dns logger slapd netmount nfsmount +} + +start_pre() { + checkpath --directory --owner puppet:puppet "${PUPPETMASTER_PID_DIR}" + checkpath --directory --owner puppet:puppet --mode 750 ${PUPPET_LOG_DIR} + checkpath --file --owner puppet:puppet --mode 640 "${PUPPET_LOG_DIR}/masterhttp.log" +} diff --git a/app-admin/puppet/files/tmpfiles.d b/app-admin/puppet/files/tmpfiles.d new file mode 100644 index 000000000000..cd33231df7f7 --- /dev/null +++ b/app-admin/puppet/files/tmpfiles.d @@ -0,0 +1 @@ +D /var/run/puppet 0755 puppet puppet - diff --git a/app-admin/puppet/metadata.xml b/app-admin/puppet/metadata.xml new file mode 100644 index 000000000000..93a305eeb2e8 --- /dev/null +++ b/app-admin/puppet/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>prometheanfire@gentoo.org</email> + </maintainer> + <herd>sysadmin</herd> + <herd>ruby</herd> + <longdescription lang="en"> + Centralised configuration management for networks + Puppet lets you centrally manage every important aspect of your system + using a cross-platform specification language that manages all the + separate elements normally aggregated in different files, like users, + cron jobs, and hosts, along with obviously discrete elements like + packages, services, and files. + + Puppet's simple declarative specification language provides powerful + classing abilities for drawing out the similarities between hosts while + allowing them to be as specific as necessary, and it handles dependency + and prerequisite relationships between objects clearly and explicitly. + </longdescription> + <use> +<!-- <flag name='puppetdb'>Enable puppetdb support</flag> --> + <flag name='augeas'>Enable augeas support</flag> + <flag name='diff'>Enable diff support</flag> + <flag name='rrdtool'>Enable rrdtool support</flag> + <flag name='shadow'>Enable shadow support</flag> + </use> +</pkgmetadata> diff --git a/app-admin/puppet/puppet-3.7.3-r1.ebuild b/app-admin/puppet/puppet-3.7.3-r1.ebuild new file mode 100644 index 000000000000..7988c9f31e74 --- /dev/null +++ b/app-admin/puppet/puppet-3.7.3-r1.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +USE_RUBY="ruby19 ruby20" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" + +inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator + +DESCRIPTION="A system automation and configuration management software" +HOMEPAGE="http://puppetlabs.com/" +SRC_URI="http://downloads.puppetlabs.com/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 sqlite vim-syntax xemacs" + +ruby_add_rdepend " + dev-ruby/hiera + >=dev-ruby/rgen-0.6.5 =dev-ruby/rgen-0.6* + >=dev-ruby/facter-1.6.2 <dev-ruby/facter-3 + dev-ruby/json + augeas? ( dev-ruby/ruby-augeas ) + diff? ( dev-ruby/diff-lcs ) + doc? ( dev-ruby/rdoc ) + ldap? ( dev-ruby/ruby-ldap ) + shadow? ( dev-ruby/ruby-shadow ) + sqlite? ( dev-ruby/sqlite3 ) + virtual/ruby-ssl" + +DEPEND="${DEPEND} + ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) + emacs? ( virtual/emacs ) + xemacs? ( app-editors/xemacs )" +RDEPEND="${RDEPEND} + ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) + rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] ) + selinux? ( + sys-libs/libselinux[ruby] + sec-policy/selinux-puppet + ) + vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 ) + >=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_prepare() { + # Avoid spec that require unpackaged json-schema. + rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die + + # Avoid Rails specs to avoid this dependency and because they + # currently fail against Rails 4.1. + find spec -type f -name '*rails*' -o -name '*active_record*' | xargs rm || die + rm -r spec/unit/rails || die + rm spec/unit/parser/collector_spec.rb || die + + # Avoid specs that can only run in the puppet.git repository. This + # should be narrowed down to the specific specs. + rm spec/integration/parser/compiler_spec.rb spec/integration/parser/future_compiler_spec.rb || die + + # Avoid failing spec that need further investigation. + rm spec/unit/module_tool/metadata_spec.rb || die +} + +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() { + each_fakegem_install + #${RUBY} install.rb --destdir="${D}" install || die +} + +all_ruby_install() { + all_fakegem_install + + #systemd stuffs + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service" + insinto /usr/lib/tmpfiles.d + newins "${FILESDIR}/tmpfiles.d" "puppet.conf" + + 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}/etc/puppet/auth.conf" + else + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service" + newinitd "${FILESDIR}"/puppetmaster.init-r1 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 + fperms 0750 /var/lib/puppet + fi + fperms 0750 /etc/puppet + fowners :puppet /etc/puppet + + 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 + + # 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 "Portage Puppet module with Gentoo-specific resources:" + elog "http://forge.puppetlabs.com/gentoo/portage" + 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 +} diff --git a/app-admin/puppet/puppet-3.7.4-r2.ebuild b/app-admin/puppet/puppet-3.7.4-r2.ebuild new file mode 100644 index 000000000000..c841755a6ec0 --- /dev/null +++ b/app-admin/puppet/puppet-3.7.4-r2.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +USE_RUBY="ruby19 ruby20 ruby21" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" + +inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator + +DESCRIPTION="A system automation and configuration management software" +HOMEPAGE="http://puppetlabs.com/" +SRC_URI="http://downloads.puppetlabs.com/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 sqlite vim-syntax xemacs" + +ruby_add_rdepend " + dev-ruby/hiera + >=dev-ruby/rgen-0.6.5 =dev-ruby/rgen-0.6* + >=dev-ruby/facter-1.6.2 <dev-ruby/facter-3 + dev-ruby/json + augeas? ( dev-ruby/ruby-augeas ) + diff? ( dev-ruby/diff-lcs ) + doc? ( dev-ruby/rdoc ) + ldap? ( dev-ruby/ruby-ldap ) + shadow? ( dev-ruby/ruby-shadow ) + sqlite? ( dev-ruby/sqlite3 ) + virtual/ruby-ssl" + +ruby_add_bdepend "test? ( dev-ruby/mocha:0.10 )" + +DEPEND="${DEPEND} + ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) + emacs? ( virtual/emacs ) + xemacs? ( app-editors/xemacs )" +RDEPEND="${RDEPEND} + ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) + rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] ) + selinux? ( + sys-libs/libselinux[ruby] + sec-policy/selinux-puppet + ) + vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 ) + >=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_prepare() { + # Avoid spec that require unpackaged json-schema. + rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die + + # Avoid Rails specs to avoid this dependency and because they + # currently fail against Rails 4.1. + find spec -type f -name '*rails*' -o -name '*active_record*' | xargs rm || die + rm -r spec/unit/rails || die + rm spec/unit/parser/collector_spec.rb || die + + # Avoid specs that can only run in the puppet.git repository. This + # should be narrowed down to the specific specs. + rm spec/integration/parser/compiler_spec.rb spec/integration/parser/future_compiler_spec.rb || die + + # Avoid failing spec that need further investigation. + rm spec/unit/module_tool/metadata_spec.rb || die +} + +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() { + each_fakegem_install + #${RUBY} install.rb --destdir="${D}" install || die +} + +all_ruby_install() { + all_fakegem_install + + #systemd stuffs + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service" + insinto /usr/lib/tmpfiles.d + newins "${FILESDIR}/tmpfiles.d" "puppet.conf" + + 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}/etc/puppet/auth.conf" + else + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service" + newinitd "${FILESDIR}"/puppetmaster.init-r1 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 + fperms 0750 /var/lib/puppet + fi + fperms 0750 /etc/puppet + fowners :puppet /etc/puppet + + 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 + + # 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 "Portage Puppet module with Gentoo-specific resources:" + elog "http://forge.puppetlabs.com/gentoo/portage" + 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 +} diff --git a/app-admin/puppet/puppet-3.8.1-r1.ebuild b/app-admin/puppet/puppet-3.8.1-r1.ebuild new file mode 100644 index 000000000000..2618d221f449 --- /dev/null +++ b/app-admin/puppet/puppet-3.8.1-r1.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +USE_RUBY="ruby19 ruby20 ruby21" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" + +inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator + +DESCRIPTION="A system automation and configuration management software" +HOMEPAGE="http://puppetlabs.com/" +SRC_URI="http://downloads.puppetlabs.com/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 sqlite vim-syntax xemacs" + +ruby_add_rdepend " + dev-ruby/hiera + >=dev-ruby/rgen-0.7.0 + >=dev-ruby/facter-1.6.2 <dev-ruby/facter-3 + dev-ruby/json + augeas? ( dev-ruby/ruby-augeas ) + diff? ( dev-ruby/diff-lcs ) + doc? ( dev-ruby/rdoc ) + ldap? ( dev-ruby/ruby-ldap ) + shadow? ( dev-ruby/ruby-shadow ) + sqlite? ( dev-ruby/sqlite3 ) + virtual/ruby-ssl" + +ruby_add_bdepend "test? ( dev-ruby/mocha )" + +DEPEND="${DEPEND} + ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) + emacs? ( virtual/emacs ) + xemacs? ( app-editors/xemacs )" +RDEPEND="${RDEPEND} + ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) + rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] ) + selinux? ( + sys-libs/libselinux[ruby] + sec-policy/selinux-puppet + ) + vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 ) + >=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_prepare() { + # Avoid spec that require unpackaged json-schema. + rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die + + # Avoid Rails specs to avoid this dependency and because they + # currently fail against Rails 4.1. + find spec -type f -name '*rails*' -o -name '*active_record*' | xargs rm || die + rm -r spec/unit/rails || die + rm spec/unit/parser/collector_spec.rb || die + + # Avoid specs that can only run in the puppet.git repository. This + # should be narrowed down to the specific specs. + rm spec/integration/parser/compiler_spec.rb spec/integration/parser/future_compiler_spec.rb || die + + # Avoid failing spec that need further investigation. + rm spec/unit/module_tool/metadata_spec.rb || die +} + +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() { + each_fakegem_install + #${RUBY} install.rb --destdir="${D}" install || die +} + +all_ruby_install() { + all_fakegem_install + + #systemd stuffs + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service" + insinto /usr/lib/tmpfiles.d + newins "${FILESDIR}/tmpfiles.d" "puppet.conf" + + 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}/etc/puppet/auth.conf" + else + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service" + newinitd "${FILESDIR}"/puppetmaster.init-r1 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 + fperms 0750 /var/lib/puppet + fi + fperms 0750 /etc/puppet + fowners :puppet /etc/puppet + + 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 + + # 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 "Portage Puppet module with Gentoo-specific resources:" + elog "http://forge.puppetlabs.com/gentoo/portage" + 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 +} diff --git a/app-admin/puppet/puppet-3.8.2.ebuild b/app-admin/puppet/puppet-3.8.2.ebuild new file mode 100644 index 000000000000..2618d221f449 --- /dev/null +++ b/app-admin/puppet/puppet-3.8.2.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +USE_RUBY="ruby19 ruby20 ruby21" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" + +inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator + +DESCRIPTION="A system automation and configuration management software" +HOMEPAGE="http://puppetlabs.com/" +SRC_URI="http://downloads.puppetlabs.com/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 sqlite vim-syntax xemacs" + +ruby_add_rdepend " + dev-ruby/hiera + >=dev-ruby/rgen-0.7.0 + >=dev-ruby/facter-1.6.2 <dev-ruby/facter-3 + dev-ruby/json + augeas? ( dev-ruby/ruby-augeas ) + diff? ( dev-ruby/diff-lcs ) + doc? ( dev-ruby/rdoc ) + ldap? ( dev-ruby/ruby-ldap ) + shadow? ( dev-ruby/ruby-shadow ) + sqlite? ( dev-ruby/sqlite3 ) + virtual/ruby-ssl" + +ruby_add_bdepend "test? ( dev-ruby/mocha )" + +DEPEND="${DEPEND} + ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) + emacs? ( virtual/emacs ) + xemacs? ( app-editors/xemacs )" +RDEPEND="${RDEPEND} + ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) + rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] ) + selinux? ( + sys-libs/libselinux[ruby] + sec-policy/selinux-puppet + ) + vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 ) + >=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_prepare() { + # Avoid spec that require unpackaged json-schema. + rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die + + # Avoid Rails specs to avoid this dependency and because they + # currently fail against Rails 4.1. + find spec -type f -name '*rails*' -o -name '*active_record*' | xargs rm || die + rm -r spec/unit/rails || die + rm spec/unit/parser/collector_spec.rb || die + + # Avoid specs that can only run in the puppet.git repository. This + # should be narrowed down to the specific specs. + rm spec/integration/parser/compiler_spec.rb spec/integration/parser/future_compiler_spec.rb || die + + # Avoid failing spec that need further investigation. + rm spec/unit/module_tool/metadata_spec.rb || die +} + +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() { + each_fakegem_install + #${RUBY} install.rb --destdir="${D}" install || die +} + +all_ruby_install() { + all_fakegem_install + + #systemd stuffs + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service" + insinto /usr/lib/tmpfiles.d + newins "${FILESDIR}/tmpfiles.d" "puppet.conf" + + 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}/etc/puppet/auth.conf" + else + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service" + newinitd "${FILESDIR}"/puppetmaster.init-r1 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 + fperms 0750 /var/lib/puppet + fi + fperms 0750 /etc/puppet + fowners :puppet /etc/puppet + + 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 + + # 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 "Portage Puppet module with Gentoo-specific resources:" + elog "http://forge.puppetlabs.com/gentoo/portage" + 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 +} diff --git a/app-admin/puppet/puppet-4.0.0-r2.ebuild b/app-admin/puppet/puppet-4.0.0-r2.ebuild new file mode 100644 index 000000000000..fbf97dd07b00 --- /dev/null +++ b/app-admin/puppet/puppet-4.0.0-r2.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +USE_RUBY="ruby20 ruby21" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" + +inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator + +DESCRIPTION="A system automation and configuration management software." +HOMEPAGE="http://puppetlabs.com/" +SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz" + +LICENSE="Apache-2.0 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86" +IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax xemacs" + +ruby_add_rdepend " + dev-ruby/hiera + >=dev-ruby/rgen-0.6.5 =dev-ruby/rgen-0.6* + >=dev-ruby/facter-1.6.2 <dev-ruby/facter-3 + dev-ruby/json + augeas? ( dev-ruby/ruby-augeas ) + diff? ( dev-ruby/diff-lcs ) + doc? ( dev-ruby/rdoc ) + ldap? ( dev-ruby/ruby-ldap ) + shadow? ( dev-ruby/ruby-shadow ) + sqlite? ( dev-ruby/sqlite3 ) + virtual/ruby-ssl" + +DEPEND="${DEPEND} + dev-lang/ruby + emacs? ( virtual/emacs ) + xemacs? ( app-editors/xemacs )" +RDEPEND="${RDEPEND} + rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] ) + selinux? ( + sys-libs/libselinux[ruby] + sec-policy/selinux-puppet + ) + vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 ) + >=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_prepare() { + # Avoid spec that require unpackaged json-schema. + rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die + + # Avoid specs that can only run in the puppet.git repository. This + # should be narrowed down to the specific specs. + rm spec/integration/parser/compiler_spec.rb || die + + # Avoid failing spec that need further investigation. + rm spec/unit/module_tool/metadata_spec.rb || die +} + +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() { + each_fakegem_install +} + +all_ruby_install() { + all_fakegem_install + + # systemd stuffs + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service" + doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service" + + # tmpfiles stuff + insinto /usr/lib/tmpfiles.d + newins "${FILESDIR}/tmpfiles.d" "puppet.conf" + + # openrc init stuff + newinitd "${FILESDIR}"/puppet.init-4.x puppet + newinitd "${FILESDIR}"/puppetmaster.init-4.x puppetmaster + newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster + + keepdir /etc/puppetlabs/puppet/ssl + + keepdir /var/lib/puppet/facts + keepdir /var/lib/puppet/files + fowners -R puppet:puppet /var/lib/puppet + + fperms 0750 /var/lib/puppet + + fperms 0750 /etc/puppetlabs + fperms 0750 /etc/puppetlabs/puppet + fperms 0750 /etc/puppetlabs/puppet/ssl + fowners -R :puppet /etc/puppetlabs + fowners -R :puppet /var/lib/puppet + + 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 + + # 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 "Portage Puppet module with Gentoo-specific resources:" + elog "http://forge.puppetlabs.com/gentoo/portage" + elog + + if [ "$(get_major_version $REPLACING_VERSIONS)" = "3" ]; then + elog + elog "If you're upgrading from 3.x then please move everything in /etc/puppet to" + elog "/etc/puppetlabs/puppet" + elog "Also, puppet now uses config directories for modules and manifests." + elog "See https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_agent.html" + elog "and https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_server.html" + elog "for more information." + 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 +} diff --git a/app-admin/puppet/puppet-4.1.0.ebuild b/app-admin/puppet/puppet-4.1.0.ebuild new file mode 100644 index 000000000000..fbf97dd07b00 --- /dev/null +++ b/app-admin/puppet/puppet-4.1.0.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +USE_RUBY="ruby20 ruby21" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" + +inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator + +DESCRIPTION="A system automation and configuration management software." +HOMEPAGE="http://puppetlabs.com/" +SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz" + +LICENSE="Apache-2.0 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86" +IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax xemacs" + +ruby_add_rdepend " + dev-ruby/hiera + >=dev-ruby/rgen-0.6.5 =dev-ruby/rgen-0.6* + >=dev-ruby/facter-1.6.2 <dev-ruby/facter-3 + dev-ruby/json + augeas? ( dev-ruby/ruby-augeas ) + diff? ( dev-ruby/diff-lcs ) + doc? ( dev-ruby/rdoc ) + ldap? ( dev-ruby/ruby-ldap ) + shadow? ( dev-ruby/ruby-shadow ) + sqlite? ( dev-ruby/sqlite3 ) + virtual/ruby-ssl" + +DEPEND="${DEPEND} + dev-lang/ruby + emacs? ( virtual/emacs ) + xemacs? ( app-editors/xemacs )" +RDEPEND="${RDEPEND} + rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] ) + selinux? ( + sys-libs/libselinux[ruby] + sec-policy/selinux-puppet + ) + vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 ) + >=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_prepare() { + # Avoid spec that require unpackaged json-schema. + rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die + + # Avoid specs that can only run in the puppet.git repository. This + # should be narrowed down to the specific specs. + rm spec/integration/parser/compiler_spec.rb || die + + # Avoid failing spec that need further investigation. + rm spec/unit/module_tool/metadata_spec.rb || die +} + +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() { + each_fakegem_install +} + +all_ruby_install() { + all_fakegem_install + + # systemd stuffs + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service" + doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service" + + # tmpfiles stuff + insinto /usr/lib/tmpfiles.d + newins "${FILESDIR}/tmpfiles.d" "puppet.conf" + + # openrc init stuff + newinitd "${FILESDIR}"/puppet.init-4.x puppet + newinitd "${FILESDIR}"/puppetmaster.init-4.x puppetmaster + newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster + + keepdir /etc/puppetlabs/puppet/ssl + + keepdir /var/lib/puppet/facts + keepdir /var/lib/puppet/files + fowners -R puppet:puppet /var/lib/puppet + + fperms 0750 /var/lib/puppet + + fperms 0750 /etc/puppetlabs + fperms 0750 /etc/puppetlabs/puppet + fperms 0750 /etc/puppetlabs/puppet/ssl + fowners -R :puppet /etc/puppetlabs + fowners -R :puppet /var/lib/puppet + + 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 + + # 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 "Portage Puppet module with Gentoo-specific resources:" + elog "http://forge.puppetlabs.com/gentoo/portage" + elog + + if [ "$(get_major_version $REPLACING_VERSIONS)" = "3" ]; then + elog + elog "If you're upgrading from 3.x then please move everything in /etc/puppet to" + elog "/etc/puppetlabs/puppet" + elog "Also, puppet now uses config directories for modules and manifests." + elog "See https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_agent.html" + elog "and https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_server.html" + elog "for more information." + 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 +} diff --git a/app-admin/puppet/puppet-4.2.1.ebuild b/app-admin/puppet/puppet-4.2.1.ebuild new file mode 100644 index 000000000000..68a38701208e --- /dev/null +++ b/app-admin/puppet/puppet-4.2.1.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +USE_RUBY="ruby20 ruby21" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" + +inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator + +DESCRIPTION="A system automation and configuration management software." +HOMEPAGE="http://puppetlabs.com/" +SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz" + +LICENSE="Apache-2.0 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~x86" +IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax xemacs" +RESTRICT="test" + +ruby_add_rdepend " + dev-ruby/hiera + >=dev-ruby/rgen-0.6.5 =dev-ruby/rgen-0.6* + dev-ruby/json + >=dev-ruby/facter-3.0.0 + augeas? ( dev-ruby/ruby-augeas ) + diff? ( dev-ruby/diff-lcs ) + doc? ( dev-ruby/rdoc ) + ldap? ( dev-ruby/ruby-ldap ) + shadow? ( dev-ruby/ruby-shadow ) + sqlite? ( dev-ruby/sqlite3 ) + virtual/ruby-ssl" + +ruby_add_bdepend " + test? ( + dev-ruby/mocha + dev-ruby/rack + dev-ruby/rspec-its + )" +# this should go in the above lists, but isn't because of test deps not being keyworded +# dev-ruby/rspec-collection_matchers + +DEPEND+=" ${DEPEND} + emacs? ( virtual/emacs ) + xemacs? ( app-editors/xemacs )" +RDEPEND+=" ${RDEPEND} + rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] ) + selinux? ( + sys-libs/libselinux[ruby] + sec-policy/selinux-puppet + ) + vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 ) + >=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_prepare() { + # Avoid spec that require unpackaged json-schema. + rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die + + # can't be run within portage. + epatch "${FILESDIR}/puppet-fix-tests-4.x.patch" + + # Avoid specs that can only run in the puppet.git repository. This + # should be narrowed down to the specific specs. + rm spec/integration/parser/compiler_spec.rb || die + + # Avoid failing spec that need further investigation. + rm spec/unit/module_tool/metadata_spec.rb || die +} + +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() { + each_fakegem_install +# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}" +} + +all_ruby_install() { + all_fakegem_install + + # systemd stuffs + insinto /usr/lib/systemd/system + doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service" + + # tmpfiles stuff + insinto /usr/lib/tmpfiles.d + newins "${FILESDIR}/tmpfiles.d" "puppet.conf" + + # openrc init stuff + newinitd "${FILESDIR}"/puppet.init-4.x puppet + newinitd "${FILESDIR}"/puppetmaster.init-4.x puppetmaster + newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster + + keepdir /etc/puppetlabs/puppet/ssl + + keepdir /var/lib/puppet/facts + keepdir /var/lib/puppet/files + fowners -R puppet:puppet /var/lib/puppet + + fperms 0750 /var/lib/puppet + + fperms 0750 /etc/puppetlabs + fperms 0750 /etc/puppetlabs/puppet + fperms 0750 /etc/puppetlabs/puppet/ssl + fowners -R :puppet /etc/puppetlabs + fowners -R :puppet /var/lib/puppet + + 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 + + # 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 "Portage Puppet module with Gentoo-specific resources:" + elog "http://forge.puppetlabs.com/gentoo/portage" + elog + + if [ "$(get_major_version $REPLACING_VERSIONS)" = "3" ]; then + elog + elog "If you're upgrading from 3.x then please move everything in /etc/puppet to" + elog "/etc/puppetlabs/puppet" + elog "Also, puppet now uses config directories for modules and manifests." + elog "See https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_agent.html" + elog "and https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_server.html" + elog "for more information." + 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 +} |