propellor-5.10.1: property-based host configuration management in haskell

Safe Haskell | None
Language | Haskell98

Propellor.Property.Debootstrap

Synopsis

- type Url = String
- data DebootstrapConfig
  - = DefaultConfig
  - | MinBase
  - | BuilddD
  - | DebootstrapParam String
  - | UseEmulation
  - | DebootstrapProxy Url
  - | DebootstrapMirror Url
  - | DebootstrapConfig :+ DebootstrapConfig
- built :: FilePath -> System -> DebootstrapConfig -> Property Linux
- built' :: Property Linux -> FilePath -> System -> DebootstrapConfig -> Property Linux
- extractSuite :: System -> Maybe String
- installed :: RevertableProperty Linux Linux
- sourceInstall :: Property Linux

# Documentation

type Url = String Source #

data DebootstrapConfig Source #

A data type for debootstrap configuration. mempty is a default debootstrapped system.

Constructors

DefaultConfig |
MinBase |
BuilddD |
DebootstrapParam String |
UseEmulation |
DebootstrapProxy Url |
DebootstrapMirror Url |
DebootstrapConfig :+ DebootstrapConfig |

Instances

Show DebootstrapConfig Source # |
Instance details Defined in Propellor.Property.Debootstrap Methods showsPrec :: Int -> DebootstrapConfig -> ShowS show :: DebootstrapConfig -> String showList :: [DebootstrapConfig] -> ShowS
Semigroup DebootstrapConfig Source # |
Instance details Defined in Propellor.Property.Debootstrap Methods (<>) :: DebootstrapConfig -> DebootstrapConfig -> DebootstrapConfig # sconcat :: NonEmpty DebootstrapConfig -> DebootstrapConfig stimes :: Integral b => b -> DebootstrapConfig -> DebootstrapConfig
Monoid DebootstrapConfig Source # |
Instance details Defined in Propellor.Property.Debootstrap Methods mempty :: DebootstrapConfig # mappend :: DebootstrapConfig -> DebootstrapConfig -> DebootstrapConfig # mconcat :: [DebootstrapConfig] -> DebootstrapConfig #

built :: FilePath -> System -> DebootstrapConfig -> Property Linux Source #

Builds a chroot in the given directory using debootstrap.

The System can be any OS and architecture that debootstrap and the kernel support.

When the System is architecture that the kernel does not support, it can still be bootstrapped using emulation. This is determined by checking `supportsArch`, or can be configured with `UseEmulation`.

When emulation is used, the chroot will have an additional binary installed in it. To get a completelty clean chroot (eg for producing a bootable disk image), use the `removeHostEmulationBinary` property.

built' :: Property Linux -> FilePath -> System -> DebootstrapConfig -> Property Linux Source #

Like `built`, but uses the provided Property to install debootstrap.

extractSuite :: System -> Maybe String Source #

installed :: RevertableProperty Linux Linux Source #

Ensures debootstrap is installed.

When necessary, falls back to installing debootstrap from source. Note that installation from source is done by downloading the tarball from a Debian mirror, with no cryptographic verification.

sourceInstall :: Property Linux Source #