# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="6" USE_RUBY="ruby19 ruby20" inherit eutils ruby-ng user versionator RPV=${PV} RP=${P} DESCRIPTION="PuppetDB stores data generated by Puppet for Inventory and Exported Resources" HOMEPAGE="http://puppetlabs.com/" SRC_URI="https://github.com/puppetlabs/puppetdb/archive/${RPV}.tar.gz" LICENSE="Apache-2.0 GPL-2" SLOT="0" KEYWORDS="amd64 x86" IUSE="+terminus" DEPEND="${DEPEND} ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) =dev-lang/leiningen-2.5.0 =dev-lang/clojure-1.6 dev-ruby/rake >=dev-ruby/facter-1.6.2 dev-java/java-config >=virtual/jdk-1.6.0" RDEPEND="${RDEPEND} ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) =dev-lang/clojure-1.6 dev-ruby/rake >=dev-ruby/facter-1.6.2 dev-java/java-config >=virtual/jdk-1.6.0" SITEFILE="50${PN}-mode-gentoo.el" PUPPETDB_DIR="/var/lib/${PN}" PUPPETDB_USER="${PN}" PUPPETDB_GROUP="${PN}" RUBY_PATCHES=( "${P}-gentoo.patch" ) pkg_setup() { enewgroup "${PUPPETDB_GROUP}" # home directory is required for SCM. enewuser "${PUPPETDB_USER}" -1 -1 "${PUPPETDB_DIR}" "${PUPPETDB_USER}" } each_ruby_prepare() { echo ${PV} > version } each_ruby_compile() { export LEIN_ROOT="ignore" export CLASSPATH=/usr/share/clojure-1.6/lib/clojure.jar:/usr/share/java/leiningen-2.5.0-standalone.jar # bootstrap as per http://projects.puppetlabs.com/issues/21547 /usr/bin/rake package:bootstrap /usr/bin/rake DESTDIR="${D}" USER='root' || die "Compilation failed" } each_ruby_install() { export LEIN_ROOT="ignore" export CLASSPATH='/usr/share/clojure-1.6/lib/clojure.jar:/usr/share/java/leiningen-2.5.0-standalone.jar' /usr/bin/rake install DESTDIR="${D}" || die "Install failed" mkdir ${D}/etc/conf.d cp ${FILESDIR}/puppetdb.confd ${D}/etc/conf.d/puppetdb || die "Install init script failed" cp ${FILESDIR}/puppetdb.initd ${D}/etc/init.d/puppetdb || die "Install init script failed" fowners ${PUPPETDB_USER}:${PUPPETDB_GROUP} \ /etc/puppetdb/{,logback.xml} \ /etc/puppetdb/conf.d/{,config.ini,database.ini,jetty.ini,repl.ini} \ /var/lib/puppetdb/{,db,mq,state} fperms 0750 \ /etc/puppetdb/{,conf.d} \ /var/lib/puppetdb/{,db,mq,state} fperms 0640 \ /etc/puppetdb/logback.xml \ /etc/puppetdb/conf.d/config.ini \ /etc/puppetdb/conf.d/database.ini \ /etc/puppetdb/conf.d/jetty.ini \ /etc/puppetdb/conf.d/repl.ini if use terminus; then doruby -r puppet/lib/puppet fi }