diff options
author | 2014-03-03 23:59:44 +0000 | |
---|---|---|
committer | 2014-03-03 23:59:44 +0000 | |
commit | 7640d72e491efee46268d27a90ce4b0d1a9e1f4a (patch) | |
tree | 4d81263cff7e0fe20348c9134ec2fd86fb95506c /app-emulation | |
parent | amd64 stable, bug #502508 (diff) | |
download | gentoo-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/ChangeLog | 13 | ||||
-rw-r--r-- | app-emulation/ganeti/files/ganeti-2.2.initd | 113 | ||||
-rw-r--r-- | app-emulation/ganeti/ganeti-2.10.0.ebuild | 166 | ||||
-rw-r--r-- | app-emulation/ganeti/ganeti-2.9.5.ebuild | 166 |
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" +} |