2014-04-13 19:34:01 +00:00
|
|
|
module Propellor.Types.OS where
|
|
|
|
|
|
|
|
type UserName = String
|
|
|
|
type GroupName = String
|
|
|
|
|
|
|
|
-- | High level descritption of a operating system.
|
|
|
|
data System = System Distribution Architecture
|
|
|
|
deriving (Show, Eq)
|
|
|
|
|
|
|
|
data Distribution
|
|
|
|
= Debian DebianSuite
|
|
|
|
| Ubuntu Release
|
|
|
|
deriving (Show, Eq)
|
|
|
|
|
|
|
|
data DebianSuite = Experimental | Unstable | Testing | Stable | DebianRelease Release
|
|
|
|
deriving (Show, Eq)
|
|
|
|
|
2014-04-13 21:50:44 +00:00
|
|
|
-- | The release that currently corresponds to stable.
|
|
|
|
stableRelease :: DebianSuite
|
|
|
|
stableRelease = DebianRelease "wheezy"
|
|
|
|
|
|
|
|
isStable :: DebianSuite -> Bool
|
|
|
|
isStable s = s == Stable || s == stableRelease
|
|
|
|
|
2014-04-13 19:34:01 +00:00
|
|
|
type Release = String
|
|
|
|
type Architecture = String
|