cabal-version: 2.4 name: b9 version: 2.1.0 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 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, 2017, 2018, 2019, 2020 Sven Heyll category: Development build-type: Simple extra-source-files: README.md , .gitignore , CONTRIBUTORS , CONTRIBUTING.md , CODE_OF_CONDUCT.md , CHANGELOG.md common b9Deps build-depends: QuickCheck >= 2.5 && < 3 , aeson == 1.4.* , base >= 4.12 && < 5 , binary == 0.8.* , bytestring >= 0.10.8 && < 1 , containers >= 0.6 && < 1 , directory >= 1.3 && < 2 , extensible-effects == 5.* , filepath == 1.4.* , hspec == 2.7.* , hspec-expectations == 0.8.* , lens == 4.* , neat-interpolation >= 0.3 && < 1 , optparse-applicative >= 0.13 && < 1 , process >= 1.4 && < 2 , shake >= 0.17.6 && < 0.19 , text == 1.2.* , unordered-containers >= 0.2 && < 1 , vector >= 0.11 && < 1 , yaml >= 0.8 && < 1 common b9Extensions other-extensions: OverloadedStrings default-extensions: ConstraintKinds , CPP , DataKinds , DeriveDataTypeable , DeriveFunctor , DeriveGeneric , ExplicitNamespaces , FlexibleContexts , GADTs , GeneralizedNewtypeDeriving , KindSignatures , MonoLocalBinds , MultiParamTypeClasses , RankNTypes , ScopedTypeVariables , StandaloneDeriving , TemplateHaskell , TupleSections , TypeFamilies , TypeOperators default-language: Haskell2010 ghc-options: -Wall -fwarn-unused-binds -fno-warn-unused-do-bind source-repository head type: git location: git://github.com/sheyll/b9-vm-image-builder.git library import: b9Extensions, b9Deps hs-source-dirs: src/lib exposed-modules: B9 , B9.Artifact , B9.Artifact.Content , B9.Artifact.Content.AST , B9.Artifact.Content.CloudConfigYaml , B9.Artifact.Content.ErlTerms , B9.Artifact.Content.ErlangPropList , B9.Artifact.Content.Readable , B9.Artifact.Content.StringTemplate , B9.Artifact.Content.YamlObject , B9.Artifact.Readable , B9.Artifact.Readable.Interpreter , B9.Artifact.Readable.Source , B9.B9Config , B9.B9Config.Container , B9.B9Config.Docker , B9.B9Config.LibVirtLXC , B9.B9Config.Podman , B9.B9Config.Repository , B9.B9Config.SystemdNspawn , B9.B9Error , B9.B9Exec , B9.B9Logging , B9.B9Monad , B9.BuildInfo , B9.Container , B9.DiskImageBuilder , B9.DiskImages , B9.Docker , B9.Environment , B9.ExecEnv , B9.LibVirtLXC , B9.MBR , B9.PartitionTable , B9.Podman , B9.QCUtil , B9.Repository , B9.RepositoryIO , B9.Shake , B9.Shake.Actions , B9.Shake.SharedImageRules , B9.ShellScript , B9.SystemdNspawn , B9.Text , B9.Vm , B9.VmBuilder , Data.ConfigFile.B9Extras , System.IO.B9Extras other-modules: Paths_b9 autogen-modules: Paths_b9 build-depends: ConfigFile >= 1.1.4 && < 1.2 , async == 2.* , base64-bytestring == 1.* , bifunctors == 5.* , boxes == 0.1.* , conduit == 1.* , conduit-extra == 1.* , exceptions == 0.10.* , free >= 4.12 && < 6 , hashable == 1.2.* , monad-control == 1.* , mtl == 2.* , parallel >= 3.2 && < 4 , parsec >= 3.1 && < 4 , pretty >= 1.1 && < 2 , pretty-show >= 1.6 && < 2 , random >= 1.1 && < 2 , syb >= 0.6 && < 1 , tagged >= 0.8 && < 0.9 , template >= 0.2 && < 1 , time >= 1.6 && < 2 , transformers >= 0.5 && < 1 executable b9c import: b9Extensions, b9Deps main-is: Main.hs other-modules: Paths_b9 autogen-modules: Paths_b9 build-depends: b9 hs-source-dirs: src/cli ghc-options: -Wall -fwarn-unused-binds -fno-warn-unused-do-bind -threaded test-suite spec import: b9Extensions, b9Deps type: exitcode-stdio-1.0 ghc-options: -Wall -threaded hs-source-dirs: src/tests main-is: Spec.hs autogen-modules: Paths_b9 other-modules: B9.ArtifactGeneratorImplSpec , B9.B9ConfigSpec , B9.B9ExecSpec , B9.Content.ErlTermsSpec , B9.Content.ErlangPropListSpec , B9.Content.YamlObjectSpec , B9.DiskImagesSpec , B9.DiskImageBuilderSpec , B9.EnvironmentSpec , B9.RepositoryIOSpec , B9.RepositorySpec , B9.Shake.SharedImageRulesSpec , Paths_b9 build-depends: b9