diff options
| -rw-r--r-- | debian/changelog | 3 | ||||
| l--------- | executables/propellor-config.hs (renamed from src/propellor-config.hs) | 0 | ||||
| -rw-r--r-- | executables/wrapper.hs | 6 | ||||
| -rw-r--r-- | propellor.cabal | 53 | ||||
| -rw-r--r-- | src/Propellor/Wrapper.hs (renamed from src/wrapper.hs) | 9 |
5 files changed, 35 insertions, 36 deletions
diff --git a/debian/changelog b/debian/changelog index 9af87222..e75d7f8f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ propellor (5.3.5) UNRELEASED; urgency=medium * Apt.stdSourcesList now adds stable-updates suite Thanks, Sean Whitton + * Significantly increased propellor build speed when your config.hs + is in a fork of the propellor repository, by avoiding redundant builds + of propellor library. -- Joey Hess <id@joeyh.name> Wed, 18 Apr 2018 10:12:21 -0400 diff --git a/src/propellor-config.hs b/executables/propellor-config.hs index e3af968e..e3af968e 120000 --- a/src/propellor-config.hs +++ b/executables/propellor-config.hs diff --git a/executables/wrapper.hs b/executables/wrapper.hs new file mode 100644 index 00000000..3a6cee3a --- /dev/null +++ b/executables/wrapper.hs @@ -0,0 +1,6 @@ +module Main where + +import Propellor.Wrapper + +main :: IO () +main = runWrapper diff --git a/propellor.cabal b/propellor.cabal index 18d28db3..4e4102d0 100644 --- a/propellor.cabal +++ b/propellor.cabal @@ -35,38 +35,6 @@ Description: . It is configured using haskell. -Executable propellor - Default-Language: Haskell98 - Main-Is: wrapper.hs - GHC-Options: -threaded -Wall -fno-warn-tabs -O0 - if impl(ghc >= 8.0) - GHC-Options: -fno-warn-redundant-constraints - Default-Extensions: TypeOperators - Hs-Source-Dirs: src - Build-Depends: - -- propellor needs to support the ghc shipped in Debian stable, - -- and also only depends on packages in Debian stable. - base >= 4.5, base < 5, - directory, filepath, IfElse, process, bytestring, hslogger, split, - unix, unix-compat, ansi-terminal, containers (>= 0.5), network, async, - time, mtl, transformers, exceptions (>= 0.6), stm, text, hashable - Other-Modules: - Propellor.DotDir - -Executable propellor-config - Default-Language: Haskell98 - Main-Is: propellor-config.hs - GHC-Options: -threaded -Wall -fno-warn-tabs -O0 - if impl(ghc >= 8.0) - GHC-Options: -fno-warn-redundant-constraints - Default-Extensions: TypeOperators - Hs-Source-Dirs: src - Build-Depends: - base >= 4.5, base < 5, - directory, filepath, IfElse, process, bytestring, hslogger, split, - unix, unix-compat, ansi-terminal, containers (>= 0.5), network, async, - time, mtl, transformers, exceptions (>= 0.6), stm, text, hashable - Library Default-Language: Haskell98 GHC-Options: -Wall -fno-warn-tabs -O0 @@ -75,6 +43,8 @@ Library Default-Extensions: TypeOperators Hs-Source-Dirs: src Build-Depends: + -- propellor needs to support the ghc shipped in Debian stable, + -- and also only depends on packages in Debian stable. base >= 4.5, base < 5, directory, filepath, IfElse, process, bytestring, hslogger, split, unix, unix-compat, ansi-terminal, containers (>= 0.5), network, async, @@ -83,6 +53,7 @@ Library Exposed-Modules: Propellor Propellor.Base + Propellor.DotDir Propellor.Location Propellor.Property Propellor.Property.Aiccu @@ -211,6 +182,7 @@ Library Propellor.Types.ResultCheck Propellor.Types.Singletons Propellor.Types.ZFS + Propellor.Wrapper Other-Modules: Propellor.Bootstrap Propellor.Git @@ -254,6 +226,23 @@ Library System.Console.Concurrent System.Console.Concurrent.Internal System.Process.Concurrent + Paths_propellor + +Executable propellor-config + Default-Language: Haskell98 + Hs-Source-Dirs: executables + Main-Is: propellor-config.hs + GHC-Options: -threaded -Wall -fno-warn-tabs -O0 + if impl(ghc >= 8.0) + GHC-Options: -fno-warn-redundant-constraints + Default-Extensions: TypeOperators + Build-Depends: propellor, base + +Executable propellor + Default-Language: Haskell98 + Hs-Source-Dirs: executables + Main-Is: wrapper.hs + Build-Depends: propellor, base source-repository head type: git diff --git a/src/wrapper.hs b/src/Propellor/Wrapper.hs index 20b4d8c6..f399b2cf 100644 --- a/src/wrapper.hs +++ b/src/Propellor/Wrapper.hs @@ -1,4 +1,5 @@ --- | Wrapper program for propellor distribution. +-- | This module is used to implement a wrapper program for propellor +-- distribution. -- -- Distributions should install this program into PATH. -- (Cabal builds it as dist/build/propellor/propellor). @@ -10,7 +11,7 @@ -- If ./config.hs exists and looks like a propellor config file, -- it instead builds and runs in the current working directory. -module Main where +module Propellor.Wrapper (runWrapper) where import Propellor.DotDir import Propellor.Message @@ -30,8 +31,8 @@ import Control.Monad.IfElse import Control.Applicative import Prelude -main :: IO () -main = withConcurrentOutput $ do +runWrapper :: IO () +runWrapper = withConcurrentOutput $ do useFileSystemEncoding go =<< getArgs where |
