Safe Haskell | None |
---|---|
Language | Haskell98 |
Propellor.Types.OS
- data System = System Distribution Architecture
- data Distribution
- data TargetOS
- data DebianKernel
- data DebianSuite
- data FreeBSDRelease
- data FBSDVersion
- isStable :: DebianSuite -> Bool
- type Release = String
- data Architecture
- architectureToDebianArchString :: Architecture -> String
- type HostName = String
- type UserName = String
- newtype User = User UserName
- newtype Group = Group String
- userGroup :: User -> Group
- newtype Port = Port Int
- fromPort :: Port -> String
- systemToTargetOS :: System -> TargetOS
Documentation
High level description of a operating system.
Constructors
System Distribution Architecture |
data Distribution Source
Constructors
Debian DebianKernel DebianSuite | |
Buntish Release | A well-known Debian derivative founded by a space tourist. The actual name of this distribution is not used in Propellor per http://joeyh.name/blog/entry/trademark_nonsense/ |
FreeBSD FreeBSDRelease |
Instances
Eq Distribution Source | |
Show Distribution Source |
Properties can target one or more OS's; the targets are part of the type of the property, so need to be kept fairly simple.
Instances
Eq TargetOS Source | |
Ord TargetOS Source | |
Show TargetOS Source | |
type EqT TargetOS OSDebian OSDebian = True Source | |
type EqT TargetOS OSDebian OSBuntish = False Source | |
type EqT TargetOS OSDebian OSFreeBSD = False Source | |
type EqT TargetOS OSBuntish OSDebian = False Source | |
type EqT TargetOS OSBuntish OSBuntish = True Source | |
type EqT TargetOS OSBuntish OSFreeBSD = False Source | |
type EqT TargetOS OSFreeBSD OSDebian = False Source | |
type EqT TargetOS OSFreeBSD OSBuntish = False Source | |
type EqT TargetOS OSFreeBSD OSFreeBSD = True Source |
data DebianKernel Source
Most of Debian ports are based on Linux. There also exist hurd-i386, kfreebsd-i386, kfreebsd-amd64 ports
Instances
Eq DebianKernel Source | |
Show DebianKernel Source |
data DebianSuite Source
Debian has several rolling suites, and a number of stable releases, such as Stable "jessie".
Constructors
Experimental | |
Unstable | |
Testing | |
Stable Release |
Instances
Eq DebianSuite Source | |
Show DebianSuite Source |
data FreeBSDRelease Source
FreeBSD breaks their releases into Production and Legacy.
Constructors
FBSDProduction FBSDVersion | |
FBSDLegacy FBSDVersion |
Instances
Eq FreeBSDRelease Source | |
Show FreeBSDRelease Source |
data FBSDVersion Source
Instances
Eq FBSDVersion Source | |
Show FBSDVersion Source | |
IsString FBSDVersion Source |
isStable :: DebianSuite -> Bool Source
data Architecture Source
Many of these architecture names are based on the names used by Debian, with a few exceptions for clarity.
Constructors
X86_64 | 64 bit Intel, called "amd64" in Debian |
X86_32 | 32 bit Intel, called "i386" in Debian |
ARMHF | |
ARMEL | |
PPC | |
PPC64 | |
SPARC | |
SPARC64 | |
MIPS | |
MIPSEL | |
MIPS64EL | |
SH4 | |
IA64 | Itanium |
S390 | |
S390X | |
ALPHA | |
HPPA | |
M68K | |
ARM64 | |
X32 | New Linux ABI for 64 bit CPUs using 32-bit integers. Not widely used. |
Instances
Eq Architecture Source | |
Show Architecture Source |
architectureToDebianArchString :: Architecture -> String Source
type HostName = String
Constructors
Group String |
Constructors
Port Int |
Instances
Eq Port Source | |
Show Port Source | |
Publishable Port Source | |
Publishable (Bound Port) Source | |
Publishable (Bound Port) Source | |
Publishable (Proto, Bound Port) Source |
systemToTargetOS :: System -> TargetOS Source