Skip to content

Commit

Permalink
app-admin/puppet: bup
Browse files Browse the repository at this point in the history
Package-Manager: portage-2.2.20.1
  • Loading branch information
prometheanfire committed Nov 6, 2015
1 parent aec3f06 commit d9122b6
Show file tree
Hide file tree
Showing 2 changed files with 192 additions and 0 deletions.
1 change: 1 addition & 0 deletions app-admin/puppet/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ DIST puppet-3.7.4.tar.gz 2600191 SHA256 957c09ab253f76e624809766999da6d872f79b3a
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-3.8.3.tar.gz 2638669 SHA256 bbdf5e32428fe005ea7279e9396bfcdf2c9b112763595fbfed48fb599108df7f SHA512 8f955c68556a835de738cf5f34cefd916392145853cd59108af26cb5c23b28740cdd078ac33b3171280ac691884c073c53d230641c88484561ac463bca094da6 WHIRLPOOL 2ff3181a3ea11d4b25d8499c3984f22e530e94ccc5a87e668b758a55f3c9091ca3d344afc62fb0f08b1835d5668b2f90e26ddf2560111fb52c0292b511301cd2
DIST puppet-3.8.4.tar.gz 2639537 SHA256 19e83ebbbf0933a9df6696255d7ff4d65e3daba1ed8dacf87f16a87ae40a7ad7 SHA512 bcd4251f56292529973c1694d4c1b0673e01cc6525c3fda8415e3b69b03861f0c1c168911b47c1372eeecd54c5eb2efc67ae23fd9ca0329b821b6f1b1e4e641a WHIRLPOOL 8088df2bcfa2f2ed5be8f0769c45d70d5b8496c59f84217299d0df9b143f7551c2fb3a86edc467dfdaca6574a57e7fe4a8b89e9a376e991385650f6ce4dc9f21
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
Expand Down
191 changes: 191 additions & 0 deletions app-admin/puppet/puppet-3.8.4.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit d9122b6

Please sign in to comment.