module Debian.Debianize.Types
( PackageInfo(..)
, Site(..)
, Server(..)
, InstallFile(..)
, VersionSplits(..)
, DebType(..)
, DebAction(..)
) where
import Data.Version (Version)
import Debian.Orphans ()
import Debian.Relation (BinPkgName)
import Debian.Version (DebianVersion)
import Distribution.Package (PackageName)
import Prelude hiding (init, unlines, log)
data PackageInfo = PackageInfo { cabalName :: PackageName
, devDeb :: Maybe (BinPkgName, DebianVersion)
, profDeb :: Maybe (BinPkgName, DebianVersion)
, docDeb :: Maybe (BinPkgName, DebianVersion) } deriving (Eq, Ord, Show)
data Site
= Site
{ domain :: String
, serverAdmin :: String
, server :: Server
} deriving (Read, Show, Eq, Ord)
data Server
= Server
{ hostname :: String
, port :: Int
, headerMessage :: String
, retry :: String
, serverFlags :: [String]
, installFile :: InstallFile
} deriving (Read, Show, Eq, Ord)
data InstallFile
= InstallFile
{ execName :: String
, sourceDir :: Maybe FilePath
, destDir :: Maybe FilePath
, destName :: String
} deriving (Read, Show, Eq, Ord)
data VersionSplits
= VersionSplits {
packageName :: PackageName
, oldestPackage :: PackageName
, splits :: [(Version, PackageName)]
} deriving (Eq, Ord, Show)
data DebAction = Usage | Debianize | SubstVar DebType deriving (Read, Show, Eq, Ord)
data DebType = Dev | Prof | Doc deriving (Eq, Ord, Read, Show)