summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-emulation/ganeti-htools
downloadgentoo-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-emulation/ganeti-htools')
-rw-r--r--app-emulation/ganeti-htools/Manifest3
-rw-r--r--app-emulation/ganeti-htools/files/ganeti-htools-0.2.8-use-QC-1.patch14
-rw-r--r--app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-base-4.patch171
-rw-r--r--app-emulation/ganeti-htools/ganeti-htools-0.2.8.ebuild45
-rw-r--r--app-emulation/ganeti-htools/ganeti-htools-0.3.0.ebuild48
-rw-r--r--app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild49
-rw-r--r--app-emulation/ganeti-htools/metadata.xml22
7 files changed, 352 insertions, 0 deletions
diff --git a/app-emulation/ganeti-htools/Manifest b/app-emulation/ganeti-htools/Manifest
new file mode 100644
index 00000000000..31b7e2d7be7
--- /dev/null
+++ b/app-emulation/ganeti-htools/Manifest
@@ -0,0 +1,3 @@
+DIST ganeti-htools-0.2.8.tar.gz 236904 SHA256 40574419e07353144e75211b5b524c38cd8e5335589a60ef774851f8e028596d SHA512 a01f29c684456a9fe9023e061892e713c4e89a6e4f9ece01da62cea0eb8ce8fc95a936ba2be351b5dcc0026989054eb4471563475f1c4001f9282d28b996eadc WHIRLPOOL c56fab535149412411301923c936c61f830ecbe4007a3560d5f05de5158d7f90f8b84ab49c3bf3f26e621661e06038893703cb3446c150d54b26130705231500
+DIST ganeti-htools-0.3.0.tar.gz 284839 SHA256 80fcd138cd21f662db226cd30b1efcc08fdaa197c56822809c1c2b58be04a32c SHA512 aa73fed2a99e2fe96f1660b0dd718e9ac3afc6924a25182f5e1ee1eafdccfe43b99986a2f2eefa6bb87b3543565d1fefdf1ef7c9c68ab36dfa9ca677c507945a WHIRLPOOL 0c47f1d330b5cebe69da4598de0a035fdf6e9c7fa65b6cdbe435b1d240d44ef61e2fa9a2ea77f5c1968f61aef5f5885319fef812d32edf934b1bf79b309abc8d
+DIST ganeti-htools-0.3.1.tar.gz 300261 SHA256 c28f3f78594e9dddd8fdc21bc37ce1f1b697d7e9d5d29f1de212705eadea1d7b SHA512 76acc476dc5b3add808db41b7aad4be6ee4b62d31e81eaefa17fbf010daa817bcc920b4e290727ebeddebbe6015017b19d2b7643dbc6d529f158b9746b7a4b43 WHIRLPOOL 1a9c8b4782c1b6265ec647b63c445735a8c2b56dda618aa3a699f1d4ee80838c0e9db51ae84644ade6ef39466cf7dc5aa92687176718c964a1441306e028681c
diff --git a/app-emulation/ganeti-htools/files/ganeti-htools-0.2.8-use-QC-1.patch b/app-emulation/ganeti-htools/files/ganeti-htools-0.2.8-use-QC-1.patch
new file mode 100644
index 00000000000..fd7943fe705
--- /dev/null
+++ b/app-emulation/ganeti-htools/files/ganeti-htools-0.2.8-use-QC-1.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile b/Makefile
+index 5e189fc..bfdf175 100644
+--- a/Makefile
++++ b/Makefile
+@@ -20,7 +20,8 @@ $(HALLPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile
+
+ test live-test: HEXTRA=-fhpc -Wwarn -fno-warn-missing-signatures \
+ -fno-warn-monomorphism-restriction -fno-warn-orphans \
+- -fno-warn-missing-methods -fno-warn-unused-imports
++ -fno-warn-missing-methods -fno-warn-unused-imports \
++ -package $(shell ghc-pkg list | sed -n '/ QuickCheck-1./p')
+
+ $(DOCS) : %.html : %
+ rst2html -v --strict $< $@
diff --git a/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-base-4.patch b/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-base-4.patch
new file mode 100644
index 00000000000..aa0d973a9e4
--- /dev/null
+++ b/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-base-4.patch
@@ -0,0 +1,171 @@
+diff --git a/Ganeti/HTools/CLI.hs b/Ganeti/HTools/CLI.hs
+index b000a00..d9177c6 100644
+--- a/Ganeti/HTools/CLI.hs
++++ b/Ganeti/HTools/CLI.hs
+@@ -74,11 +74,11 @@ module Ganeti.HTools.CLI
+
+ import Data.Maybe (fromMaybe)
+ import qualified Data.Version
+-import Monad
++import Control.Monad
+ import System.Console.GetOpt
+ import System.IO
+ import System.Info
+-import System
++import System.Exit
+ import Text.Printf (printf)
+
+ import qualified Ganeti.HTools.Version as Version(version)
+diff --git a/Ganeti/HTools/ExtLoader.hs b/Ganeti/HTools/ExtLoader.hs
+index 0412c1b..17b8449 100644
+--- a/Ganeti/HTools/ExtLoader.hs
++++ b/Ganeti/HTools/ExtLoader.hs
+@@ -36,10 +36,11 @@ module Ganeti.HTools.ExtLoader
+ ) where
+
+ import Data.Maybe (isJust, fromJust)
+-import Monad
++import Control.Monad
++import qualified Control.Exception as E
+ import System.FilePath
+ import System.IO
+-import System
++import System.Exit
+ import Text.Printf (printf, hPrintf)
+
+ import qualified Ganeti.HTools.Luxi as Luxi
+@@ -56,8 +57,8 @@ import Ganeti.HTools.CLI
+ import Ganeti.HTools.Utils (sepSplit, tryRead)
+
+ -- | Error beautifier
+-wrapIO :: IO (Result a) -> IO (Result a)
+-wrapIO = flip catch (return . Bad . show)
++wrapIO :: (Show a) => IO (Result a) -> IO (Result a)
++wrapIO = flip (E.catch :: IO a -> (E.IOException -> IO a) -> IO a) (return . Bad . show )
+
+ parseUtilisation :: String -> Result (String, DynUtil)
+ parseUtilisation line =
+diff --git a/hail.hs b/hail.hs
+index 541e1a9..68f4488 100644
+--- a/hail.hs
++++ b/hail.hs
+@@ -27,10 +27,10 @@ module Main (main) where
+
+ import Data.List
+ import Data.Maybe (isJust, fromJust)
+-import Monad
+-import System (exitWith, ExitCode(..))
++import Control.Monad
++import System.Environment
++import System.Exit
+ import System.IO
+-import qualified System
+
+ import qualified Ganeti.HTools.Cluster as Cluster
+
+@@ -99,7 +99,7 @@ readRequest opts args = do
+ -- | Main function.
+ main :: IO ()
+ main = do
+- cmd_args <- System.getArgs
++ cmd_args <- getArgs
+ (opts, args) <- parseOpts cmd_args "hail" options
+
+ let shownodes = optShowNodes opts
+diff --git a/hbal.hs b/hbal.hs
+index 46cccf8..0254008 100644
+--- a/hbal.hs
++++ b/hbal.hs
+@@ -30,12 +30,12 @@ import Control.Exception (bracket)
+ import Data.List
+ import Data.Maybe (isJust, isNothing, fromJust)
+ import Data.IORef
+-import Monad
+-import System (exitWith, ExitCode(..))
++import Control.Monad
+ import System.IO
++import System.Exit
+ import System.Posix.Process
+ import System.Posix.Signals
+-import qualified System
++import System.Environment
+
+ import Text.Printf (printf, hPrintf)
+
+@@ -223,7 +223,7 @@ runJobSet master fin_nl il cmd_jobs = do
+ -- | Main function.
+ main :: IO ()
+ main = do
+- cmd_args <- System.getArgs
++ cmd_args <- getArgs
+ (opts, args) <- parseOpts cmd_args "hbal" options
+
+ unless (null args) $ do
+diff --git a/hscan.hs b/hscan.hs
+index c14846f..d613f83 100644
+--- a/hscan.hs
++++ b/hscan.hs
+@@ -28,11 +28,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ module Main (main) where
+
+ import Data.Maybe (isJust, fromJust, fromMaybe)
+-import Monad
+-import System (exitWith, ExitCode(..))
++import Control.Monad
++import System.Environment
++import System.Exit
+ import System.IO
+ import System.FilePath
+-import qualified System
+
+ import Text.Printf (printf)
+
+@@ -135,7 +135,7 @@ writeDataInner nlen name opts cdata fixdata = do
+ -- | Main function.
+ main :: IO ()
+ main = do
+- cmd_args <- System.getArgs
++ cmd_args <- getArgs
+ (opts, clusters) <- parseOpts cmd_args "hscan" options
+ let local = "LOCAL"
+
+diff --git a/hspace.hs b/hspace.hs
+index 57d0302..f207c67 100644
+--- a/hspace.hs
++++ b/hspace.hs
+@@ -29,10 +29,10 @@ import Data.Char (toUpper, isAlphaNum)
+ import Data.List
+ import Data.Maybe (isJust, fromJust)
+ import Data.Ord (comparing)
+-import Monad
+-import System (exitWith, ExitCode(..))
++import Control.Monad
++import System.Exit
++import System.Environment
+ import System.IO
+-import qualified System
+
+ import Text.Printf (printf, hPrintf)
+
+@@ -207,7 +207,7 @@ printAllocationMap verbose msg nl ixes =
+ -- | Main function.
+ main :: IO ()
+ main = do
+- cmd_args <- System.getArgs
++ cmd_args <- getArgs
+ (opts, args) <- parseOpts cmd_args "hspace" options
+
+ unless (null args) $ do
+diff --git a/test.hs b/test.hs
+index 12aa50d..81838eb 100644
+--- a/test.hs
++++ b/test.hs
+@@ -29,7 +29,7 @@ import Data.IORef
+ import Test.QuickCheck.Batch
+ import System.IO
+ import System.Exit
+-import System (getArgs)
++import System.Environment (getArgs)
+
+ import Ganeti.HTools.QC
+
diff --git a/app-emulation/ganeti-htools/ganeti-htools-0.2.8.ebuild b/app-emulation/ganeti-htools/ganeti-htools-0.2.8.ebuild
new file mode 100644
index 00000000000..27c8a41499c
--- /dev/null
+++ b/app-emulation/ganeti-htools/ganeti-htools-0.2.8.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils multilib
+
+DESCRIPTION="Cluster tools for fixing common allocation problems on Ganeti 2.0
+clusters"
+HOMEPAGE="http://code.google.com/p/ganeti/"
+SRC_URI="http://ganeti.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="dev-lang/ghc
+ dev-haskell/json
+ dev-haskell/curl
+ dev-haskell/network"
+RDEPEND="${DEPEND}
+ !>=app-emulation/ganeti-2.4"
+DEPEND+=" test? ( dev-haskell/quickcheck:1 )"
+
+src_prepare() {
+ # htools does not currently compile cleanly with ghc-6.12+, so remove this
+ # for now
+ sed -i -e "s:-Werror ::" Makefile
+ epatch "${FILESDIR}"/${P}-use-QC-1.patch #316629
+}
+
+src_compile() {
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ dosbin hspace hscan hbal
+ exeinto /usr/$(get_libdir)/ganeti/iallocators
+ doexe hail
+ doman *.1
+ dodoc README NEWS AUTHORS
+ use doc && dohtml -r apidoc/*
+}
diff --git a/app-emulation/ganeti-htools/ganeti-htools-0.3.0.ebuild b/app-emulation/ganeti-htools/ganeti-htools-0.3.0.ebuild
new file mode 100644
index 00000000000..e62b5fe82dc
--- /dev/null
+++ b/app-emulation/ganeti-htools/ganeti-htools-0.3.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils multilib
+
+DESCRIPTION="Cluster tools for fixing common allocation problems on Ganeti 2.0
+clusters"
+HOMEPAGE="http://code.google.com/p/ganeti/"
+SRC_URI="http://ganeti.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="dev-lang/ghc
+ dev-haskell/json
+ dev-haskell/curl
+ dev-haskell/network
+ dev-haskell/parallel"
+RDEPEND="${DEPEND}
+ !<app-emulation/ganeti-2.4"
+DEPEND+=" test? ( dev-haskell/quickcheck:1 )"
+
+src_prepare() {
+ # htools does not currently compile cleanly with ghc-6.12+, so remove this
+ # for now
+ sed -i -e "s:-Werror ::" Makefile
+ # Workaround to skip pandoc
+ sed -i -e "s:) man:):" Makefile
+ epatch "${FILESDIR}"/${PN}-0.2.8-use-QC-1.patch #316629
+}
+
+src_compile() {
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ dosbin hspace hscan hbal
+ exeinto /usr/$(get_libdir)/ganeti/iallocators
+ doexe hail
+ doman man/*.1
+ dodoc README NEWS AUTHORS
+ use doc && dohtml -r apidoc/*
+}
diff --git a/app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild b/app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild
new file mode 100644
index 00000000000..45985064000
--- /dev/null
+++ b/app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils multilib
+
+DESCRIPTION="Cluster tools for fixing common allocation problems on Ganeti 2.0
+clusters"
+HOMEPAGE="http://code.google.com/p/ganeti/"
+SRC_URI="http://ganeti.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="dev-lang/ghc
+ dev-haskell/json
+ dev-haskell/curl
+ dev-haskell/network
+ dev-haskell/parallel"
+RDEPEND="${DEPEND}
+ !<app-emulation/ganeti-2.4"
+DEPEND+=" test? ( dev-haskell/quickcheck:1 )"
+
+src_prepare() {
+ # htools does not currently compile cleanly with ghc-6.12+, so remove this
+ # for now
+ sed -i -e "s:-Werror ::" Makefile
+ # Workaround to skip pandoc
+ sed -i -e "s:) man:):" Makefile
+ epatch "${FILESDIR}"/${PN}-0.2.8-use-QC-1.patch #316629
+ epatch "${FILESDIR}"/${PN}-0.3.1-base-4.patch #424299
+}
+
+src_compile() {
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ dosbin hspace hscan hbal
+ exeinto /usr/$(get_libdir)/ganeti/iallocators
+ doexe hail
+ doman man/*.1
+ dodoc README NEWS AUTHORS
+ use doc && dohtml -r apidoc/*
+}
diff --git a/app-emulation/ganeti-htools/metadata.xml b/app-emulation/ganeti-htools/metadata.xml
new file mode 100644
index 00000000000..235f15f0353
--- /dev/null
+++ b/app-emulation/ganeti-htools/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>virtualization</herd>
+ <herd>haskell</herd>
+ <longdescription lang="en">
+ These are some simple cluster tools for fixing common allocation
+ problems on Ganeti 2.0 clusters.
+
+ Note that these tools are most useful for bigger cluster sizes
+ (e.g. more than five or ten machines); at lower sizes, the computations
+ they do can also be done manually.
+
+ Most of the tools revolve around the concept of keeping the cluster N+1
+ compliant: this means that in case of failure of any node, the instances
+ affected can be failed over (via ``gnt-node failover`` or ``gnt-instance
+ failover``) to their secondary node, and there is enough memory reserved
+ for this operation without needing to shutdown other instances or
+ rebalance the cluster.
+ </longdescription>
+</pkgmetadata>
+