debian-4.0.2: Modules for working with the Debian package system

Safe HaskellNone
LanguageHaskell98

Debian.Relation

Contents

Description

A module for working with debian relationships http://www.debian.org/doc/debian-policy/ch-relationships.html

Synopsis

Types

class Pretty (PP a) => PkgName a where Source #

newtype SrcPkgName Source #

Constructors

SrcPkgName 

Fields

Instances
Eq SrcPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Data SrcPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcPkgName -> c SrcPkgName #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcPkgName #

toConstr :: SrcPkgName -> Constr #

dataTypeOf :: SrcPkgName -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcPkgName) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcPkgName) #

gmapT :: (forall b. Data b => b -> b) -> SrcPkgName -> SrcPkgName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcPkgName -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcPkgName -> r #

gmapQ :: (forall d. Data d => d -> u) -> SrcPkgName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcPkgName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcPkgName -> m SrcPkgName #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcPkgName -> m SrcPkgName #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcPkgName -> m SrcPkgName #

Ord SrcPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Read SrcPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Show SrcPkgName Source # 
Instance details

Defined in Debian.Relation.Common

PkgName SrcPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Pretty (PP SrcPkgName) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP SrcPkgName -> Doc #

newtype BinPkgName Source #

Constructors

BinPkgName 

Fields

Instances
Eq BinPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Data BinPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BinPkgName -> c BinPkgName #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BinPkgName #

toConstr :: BinPkgName -> Constr #

dataTypeOf :: BinPkgName -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BinPkgName) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BinPkgName) #

gmapT :: (forall b. Data b => b -> b) -> BinPkgName -> BinPkgName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BinPkgName -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BinPkgName -> r #

gmapQ :: (forall d. Data d => d -> u) -> BinPkgName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BinPkgName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BinPkgName -> m BinPkgName #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BinPkgName -> m BinPkgName #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BinPkgName -> m BinPkgName #

Ord BinPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Read BinPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Show BinPkgName Source # 
Instance details

Defined in Debian.Relation.Common

PkgName BinPkgName Source # 
Instance details

Defined in Debian.Relation.Common

Pretty (PP BinPkgName) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP BinPkgName -> Doc #

data Relation Source #

Instances
Eq Relation Source # 
Instance details

Defined in Debian.Relation.Common

Ord Relation Source # 
Instance details

Defined in Debian.Relation.Common

Read Relation Source # 
Instance details

Defined in Debian.Relation.Common

Show Relation Source # 
Instance details

Defined in Debian.Relation.Common

Pretty (PP Relation) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP Relation -> Doc #

Pretty (PP OrRelation) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP OrRelation -> Doc #

Pretty (PP Relations) Source #

Wrap PP around type synonyms that might overlap with the `Pretty [a]` instance.

Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP Relations -> Doc #

data Arch Source #

Constructors

Source 
All 
Binary ArchOS ArchCPU 
Instances
Eq Arch Source # 
Instance details

Defined in Debian.Arch

Methods

(==) :: Arch -> Arch -> Bool #

(/=) :: Arch -> Arch -> Bool #

Data Arch Source # 
Instance details

Defined in Debian.Arch

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arch -> c Arch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Arch #

toConstr :: Arch -> Constr #

dataTypeOf :: Arch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Arch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Arch) #

gmapT :: (forall b. Data b => b -> b) -> Arch -> Arch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r #

gmapQ :: (forall d. Data d => d -> u) -> Arch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Arch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

Ord Arch Source # 
Instance details

Defined in Debian.Arch

Methods

compare :: Arch -> Arch -> Ordering #

(<) :: Arch -> Arch -> Bool #

(<=) :: Arch -> Arch -> Bool #

(>) :: Arch -> Arch -> Bool #

(>=) :: Arch -> Arch -> Bool #

max :: Arch -> Arch -> Arch #

min :: Arch -> Arch -> Arch #

Read Arch Source # 
Instance details

Defined in Debian.Arch

Show Arch Source # 
Instance details

Defined in Debian.Arch

Methods

showsPrec :: Int -> Arch -> ShowS #

show :: Arch -> String #

showList :: [Arch] -> ShowS #

data ArchOS Source #

Constructors

ArchOS String 
ArchOSAny 
Instances
Eq ArchOS Source # 
Instance details

Defined in Debian.Arch

Methods

(==) :: ArchOS -> ArchOS -> Bool #

(/=) :: ArchOS -> ArchOS -> Bool #

Data ArchOS Source # 
Instance details

Defined in Debian.Arch

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArchOS -> c ArchOS #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArchOS #

toConstr :: ArchOS -> Constr #

dataTypeOf :: ArchOS -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArchOS) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArchOS) #

gmapT :: (forall b. Data b => b -> b) -> ArchOS -> ArchOS #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArchOS -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArchOS -> r #

gmapQ :: (forall d. Data d => d -> u) -> ArchOS -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ArchOS -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArchOS -> m ArchOS #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArchOS -> m ArchOS #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArchOS -> m ArchOS #

Ord ArchOS Source # 
Instance details

Defined in Debian.Arch

Read ArchOS Source # 
Instance details

Defined in Debian.Arch

Show ArchOS Source # 
Instance details

Defined in Debian.Arch

data ArchCPU Source #

Constructors

ArchCPU String 
ArchCPUAny 
Instances
Eq ArchCPU Source # 
Instance details

Defined in Debian.Arch

Methods

(==) :: ArchCPU -> ArchCPU -> Bool #

(/=) :: ArchCPU -> ArchCPU -> Bool #

Data ArchCPU Source # 
Instance details

Defined in Debian.Arch

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArchCPU -> c ArchCPU #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArchCPU #

toConstr :: ArchCPU -> Constr #

dataTypeOf :: ArchCPU -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArchCPU) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArchCPU) #

gmapT :: (forall b. Data b => b -> b) -> ArchCPU -> ArchCPU #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArchCPU -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArchCPU -> r #

gmapQ :: (forall d. Data d => d -> u) -> ArchCPU -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ArchCPU -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArchCPU -> m ArchCPU #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArchCPU -> m ArchCPU #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArchCPU -> m ArchCPU #

Ord ArchCPU Source # 
Instance details

Defined in Debian.Arch

Read ArchCPU Source # 
Instance details

Defined in Debian.Arch

Show ArchCPU Source # 
Instance details

Defined in Debian.Arch

data VersionReq Source #

Instances
Eq VersionReq Source # 
Instance details

Defined in Debian.Relation.Common

Ord VersionReq Source #

The sort order is based on version number first, then on the kind of relation, sorting in the order

Instance details

Defined in Debian.Relation.Common

Read VersionReq Source # 
Instance details

Defined in Debian.Relation.Common

Show VersionReq Source # 
Instance details

Defined in Debian.Relation.Common

Pretty (PP VersionReq) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP VersionReq -> Doc #

Helper Functions

checkVersionReq :: Maybe VersionReq -> Maybe DebianVersion -> Bool Source #

Check if a version number satisfies a version requirement.

Relation Parser

class ParseRelations a where Source #

Methods

parseRelations :: a -> Either ParseError Relations Source #

parseRelations parse a debian relation (i.e. the value of a Depends field). Return a parsec error or a value of type Relations