From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- app-emulation/ganeti-htools/Manifest | 7 + .../files/ganeti-htools-0.2.8-use-QC-1.patch | 14 ++ .../files/ganeti-htools-0.3.1-base-4.patch | 171 +++++++++++++++++++++ .../files/ganeti-htools-0.3.1-containers.patch | 9 ++ .../files/ganeti-htools-0.3.1-ghc-7.10.patch | 29 ++++ .../ganeti-htools/ganeti-htools-0.3.1.ebuild | 50 ++++++ app-emulation/ganeti-htools/metadata.xml | 27 ++++ 7 files changed, 307 insertions(+) create mode 100644 app-emulation/ganeti-htools/Manifest create mode 100644 app-emulation/ganeti-htools/files/ganeti-htools-0.2.8-use-QC-1.patch create mode 100644 app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-base-4.patch create mode 100644 app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-containers.patch create mode 100644 app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-ghc-7.10.patch create mode 100644 app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild create mode 100644 app-emulation/ganeti-htools/metadata.xml (limited to 'app-emulation/ganeti-htools') diff --git a/app-emulation/ganeti-htools/Manifest b/app-emulation/ganeti-htools/Manifest new file mode 100644 index 000000000000..05ad62a3e747 --- /dev/null +++ b/app-emulation/ganeti-htools/Manifest @@ -0,0 +1,7 @@ +AUX ganeti-htools-0.2.8-use-QC-1.patch 526 BLAKE2B 928c7668b3d59a9b059725a44a2ebcd98d2f67b76594998f6e86bd948a7f9f03b0cf92823ea81b575b6dc46fd13d26efe4d02c66585a98784feb29afd9971608 SHA512 5f14ef6f045a8bb381203b6d9bc68e995992649b910658df210c4db427b8faa76bf48afc2df0513ee26d072011c8b85abaf6d77b3b6a71ff9bd1154d355a0c47 +AUX ganeti-htools-0.3.1-base-4.patch 4511 BLAKE2B 5a4d89a1820a8a4d8b9579e9b53755b631a57b91a94e1f702da9c122dcee1e32aba7f7080d3e82be762336c557d7a2340755337504f65eae3ff0d825667a2d51 SHA512 e0ec8a7bcd15e047f3d61640f8fab946560e035776f455019fc825809a19ca24a06a265c08e9e469c613a5ad7014ec910a080ce36b674d08f439ec9ce5caad14 +AUX ganeti-htools-0.3.1-containers.patch 363 BLAKE2B 2d0e1c3ee562a89d385e8e567299e5af13bd9c42e9c66f23042e40ad7aba4068928e609cdafb811af058c1be5f4baa8ecf8bb529150b2a24b7e9b678b885ab5c SHA512 4e0e552db9cb9e79be71b55b2d50c4d740074ea57d425e7d4e6ea5dbb136da175f6551131b97e36a0106554c49b337626b667a353c4056750e0150a28d7d2784 +AUX ganeti-htools-0.3.1-ghc-7.10.patch 772 BLAKE2B d6d6d0978272236eca4479c24c80c3e2641a53dc04bec0d75ea38cb027406fe084df46609141e0711d32c5b611739171dac2a16a588ade29936488dde2c9435b SHA512 c1ea60f053e528b465a916b9045e580bd364df7c9bbe6b67041339dc3dd983347c8b9d590249649ec1ed236d566de924dee41a37884329b9b059d53858dc44d4 +DIST ganeti-htools-0.3.1.tar.gz 300261 BLAKE2B b7eb1a94ff4a5026955a9b8c7331dc6b529ff9eb688ae4cafe1822b93d3705bff4f9c5006bd674cd03ecb2bf41d0e32142d039b485e08a797240e8f51f553c2a SHA512 76acc476dc5b3add808db41b7aad4be6ee4b62d31e81eaefa17fbf010daa817bcc920b4e290727ebeddebbe6015017b19d2b7643dbc6d529f158b9746b7a4b43 +EBUILD ganeti-htools-0.3.1.ebuild 1227 BLAKE2B 1cd454248b76d7efcbf5f1175187cf31573b5960c0a07cf291c86a649e18155b52c3bab3758760a68dcd0bf74d061f701abdc824598551bb0891ceddf9c87eb7 SHA512 509b06a1953db536a3a5ce40e373f79758be505d5b136d095260a020e82e776f6c190140753df1b2188ebf32abf49311683d3474d1a4772404f724380e71f92d +MISC metadata.xml 1091 BLAKE2B e1177d26ac85678879e3e7e0ab956e08d3b56a28c78654b6ae8c8810fab1eb1e6a03f8ec37798bf2ee6c1078ec6319b47c0d367a3cf7782bafea420c9d45de38 SHA512 1cf1ae0572dedb5d9969f631edb0484ffa29246abbf3da158060ae752db9bf90390e391b24976eaf6c5d99d6a7127d8f52d7b49fb9a703b1dc7075c770ff136e 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 000000000000..fd7943fe7057 --- /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 000000000000..aa0d973a9e40 --- /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/files/ganeti-htools-0.3.1-containers.patch b/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-containers.patch new file mode 100644 index 000000000000..2305aa5c6547 --- /dev/null +++ b/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-containers.patch @@ -0,0 +1,9 @@ +diff --git a/Ganeti/HTools/QC.hs b/Ganeti/HTools/QC.hs +index 534a7b1..6f99a96 100644 +--- a/Ganeti/HTools/QC.hs ++++ b/Ganeti/HTools/QC.hs +@@ -753,3 +753,3 @@ prop_ClusterAllocBalance node = + let nl = makeSmallCluster node count +- (hnode, nl') = IntMap.deleteFindMax nl ++ ((_k, hnode), nl') = IntMap.deleteFindMax nl + il = Container.empty diff --git a/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-ghc-7.10.patch b/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-ghc-7.10.patch new file mode 100644 index 000000000000..51c39fe5fce5 --- /dev/null +++ b/app-emulation/ganeti-htools/files/ganeti-htools-0.3.1-ghc-7.10.patch @@ -0,0 +1,29 @@ +diff --git a/Ganeti/HTools/Types.hs b/Ganeti/HTools/Types.hs +index 104bf64..8146870 100644 +--- a/Ganeti/HTools/Types.hs ++++ b/Ganeti/HTools/Types.hs +@@ -65,2 +65,4 @@ import qualified Data.Map as M + import qualified Text.JSON as JSON ++import Control.Applicative ++import Control.Monad + +@@ -221,2 +223,9 @@ data Result a + ++instance Functor Result where ++ fmap = liftM ++ ++instance Applicative Result where ++ pure = return ++ (<*>) = ap -- defined in Control.Monad ++ + instance Monad Result where +@@ -252,2 +261,9 @@ data OpResult a = OpFail FailMode -- ^ Failed operation + ++instance Functor OpResult where ++ fmap = liftM ++ ++instance Applicative OpResult where ++ pure = return ++ (<*>) = ap -- defined in Control.Monad ++ + instance Monad OpResult where 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 000000000000..7068c10267c8 --- /dev/null +++ b/app-emulation/ganeti-htools/ganeti-htools-0.3.1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit eutils multilib + +DESCRIPTION="Cluster tools for fixing common allocation problems on Ganeti 2.0 +clusters" +HOMEPAGE="http://www.ganeti.org/" +SRC_URI="https://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} + ! + + + + virtualization@gentoo.org + Gentoo Virtualization Project + + + haskell@gentoo.org + Gentoo Haskell + + + 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. + + -- cgit v1.2.3