summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McLean <chutzpah@gentoo.org>2014-03-03 23:59:44 +0000
committerPatrick McLean <chutzpah@gentoo.org>2014-03-03 23:59:44 +0000
commit7640d72e491efee46268d27a90ce4b0d1a9e1f4a (patch)
tree4d81263cff7e0fe20348c9134ec2fd86fb95506c /app-emulation
parentamd64 stable, bug #502508 (diff)
downloadgentoo-2-7640d72e491efee46268d27a90ce4b0d1a9e1f4a.tar.gz
gentoo-2-7640d72e491efee46268d27a90ce4b0d1a9e1f4a.tar.bz2
gentoo-2-7640d72e491efee46268d27a90ce4b0d1a9e1f4a.zip
Version bump for 2.9 and 2.10. Add new version of init script that has a "use net" (bug #501238). Install HA examples to docs (bug #491558). Port over to subslot deps for haskell packages.
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 0xE3F69979BB4B8928DA78E3D17CBF44EF)
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/ganeti/ChangeLog13
-rw-r--r--app-emulation/ganeti/files/ganeti-2.2.initd113
-rw-r--r--app-emulation/ganeti/ganeti-2.10.0.ebuild166
-rw-r--r--app-emulation/ganeti/ganeti-2.9.5.ebuild166
4 files changed, 456 insertions, 2 deletions
diff --git a/app-emulation/ganeti/ChangeLog b/app-emulation/ganeti/ChangeLog
index ed7b886ad497..20bd31fcbaca 100644
--- a/app-emulation/ganeti/ChangeLog
+++ b/app-emulation/ganeti/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for app-emulation/ganeti
-# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/ganeti/ChangeLog,v 1.78 2013/12/23 15:58:43 pacho Exp $
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/ganeti/ChangeLog,v 1.79 2014/03/03 23:59:44 chutzpah Exp $
+
+*ganeti-2.10.0 (03 Mar 2014)
+*ganeti-2.9.5 (03 Mar 2014)
+
+ 03 Mar 2014; Patrick McLean <chutzpah@gentoo.org> +ganeti-2.9.5.ebuild,
+ +ganeti-2.10.0.ebuild, +files/ganeti-2.2.initd:
+ Version bump for 2.9 and 2.10. Add new version of init script that has a "use
+ net" (bug #501238). Install HA examples to docs (bug #491558). Port over to
+ subslot deps for haskell packages.
23 Dec 2013; Pacho Ramos <pacho@gentoo.org> metadata.xml:
Cleanup due bug #66351
diff --git a/app-emulation/ganeti/files/ganeti-2.2.initd b/app-emulation/ganeti/files/ganeti-2.2.initd
new file mode 100644
index 000000000000..b43e458f1e29
--- /dev/null
+++ b/app-emulation/ganeti/files/ganeti-2.2.initd
@@ -0,0 +1,113 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/ganeti/files/ganeti-2.2.initd,v 1.1 2014/03/03 23:59:44 chutzpah Exp $
+
+depend() {
+ need localmount logger
+ after bootmisc
+ use net
+}
+
+DAEMON_UTIL="/usr/lib/ganeti/daemon-util"
+
+check_config() {
+ if ! $DAEMON_UTIL check-config ; then
+ eend 0 "Incomplete configuration, will not run."
+ fi
+}
+
+check_exitcode() {
+ RC=${1}
+ if errmsg=$(${DAEMON_UTIL} check-exitcode ${RC}) ; then
+ eend 0 "${errmsg}"
+ else
+ eend 1 "${errmsg}"
+ fi
+}
+
+start_action() {
+ # called as start_action daemon-name
+ local daemon="${1}"
+ ebegin "Starting ${daemon}"
+ ${DAEMON_UTIL} start "${@}"
+ check_exitcode ${?}
+}
+
+stop_action() {
+ # called as stop_action daemon-name
+ local daemon="${1}"
+ ebegin "Stopping ${daemon}"
+ ${DAEMON_UTIL} stop "${@}"
+ check_exitcode ${?}
+}
+
+maybe_do() {
+ requested="${1}"; shift
+ action="${1}"; shift
+ target="${1}"
+ if [ -z "${requested}" -o "${requested}" = "${target}" ] ; then
+ ${action} "${@}"
+ fi
+}
+
+get_master_node() {
+ MASTER_NODE="$(gnt-cluster getmaster)"
+ NODE_HOSTNAME="$(hostname -f)"
+ if [ "$MASTER_NODE" == "$NODE_HOSTNAME" ] ; then
+ MASTER=1
+ else
+ MASTER=0
+ fi
+}
+
+start_all() {
+ check_config
+ get_master_node
+ for i in $($DAEMON_UTIL list-start-daemons); do \
+ GANETI_START_OPTS="${GANETI_OPTS}"
+ case "${i}" in
+ ganeti-masterd)
+ GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_MASTERD_OPTS}"
+ ;;
+ ganeti-rapid)
+ GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_RAPI_OPTS}"
+ ;;
+ ganeti-noded)
+ GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_NODED_OPTS}"
+ ;;
+ ganeti-confd)
+ GANETI_OPTS="${GANETI_START_OPTS} ${GANETI_CONFD_OPTS}"
+ ;;
+ esac
+ # Don't start if not master
+ if [ $MASTER = 0 -a $i = "ganeti-masterd" ] ; then
+ continue
+ elif [ $MASTER = 0 -a $i = "ganeti-rapi" ] ; then
+ continue
+ else
+ maybe_do "${1}" start_action ${i} ${GANETI_OPTS}
+ fi
+ done
+}
+
+stop_all() {
+ get_master_node
+ for i in $($DAEMON_UTIL list-stop-daemons) ; do \
+ if [ $MASTER = 0 -a $i = "ganeti-masterd" ] ; then
+ continue
+ elif [ $MASTER = 0 -a $i = "ganeti-rapi" ] ; then
+ continue
+ else
+ maybe_do "${1}" stop_action ${i} ${GANETI_OPTS}
+ fi
+ done
+}
+
+start() {
+ start_all
+}
+
+stop() {
+ stop_all
+}
diff --git a/app-emulation/ganeti/ganeti-2.10.0.ebuild b/app-emulation/ganeti/ganeti-2.10.0.ebuild
new file mode 100644
index 000000000000..11c5f38f1336
--- /dev/null
+++ b/app-emulation/ganeti/ganeti-2.10.0.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/ganeti/ganeti-2.10.0.ebuild,v 1.1 2014/03/03 23:59:44 chutzpah Exp $
+
+EAPI=5
+PYTHON_COMPAT=(python2_{6,7})
+use test && PYTHON_REQ_USE="ipv6"
+
+inherit eutils confutils autotools bash-completion-r1 python-single-r1 versionator
+
+MY_PV="${PV/_rc/~rc}"
+#MY_PV="${PV/_beta/~beta}"
+MY_P="${PN}-${MY_PV}"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.ganeti.org/ganeti.git"
+ inherit git-2
+ KEYWORDS=""
+ # you will need to pull in the haskell overlay for pandoc
+ GIT_DEPEND="app-text/pandoc
+ dev-python/docutils
+ dev-python/sphinx
+ media-libs/gd[fontconfig,jpeg,png,truetype]
+ media-gfx/graphviz
+ media-fonts/urw-fonts"
+else
+ SRC_URI="http://downloads.ganeti.org/releases/$(get_version_component_range 1-2)/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ganeti is a virtual server management software tool"
+HOMEPAGE="http://code.google.com/p/ganeti/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="kvm xen lxc drbd htools syslog ipv6 haskell-daemons rbd test"
+REQUIRED_USE="|| ( kvm xen lxc )"
+
+S="${WORKDIR}/${MY_P}"
+
+HASKELL_DEPS=">=dev-lang/ghc-6.12:0=
+ dev-haskell/json:0=
+ dev-haskell/curl:0=
+ dev-haskell/network:0=
+ dev-haskell/parallel
+ dev-haskell/hslogger:0=
+ dev-haskell/utf8-string:0=
+ dev-haskell/deepseq:0=
+ dev-haskell/attoparsec:0=
+ dev-haskell/crypto:0="
+
+DEPEND="xen? ( >=app-emulation/xen-3.0 )
+ kvm? ( app-emulation/qemu )
+ lxc? ( app-emulation/lxc )
+ drbd? ( <sys-cluster/drbd-8.5 )
+ rbd? ( sys-cluster/ceph )
+ ipv6? ( net-misc/ndisc6 )
+ haskell-daemons? (
+ ${HASKELL_DEPS}
+ dev-haskell/text:0=
+ dev-haskell/hinotify:0=
+ dev-haskell/regex-pcre-builtin:0=
+ dev-haskell/vector:0=
+ )
+ dev-libs/openssl
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ dev-python/bitarray[${PYTHON_USEDEP}]
+ net-analyzer/arping
+ net-analyzer/fping
+ net-misc/bridge-utils
+ net-misc/curl[ssl]
+ net-misc/openssh
+ net-misc/socat
+ sys-apps/iproute2
+ sys-fs/lvm2
+ >=sys-apps/baselayout-2.0
+ ${PYTHON_DEPS}
+ ${GIT_DEPEND}"
+RDEPEND="${DEPEND}
+ !app-emulation/ganeti-htools"
+DEPEND+="${HASKELL_DEPS}
+ sys-devel/m4
+ test? (
+ dev-python/mock
+ dev-python/pyyaml
+ dev-haskell/test-framework:0=
+ dev-haskell/test-framework-hunit:0=
+ dev-haskell/test-framework-quickcheck2:0=
+ dev-haskell/temporary:0=
+ sys-apps/fakeroot
+ )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.6-fix-args.patch"
+ "${FILESDIR}/${PN}-2.6-add-pgrep.patch"
+ "${FILESDIR}/${PN}-2.7-fix-tests.patch"
+ "${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
+ "${FILESDIR}/${PN}-2.9-regex-builtin.patch"
+ "${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
+)
+
+pkg_setup () {
+ confutils_use_depend_all haskell-daemons htools
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ has_version ">=sys-devel/automake-1.13" && epatch "${FILESDIR}/${PN}-2.9-automake-1.13.patch"
+ [[ ${PV} == "9999" ]] && ./autogen.sh
+ rm autotools/missing
+ eautoreconf
+}
+
+src_configure () {
+ econf --localstatedir=/var \
+ --docdir=/usr/share/doc/${P} \
+ --with-ssh-initscript=/etc/init.d/sshd \
+ --with-export-dir=/var/lib/ganeti-storage/export \
+ --with-os-search-path=/usr/share/ganeti/os \
+ $(use_enable syslog) \
+ $(usex kvm '--with-kvm-path=' '' '/usr/bin/qemu-kvm' '') \
+ $(usex haskell-daemons "--enable-confd=haskell" '' '' '')
+}
+
+src_install () {
+ emake V=1 DESTDIR="${D}" install || die "emake install failed"
+ newinitd "${FILESDIR}"/ganeti-2.2.initd ganeti
+ newconfd "${FILESDIR}"/ganeti.confd ganeti
+ use kvm && newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
+ use kvm && newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
+ newbashcomp doc/examples/bash_completion ganeti
+ dodoc INSTALL UPGRADE NEWS README doc/*.rst
+ dohtml -r doc/html/*
+ rm -rf "${D}"/usr/share/doc/ganeti
+
+ docinto examples
+ dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf.*
+
+ docinto examples/hooks
+ dodoc doc/examples/hooks/{ipsec,ethers}
+
+ insinto /etc/cron.d
+ newins doc/examples/ganeti.cron ${PN}
+
+ insinto /etc/logrotate.d
+ newins doc/examples/ganeti.logrotate ${PN}
+
+ python_fix_shebang "${D}"/usr/sbin/ "${D}"/usr/"$(get_libdir)"/ganeti/ensure-dirs
+
+ keepdir /var/{lib,log,run}/ganeti/
+ keepdir /usr/share/ganeti/os/
+ keepdir /var/lib/ganeti-storage/{export,file,shared}/
+
+ python_fix_shebang "${ED}"
+}
+
+src_test () {
+ emake check || die "emake check failed"
+}
diff --git a/app-emulation/ganeti/ganeti-2.9.5.ebuild b/app-emulation/ganeti/ganeti-2.9.5.ebuild
new file mode 100644
index 000000000000..8027b21397c3
--- /dev/null
+++ b/app-emulation/ganeti/ganeti-2.9.5.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/ganeti/ganeti-2.9.5.ebuild,v 1.1 2014/03/03 23:59:44 chutzpah Exp $
+
+EAPI=5
+PYTHON_COMPAT=(python2_{6,7})
+use test && PYTHON_REQ_USE="ipv6"
+
+inherit eutils confutils autotools bash-completion-r1 python-single-r1 versionator
+
+MY_PV="${PV/_rc/~rc}"
+#MY_PV="${PV/_beta/~beta}"
+MY_P="${PN}-${MY_PV}"
+SERIES="$(get_version_component_range 1-2)"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.ganeti.org/ganeti.git"
+ inherit git-2
+ KEYWORDS=""
+ # you will need to pull in the haskell overlay for pandoc
+ GIT_DEPEND="app-text/pandoc
+ dev-python/docutils
+ dev-python/sphinx
+ media-libs/gd[fontconfig,jpeg,png,truetype]
+ media-gfx/graphviz
+ media-fonts/urw-fonts"
+else
+ SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Ganeti is a virtual server management software tool"
+HOMEPAGE="http://code.google.com/p/ganeti/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="kvm xen lxc drbd htools syslog ipv6 haskell-daemons rbd test"
+REQUIRED_USE="|| ( kvm xen lxc )"
+
+S="${WORKDIR}/${MY_P}"
+
+HASKELL_DEPS=">=dev-lang/ghc-6.12:0=
+ dev-haskell/json:0=
+ dev-haskell/curl:0=
+ dev-haskell/network:0=
+ dev-haskell/parallel
+ dev-haskell/hslogger:0=
+ dev-haskell/utf8-string:0=
+ dev-haskell/deepseq:0="
+
+DEPEND="xen? ( >=app-emulation/xen-3.0 )
+ kvm? ( app-emulation/qemu )
+ lxc? ( app-emulation/lxc )
+ drbd? ( <sys-cluster/drbd-8.5 )
+ rbd? ( sys-cluster/ceph )
+ ipv6? ( net-misc/ndisc6 )
+ haskell-daemons? (
+ ${HASKELL_DEPS}
+ dev-haskell/crypto:0=
+ dev-haskell/text:0=
+ dev-haskell/hinotify:0=
+ dev-haskell/regex-pcre-builtin:0=
+ dev-haskell/attoparsec:0=
+ dev-haskell/vector:0=
+ )
+ dev-libs/openssl
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ dev-python/bitarray[${PYTHON_USEDEP}]
+ net-analyzer/arping
+ net-analyzer/fping
+ net-misc/bridge-utils
+ net-misc/curl[ssl]
+ net-misc/openssh
+ net-misc/socat
+ sys-apps/iproute2
+ sys-fs/lvm2
+ >=sys-apps/baselayout-2.0
+ ${PYTHON_DEPS}
+ ${GIT_DEPEND}"
+RDEPEND="${DEPEND}
+ !app-emulation/ganeti-htools"
+DEPEND+="${HASKELL_DEPS}
+ test? (
+ dev-python/mock
+ dev-python/pyyaml
+ dev-haskell/test-framework:0=
+ dev-haskell/test-framework-hunit:0=
+ dev-haskell/test-framework-quickcheck2:0=
+ dev-haskell/temporary:0=
+ sys-apps/fakeroot
+ )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.6-fix-args.patch"
+ "${FILESDIR}/${PN}-2.6-add-pgrep.patch"
+ "${FILESDIR}/${PN}-2.7-fix-tests.patch"
+ "${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
+ "${FILESDIR}/${PN}-2.9-regex-builtin.patch"
+ "${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
+)
+
+pkg_setup () {
+ confutils_use_depend_all haskell-daemons htools
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ has_version ">=sys-devel/automake-1.13" && epatch "${FILESDIR}/${PN}-2.9-automake-1.13.patch"
+ [[ ${PV} == "9999" ]] && ./autogen.sh
+ rm autotools/missing
+ eautoreconf
+}
+
+src_configure () {
+ econf --localstatedir=/var \
+ --docdir=/usr/share/doc/${P} \
+ --with-ssh-initscript=/etc/init.d/sshd \
+ --with-export-dir=/var/lib/ganeti-storage/export \
+ --with-os-search-path=/usr/share/ganeti/os \
+ $(use_enable syslog) \
+ $(usex kvm '--with-kvm-path=' '' '/usr/bin/qemu-kvm' '') \
+ $(usex haskell-daemons "--enable-confd=haskell" '' '' '')
+}
+
+src_install () {
+ emake V=1 DESTDIR="${D}" install || die "emake install failed"
+ newinitd "${FILESDIR}"/ganeti-2.2.initd ganeti
+ newconfd "${FILESDIR}"/ganeti.confd ganeti
+ use kvm && newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
+ use kvm && newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
+ newbashcomp doc/examples/bash_completion ganeti
+ dodoc INSTALL UPGRADE NEWS README doc/*.rst
+ dohtml -r doc/html/*
+ rm -rf "${D}"/usr/share/doc/ganeti
+
+ docinto examples
+ dodoc doc/examples/{ganeti.cron,gnt-config-backup}
+
+ docinto examples/hooks
+ dodoc doc/examples/hooks/{ipsec,ethers}
+
+ insinto /etc/cron.d
+ newins doc/examples/ganeti.cron ${PN}
+
+ insinto /etc/logrotate.d
+ newins doc/examples/ganeti.logrotate ${PN}
+
+ python_fix_shebang "${D}"/usr/sbin/ "${D}"/usr/"$(get_libdir)"/ganeti/ensure-dirs
+
+ keepdir /var/{lib,log,run}/ganeti/
+ keepdir /usr/share/ganeti/os/
+ keepdir /var/lib/ganeti-storage/{export,file,shared}/
+
+ python_fix_shebang "${ED}"
+}
+
+src_test () {
+ emake check || die "emake check failed"
+}