[DHG_packages] 02/05: make-all: More options
Joachim Breitner
nomeata at moszumanska.debian.org
Tue Aug 11 12:10:42 UTC 2015
This is an automated email from the git hooks/post-receive script.
nomeata pushed a commit to branch master
in repository DHG_packages.
commit 7ae131cdbcaa50f973a7a7b895910b0916476751
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Tue Aug 11 13:53:12 2015 +0200
make-all: More options
---
src/make-all.hs | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
diff --git a/src/make-all.hs b/src/make-all.hs
index 976be8b..ab95a37 100644
--- a/src/make-all.hs
+++ b/src/make-all.hs
@@ -31,6 +31,8 @@ data Conf = Conf
, excludedPackages :: [String]
, targetDir :: FilePath
, jobs :: Int
+ , schrootName :: String
+ , shakeVerbosity' :: Verbosity
, targets :: [String]
}
@@ -62,10 +64,25 @@ confSpec = Conf
long "jobs" <>
short 'j' <>
metavar "INT" <>
- help "numbe of parallel jobs" <>
+ help "number of parallel jobs" <>
showDefault <>
value 1
)
+ <*> strOption (
+ long "chroot" <>
+ short 'j' <>
+ metavar "SCHROOT" <>
+ help "name of the schroot to use" <>
+ showDefault <>
+ value "haskell"
+ )
+ <*> option readOption (
+ long "shake-verbosity" <>
+ metavar "VERBOSITY" <>
+ help "verbosity for shake (Silent, Quiet, Normal, Loud, Chatty or Diagnostic)" <>
+ showDefault <>
+ value Normal
+ )
<*> O.many (argument str (metavar "TARGET..."))
parseCommaOrSpace:: ReadM [String]
@@ -73,6 +90,13 @@ parseCommaOrSpace = do
s <- readerAsk
return $ split (dropBlanks $ dropDelims $ oneOf ";, ") s
+readOption :: Read a => ReadM a
+readOption = do
+ s <- readerAsk
+ case readMaybe s of
+ Nothing -> fail $ "Cannot parse " ++ s
+ Just n -> return n
+
parseNat :: ReadM Int
parseNat = do
s <- readerAsk
@@ -196,6 +220,7 @@ makeShakeOptions :: Conf -> ShakeOptions
makeShakeOptions Conf{..} = shakeOptions
{ shakeFiles = targetDir </> ".shake"
, shakeThreads = jobs
+ , shakeVerbosity = shakeVerbosity'
}
shakeMain conf@(Conf {..}) = do
@@ -284,7 +309,7 @@ shakeMain conf@(Conf {..}) = do
localDebs <- filter ((==".deb").takeExtension) . map (makeRelative targetDir) <$> liftIO (listFiles targetDir)
let debs = filter ((`S.member` usedDepsS) . debFileNameToPackage) localDebs
Exit c <- cmd (Cwd targetDir) (EchoStdout False)
- ["sbuild", "-c", "haskell","-A","--no-apt-update","--dist", distribution, "--chroot-setup-commands=bash "++fixup, dsc] ["--extra-package="++d | d <- debs]
+ ["sbuild", "-c", schrootName,"-A","--no-apt-update","--dist", distribution, "--chroot-setup-commands=bash "++fixup, dsc] ["--extra-package="++d | d <- debs]
unless (c == ExitSuccess) $ do
putNormal $ "Failed to build " ++ source ++ "_" ++ version
putNormal $ "See " ++ targetDir </> logFileName source version ++ " for details."
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-haskell/DHG_packages.git
More information about the Pkg-haskell-commits
mailing list