b9 0.5.21 → 0.5.30
raw patch · 11 files changed
+191/−209 lines, 11 filesdep ~ConfigFiledep ~QuickCheckdep ~aesonPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: ConfigFile, QuickCheck, aeson, async, b9, base, bifunctors, binary, boxes, bytestring, conduit, conduit-extra, directory, filepath, free, hashable, hspec, hspec-expectations, mtl, optparse-applicative, parallel, parsec, pretty, pretty-show, process, random, semigroups, syb, template, text, time, transformers, unordered-containers, vector, yaml
API changes (from Hackage documentation)
- B9.ArtifactGeneratorImpl: instance Control.Monad.Trans.Error.Error B9.ArtifactGeneratorImpl.CGError
- B9.Content.AST: instance (Data.Data.Data c, Data.Data.Data a) => Data.Data.Data (B9.Content.AST.AST c a)
- B9.Content.AST: instance (GHC.Classes.Eq c, GHC.Classes.Eq a) => GHC.Classes.Eq (B9.Content.AST.AST c a)
- B9.Content.AST: instance (GHC.Read.Read c, GHC.Read.Read a) => GHC.Read.Read (B9.Content.AST.AST c a)
- B9.Content.AST: instance (GHC.Show.Show c, GHC.Show.Show a) => GHC.Show.Show (B9.Content.AST.AST c a)
+ B9.Content.AST: instance (Data.Data.Data a, Data.Data.Data c) => Data.Data.Data (B9.Content.AST.AST c a)
+ B9.Content.AST: instance (GHC.Classes.Eq a, GHC.Classes.Eq c) => GHC.Classes.Eq (B9.Content.AST.AST c a)
+ B9.Content.AST: instance (GHC.Read.Read a, GHC.Read.Read c) => GHC.Read.Read (B9.Content.AST.AST c a)
+ B9.Content.AST: instance (GHC.Show.Show a, GHC.Show.Show c) => GHC.Show.Show (B9.Content.AST.AST c a)
- B9.ConfigUtils: getOptionM :: (Get_C a, Read a) => ConfigParser -> SectionSpec -> OptionSpec -> Maybe a
+ B9.ConfigUtils: getOptionM :: (Read a) => ConfigParser -> SectionSpec -> OptionSpec -> Maybe a
- B9.ConfigUtils: getOptionOr :: (Get_C a, Read a) => ConfigParser -> SectionSpec -> OptionSpec -> a -> a
+ B9.ConfigUtils: getOptionOr :: (Get_C a) => ConfigParser -> SectionSpec -> OptionSpec -> a -> a
Files
- b9.cabal +170/−196
- src/lib/B9/ArtifactGeneratorImpl.hs +2/−2
- src/lib/B9/B9Config.hs +1/−1
- src/lib/B9/ConfigUtils.hs +2/−2
- src/lib/B9/Content/AST.hs +1/−1
- src/lib/B9/Content/ErlTerms.hs +0/−3
- src/lib/B9/DiskImageBuilder.hs +2/−2
- src/lib/B9/LibVirtLXC.hs +1/−1
- src/lib/B9/RepositoryIO.hs +1/−1
- stack-lts-5.14.yaml +5/−0
- stack.yaml +6/−0
b9.cabal view
@@ -1,204 +1,178 @@-name: b9-version: 0.5.21--synopsis: A tool and library for building virtual machine images.--description: Build virtual machine images for vm-deployments; resize,- un-partition, create from scratch or convert disk image- files in a variety of formats; assemble and generate all- associated files from templates and regular files.--- VM images can further be modifed through scripts, which are- executed in LXC containers into which the vm-images as well- as arbitrary directories from the host are mounted.--- All assembled files can also be accessed by vm build- scripts through a special directory mounted in the build- container, and/or can be written to directories, ISO- or- VFAT-images.--- The ISO/VFAT images that B9 creates are compatible to- 'cloud-init's 'NoCloud' data source;--- B9 is also very well suited for compiling in a- containerized environment. For these applications, the- images can be marked as 'Transient' to indicate no further- interest in the VM-image itself, and B9 will discard them- after the build.--- B9 will never over-write source files, not even large- vm-image files - there is no intended way to modify a- source vm-image file 'in-place'.--- B9 operates in random build directories, which are- discarded when the build exists.--license: MIT-license-file: LICENSE-author: Sven Heyll <svh@posteo.de>-maintainer: svh@posteo.de-homepage: https://github.com/sheyll/b9-vm-image-builder-bug-reports: https://github.com/sheyll/b9-vm-image-builder/issues-copyright: 2015, 2016 Sven Heyll <svh@posteo.de>-category: Development-build-type: Simple-extra-source-files: README.md, build_and_test.sh, build_haddock.sh,- LICENSE, TODO.org, Setup.hs, b9.cabal, .gitignore, prepare_release.sh, .travis.yml, CONTRIBUTORS-cabal-version: >=1.10+name: b9+version: 0.5.30+cabal-version: >=1.22+build-type: Simple+license: MIT+license-file: LICENSE+copyright: 2015, 2016 Sven Heyll <svh@posteo.de>+maintainer: svh@posteo.de+homepage: https://github.com/sheyll/b9-vm-image-builder+bug-reports: https://github.com/sheyll/b9-vm-image-builder/issues+synopsis: A tool and library for building virtual machine images.+description:+ Build virtual machine images for vm-deployments; resize,+ un-partition, create from scratch or convert disk image+ files in a variety of formats; assemble and generate all+ associated files from templates and regular files.+ VM images can further be modifed through scripts, which are+ executed in LXC containers into which the vm-images as well+ as arbitrary directories from the host are mounted.+ All assembled files can also be accessed by vm build+ scripts through a special directory mounted in the build+ container, and/or can be written to directories, ISO- or+ VFAT-images.+ The ISO/VFAT images that B9 creates are compatible to+ 'cloud-init's 'NoCloud' data source;+ B9 is also very well suited for compiling in a+ containerized environment. For these applications, the+ images can be marked as 'Transient' to indicate no further+ interest in the VM-image itself, and B9 will discard them+ after the build.+ B9 will never over-write source files, not even large+ vm-image files - there is no intended way to modify a+ source vm-image file 'in-place'.+ B9 operates in random build directories, which are+ discarded when the build exists.+category: Development+author: Sven Heyll <svh@posteo.de>+extra-source-files:+ README.md+ build_and_test.sh+ build_haddock.sh+ LICENSE+ TODO.org+ Setup.hs+ b9.cabal+ .gitignore+ prepare_release.sh+ stack.yaml+ stack-lts-5.14.yaml+ .travis.yml+ CONTRIBUTORS source-repository head- type: git- location: git://github.com/sheyll/b9-vm-image-builder.git+ type: git+ location: git://github.com/sheyll/b9-vm-image-builder.git library- exposed-modules: B9- , B9.B9Monad- , B9.B9Config- , B9.Builder- , B9.ConfigUtils- , B9.ExecEnv- , B9.DiskImages- , B9.DiskImageBuilder- , B9.ShellScript- , B9.PartitionTable- , B9.MBR- , B9.LibVirtLXC- , B9.Repository- , B9.RepositoryIO- , B9.ArtifactGenerator- , B9.ArtifactGeneratorImpl- , B9.Vm- , B9.VmBuilder- , B9.Content.ErlTerms- , B9.Content.ErlangPropList- , B9.Content.YamlObject- , B9.Content.AST- , B9.Content.Generator- , B9.Content.StringTemplate- , B9.QCUtil- , B9.DSL- other-modules: Paths_b9- -- other-extensions:- build-depends: ConfigFile- , QuickCheck- , aeson- , async- , base >= 4.7 && < 5- , binary- , bytestring- , conduit- , conduit-extra- , directory- , filepath- , hashable- , mtl- , time >= 1.5.0 && < 2- , parallel- , parsec- , pretty-show- , pretty- , process- , random- , semigroups- , syb- , template- , text- , transformers- , unordered-containers- , vector- , yaml- , bifunctors- , free- , boxes- default-extensions: TupleSections- , GeneralizedNewtypeDeriving- , DeriveDataTypeable- , DeriveGeneric- , RankNTypes- , FlexibleContexts- , GADTs- , DataKinds- , KindSignatures- , TypeFamilies- , DeriveFunctor- , TemplateHaskell- , StandaloneDeriving- , CPP- hs-source-dirs: src/lib- default-language: Haskell2010- ghc-options: -Wall- -fwarn-unused-binds -fno-warn-unused-do-bind- if impl(ghc >= 7.8.2) && impl(ghc <= 7.10)- ghc-options: -fno-warn-amp+ + if (impl(ghc >=7.8.2) && impl(ghc <=7.10))+ ghc-options: -fno-warn-amp+ exposed-modules:+ B9+ B9.B9Monad+ B9.B9Config+ B9.Builder+ B9.ConfigUtils+ B9.ExecEnv+ B9.DiskImages+ B9.DiskImageBuilder+ B9.ShellScript+ B9.PartitionTable+ B9.MBR+ B9.LibVirtLXC+ B9.Repository+ B9.RepositoryIO+ B9.ArtifactGenerator+ B9.ArtifactGeneratorImpl+ B9.Vm+ B9.VmBuilder+ B9.Content.ErlTerms+ B9.Content.ErlangPropList+ B9.Content.YamlObject+ B9.Content.AST+ B9.Content.Generator+ B9.Content.StringTemplate+ B9.QCUtil+ B9.DSL+ build-depends:+ ConfigFile >=1.1.4,+ QuickCheck >=2.5,+ aeson >=0.11.2.1,+ async >=2.1.0,+ base >=4.8 && <5,+ binary >=0.8.3.0,+ bytestring >=0.10.8.1,+ conduit >=1.2.8,+ conduit-extra >=1.1.15,+ directory >=1.2.6.2,+ filepath >=1.4.1.0,+ hashable >=1.2.4.0,+ mtl >=2.2.1,+ time >=1.6.0.1,+ parallel >=3.2.1.0,+ parsec >=3.1.11,+ pretty-show >=1.6.12,+ pretty >=1.1.3.3,+ process >=1.4.2.0,+ random >=1.1,+ semigroups >=0.18.2,+ syb >=0.6,+ template >=0.2.0.10,+ text >=1.2.2.1,+ transformers >=0.5.2.0,+ unordered-containers >=0.2.7.1,+ vector >=0.11.0.0,+ yaml >=0.8.20,+ bifunctors >=5.4.1,+ free >=4.12.4,+ boxes >=0.1.4+ default-language: Haskell2010+ default-extensions: TupleSections GeneralizedNewtypeDeriving+ DeriveDataTypeable DeriveGeneric RankNTypes FlexibleContexts GADTs+ DataKinds KindSignatures TypeFamilies DeriveFunctor TemplateHaskell+ StandaloneDeriving CPP+ hs-source-dirs: src/lib+ other-modules:+ Paths_b9+ ghc-options: -Wall -fwarn-unused-binds -fno-warn-unused-do-bind executable b9c- main-is: Main.hs- -- other-modules:- -- other-extensions:- build-depends: b9- , base >= 4.7 && < 5- , directory- , bytestring- , optparse-applicative- hs-source-dirs: src/cli- default-language: Haskell2010- default-extensions: TupleSections- , GeneralizedNewtypeDeriving- , DeriveDataTypeable- , RankNTypes- , FlexibleContexts- , GADTs- , DataKinds- , KindSignatures- , TypeFamilies- , DeriveFunctor- , TemplateHaskell- , CPP- ghc-options: -threaded -with-rtsopts=-N -Wall- -fwarn-unused-binds -fno-warn-unused-do-bind- if impl(ghc >= 7.8.2) && impl(ghc <= 7.10)- ghc-options: -fno-warn-amp+ + if (impl(ghc >=7.8.2) && impl(ghc <=7.10))+ ghc-options: -fno-warn-amp+ main-is: Main.hs+ build-depends:+ b9 >=0.5.30,+ base >=4.8 && <5,+ directory >=1.2.6.2,+ bytestring >=0.10.8.1,+ optparse-applicative >=0.12.1.0+ default-language: Haskell2010+ default-extensions: TupleSections GeneralizedNewtypeDeriving+ DeriveDataTypeable RankNTypes FlexibleContexts GADTs DataKinds+ KindSignatures TypeFamilies DeriveFunctor TemplateHaskell CPP+ hs-source-dirs: src/cli+ ghc-options: -threaded -with-rtsopts=-N -Wall -fwarn-unused-binds -fno-warn-unused-do-bind test-suite spec- type: exitcode-stdio-1.0- ghc-options: -Wall- hs-source-dirs: src/tests- default-language: Haskell2010- main-is: Spec.hs- other-modules: B9.Content.ErlTermsSpec- , B9.Content.ErlangPropListSpec- , B9.Content.YamlObjectSpec- , B9.ArtifactGeneratorImplSpec- , B9.DiskImagesSpec- build-depends: base >= 4.7 && < 5- , b9- , hspec- , hspec-expectations- , QuickCheck- , aeson- , yaml- , vector- , unordered-containers- , bytestring- , text- , semigroups- default-extensions: TupleSections- , GeneralizedNewtypeDeriving- , DeriveDataTypeable- , RankNTypes- , FlexibleContexts- , GADTs- , DataKinds- , KindSignatures- , TypeFamilies- , DeriveFunctor- , TemplateHaskell- , CPP- if impl(ghc >= 7.8.2) && impl(ghc <= 7.10)- ghc-options: -fno-warn-amp -fno-warn-unused-do-bind+ + if (impl(ghc >=7.8.2) && impl(ghc <=7.10))+ ghc-options: -fno-warn-amp -fno-warn-unused-do-bind+ type: exitcode-stdio-1.0+ main-is: Spec.hs+ build-depends:+ base >=4.8 && <5,+ b9 >=0.5.30,+ hspec >=2.2.4,+ hspec-expectations >=0.7.2,+ QuickCheck >=2.8.2,+ aeson >=0.11.2.1,+ yaml >=0.8.20,+ vector >=0.11.0.0,+ unordered-containers >=0.2.7.1,+ bytestring >=0.10.8.1,+ text >=1.2.2.1,+ semigroups >=0.18.2+ default-language: Haskell2010+ default-extensions: TupleSections GeneralizedNewtypeDeriving+ DeriveDataTypeable RankNTypes FlexibleContexts GADTs DataKinds+ KindSignatures TypeFamilies DeriveFunctor TemplateHaskell CPP+ hs-source-dirs: src/tests+ other-modules:+ B9.Content.ErlTermsSpec+ B9.Content.ErlangPropListSpec+ B9.Content.YamlObjectSpec+ B9.ArtifactGeneratorImplSpec+ B9.DiskImagesSpec+ ghc-options: -Wall
src/lib/B9/ArtifactGeneratorImpl.hs view
@@ -26,7 +26,7 @@ import Control.Monad.IO.Class import Control.Monad.Reader import Control.Monad.Writer-import Control.Monad.Error+import Control.Monad.Except import System.FilePath import System.Directory import Text.Printf@@ -167,7 +167,7 @@ deriving (Read, Show, Typeable, Data, Eq) newtype CGError = CGError String- deriving (Read, Show, Typeable, Data, Eq, Error)+ deriving (Read, Show, Typeable, Data, Eq) cgError :: String -> CGParser a cgError msg = throwError (CGError msg)
src/lib/B9/B9Config.hs view
@@ -162,7 +162,7 @@ parseB9Config :: ConfigParser -> Either String B9Config parseB9Config cp =- let getr :: (Get_C a, Read a) => OptionSpec -> Either CPError a+ let getr :: (Get_C a) => OptionSpec -> Either CPError a getr = get cp cfgFileSection getB9Config = B9Config <$> getr verbosityK
src/lib/B9/ConfigUtils.hs view
@@ -123,10 +123,10 @@ getOption :: (Get_C a, Monoid a) => ConfigParser -> SectionSpec -> OptionSpec -> a getOption cp sec key = either (const mempty) id $ get cp sec key -getOptionM :: (Get_C a, Read a) => ConfigParser -> SectionSpec -> OptionSpec -> Maybe a+getOptionM :: (Read a) => ConfigParser -> SectionSpec -> OptionSpec -> Maybe a getOptionM cp sec key = either (const Nothing) id $ get cp sec key -getOptionOr :: (Get_C a, Read a) => ConfigParser -> SectionSpec -> OptionSpec -> a -> a+getOptionOr :: (Get_C a) => ConfigParser -> SectionSpec -> OptionSpec -> a -> a getOptionOr cp sec key dv = either (const dv) id $ get cp sec key newtype UUID = UUID (Word32, Word16, Word16, Word16, Word32, Word16)
src/lib/B9/Content/AST.hs view
@@ -32,7 +32,7 @@ #if !MIN_VERSION_base(4,8,0) import Control.Applicative #endif-import Control.Monad.IO.Class+ import Control.Monad.Reader import B9.Content.StringTemplate
src/lib/B9/Content/ErlTerms.hs view
@@ -22,9 +22,6 @@ octDigit, hexDigit, many1, noneOf, try, digit, anyChar, alphaNum, lower, parse) import Text.Parsec.ByteString--- #if !MIN_VERSION_base(4,8,0)-import Control.Applicative hiding ((<|>), many)--- #endif import Text.Show.Pretty import Control.Monad import Text.Printf
src/lib/B9/DiskImageBuilder.hs view
@@ -29,9 +29,9 @@ import System.FilePath import Text.Printf (printf) import Data.Maybe-import Data.Monoid+ import Data.Function-import Control.Applicative+ import Text.Show.Pretty (ppShow) import Data.List import Data.Data
src/lib/B9/LibVirtLXC.hs view
@@ -180,7 +180,7 @@ readLibVirtConfig = do cp <- getConfigParser- let geto :: (Get_C a, Read a)+ let geto :: (Get_C a) => OptionSpec -> a -> a geto = getOptionOr cp cfgFileSection return
src/lib/B9/RepositoryIO.hs view
@@ -12,7 +12,7 @@ import B9.B9Monad import B9.ConfigUtils -import Control.Applicative+ import Data.List import Control.Monad.IO.Class import System.Directory
+ stack-lts-5.14.yaml view
@@ -0,0 +1,5 @@+flags: {}+packages:+- '.'+extra-deps: []+resolver: lts-5.14
+ stack.yaml view
@@ -0,0 +1,6 @@+flags: {}+packages:+- '.'+extra-deps: []+resolver: lts-7.9+pvp-bounds: lower