packages feed

debian 3.87.2 → 3.88

raw patch · 5 files changed

+55/−11 lines, 5 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Debian.Apt.Dependencies: conflicts :: CSP a -> a -> Relations
- Debian.Apt.Dependencies: depFunction :: CSP a -> (a -> Relations)
- Debian.Apt.Dependencies: instance Eq Status
- Debian.Apt.Dependencies: packageVersion :: CSP a -> a -> (BinPkgName, DebianVersion)
- Debian.Apt.Dependencies: pnm :: CSP a -> PackageNameMap a
- Debian.Apt.Dependencies: relations :: CSP a -> Relations
- Debian.Apt.Index: instance Bounded Compression
- Debian.Apt.Index: instance Enum Compression
- Debian.Apt.Index: instance Eq CheckSums
- Debian.Apt.Index: instance Eq Compression
- Debian.Apt.Index: instance Ord Compression
- Debian.Apt.Index: instance Read CheckSums
- Debian.Apt.Index: instance Read Compression
- Debian.Apt.Index: instance Show CheckSums
- Debian.Apt.Index: instance Show Compression
- Debian.Apt.Index: md5sum :: CheckSums -> Maybe String
- Debian.Apt.Index: sha1 :: CheckSums -> Maybe String
- Debian.Apt.Index: sha256 :: CheckSums -> Maybe String
- Debian.Apt.Methods: authorizationRequiredCB :: FetchCallbacks -> Site -> IO (Maybe (User, Password))
- Debian.Apt.Methods: debugCB :: FetchCallbacks -> String -> IO ()
- Debian.Apt.Methods: filename :: Status -> Maybe FilePath
- Debian.Apt.Methods: generalFailureCB :: FetchCallbacks -> Message -> IO ()
- Debian.Apt.Methods: hashes :: Status -> Hashes
- Debian.Apt.Methods: imsHit :: Status -> Bool
- Debian.Apt.Methods: instance Eq Command
- Debian.Apt.Methods: instance Eq Hashes
- Debian.Apt.Methods: instance Eq Status
- Debian.Apt.Methods: instance Show Command
- Debian.Apt.Methods: instance Show Hashes
- Debian.Apt.Methods: instance Show Status
- Debian.Apt.Methods: lastModified :: Status -> Maybe UTCTime
- Debian.Apt.Methods: localOnly :: Status -> Bool
- Debian.Apt.Methods: logCB :: FetchCallbacks -> Message -> IO ()
- Debian.Apt.Methods: mediaFailureCB :: FetchCallbacks -> Media -> Drive -> IO ()
- Debian.Apt.Methods: message :: Status -> Message
- Debian.Apt.Methods: needsCleanup :: Status -> Bool
- Debian.Apt.Methods: pipeline :: Status -> Bool
- Debian.Apt.Methods: preScan :: Status -> Bool
- Debian.Apt.Methods: resumePoint :: Status -> Maybe Integer
- Debian.Apt.Methods: sendConfig :: Status -> Bool
- Debian.Apt.Methods: singleInstance :: Status -> Bool
- Debian.Apt.Methods: size :: Status -> Maybe Integer
- Debian.Apt.Methods: statusCB :: FetchCallbacks -> URI -> Message -> IO ()
- Debian.Apt.Methods: uri :: Status -> URI
- Debian.Apt.Methods: uriDoneCB :: FetchCallbacks -> URI -> Maybe Integer -> Maybe UTCTime -> Maybe Integer -> Maybe FilePath -> Hashes -> Bool -> IO ()
- Debian.Apt.Methods: uriFailureCB :: FetchCallbacks -> URI -> Message -> IO ()
- Debian.Apt.Methods: uriStartCB :: FetchCallbacks -> URI -> Maybe Integer -> Maybe UTCTime -> Maybe Integer -> IO ()
- Debian.Apt.Methods: version :: Status -> String
- Debian.Arch: instance Data Arch
- Debian.Arch: instance Data ArchCPU
- Debian.Arch: instance Data ArchOS
- Debian.Arch: instance Eq Arch
- Debian.Arch: instance Eq ArchCPU
- Debian.Arch: instance Eq ArchOS
- Debian.Arch: instance Ord Arch
- Debian.Arch: instance Ord ArchCPU
- Debian.Arch: instance Ord ArchOS
- Debian.Arch: instance Read Arch
- Debian.Arch: instance Read ArchCPU
- Debian.Arch: instance Read ArchOS
- Debian.Arch: instance Show Arch
- Debian.Arch: instance Show ArchCPU
- Debian.Arch: instance Show ArchOS
- Debian.Arch: instance Typeable Arch
- Debian.Arch: instance Typeable ArchCPU
- Debian.Arch: instance Typeable ArchOS
- Debian.Changes: changeArch :: ChangesFile -> Arch
- Debian.Changes: changeDir :: ChangesFile -> FilePath
- Debian.Changes: changeEntry :: ChangesFile -> ChangeLogEntry
- Debian.Changes: changeFiles :: ChangesFile -> [ChangedFileSpec]
- Debian.Changes: changeInfo :: ChangesFile -> Paragraph' Text
- Debian.Changes: changePackage :: ChangesFile -> String
- Debian.Changes: changeRelease :: ChangesFile -> ReleaseName
- Debian.Changes: changeVersion :: ChangesFile -> DebianVersion
- Debian.Changes: changedFileMD5sum :: ChangedFileSpec -> String
- Debian.Changes: changedFileName :: ChangedFileSpec -> FilePath
- Debian.Changes: changedFilePriority :: ChangedFileSpec -> String
- Debian.Changes: changedFileSHA1sum :: ChangedFileSpec -> String
- Debian.Changes: changedFileSHA256sum :: ChangedFileSpec -> String
- Debian.Changes: changedFileSection :: ChangedFileSpec -> SubSection
- Debian.Changes: changedFileSize :: ChangedFileSpec -> FileOffset
- Debian.Changes: instance Eq ChangeLog
- Debian.Changes: instance Eq ChangeLogEntry
- Debian.Changes: instance Eq ChangedFileSpec
- Debian.Changes: instance Eq ChangesFile
- Debian.Changes: instance Pretty (PP ChangeLog)
- Debian.Changes: instance Pretty (PP ChangeLogEntry)
- Debian.Changes: instance Pretty (PP ChangedFileSpec)
- Debian.Changes: instance Pretty (PP ChangesFile)
- Debian.Changes: instance Pretty (PP [ChangeLogEntry])
- Debian.Changes: instance Read ChangeLog
- Debian.Changes: instance Read ChangeLogEntry
- Debian.Changes: instance Read ChangedFileSpec
- Debian.Changes: instance Read ChangesFile
- Debian.Changes: instance Show ChangeLog
- Debian.Changes: instance Show ChangeLogEntry
- Debian.Changes: instance Show ChangedFileSpec
- Debian.Changes: instance Show ChangesFile
- Debian.Changes: logComments :: ChangeLogEntry -> String
- Debian.Changes: logDate :: ChangeLogEntry -> String
- Debian.Changes: logDists :: ChangeLogEntry -> [ReleaseName]
- Debian.Changes: logPackage :: ChangeLogEntry -> String
- Debian.Changes: logUrgency :: ChangeLogEntry -> String
- Debian.Changes: logVersion :: ChangeLogEntry -> DebianVersion
- Debian.Changes: logWho :: ChangeLogEntry -> String
- Debian.Control: field :: ControlFileError -> String
- Debian.Control: ioError :: ControlFileError -> IOError
- Debian.Control: locs :: ControlFileError -> [Loc]
- Debian.Control: parseError :: ControlFileError -> ParseError
- Debian.Control: unControl :: Control' a -> [Paragraph' a]
- Debian.Control.ByteString: instance Alternative (Parser state)
- Debian.Control.ByteString: instance Applicative (Parser state)
- Debian.Control.ByteString: instance ControlFunctions ByteString
- Debian.Control.ByteString: instance Functor (Parser state)
- Debian.Control.ByteString: instance Monad (Parser state)
- Debian.Control.ByteString: instance MonadPlus (Parser state)
- Debian.Control.ByteString: instance Show a => Show (Result a)
- Debian.Control.ByteString: unControl :: Control' a -> [Paragraph' a]
- Debian.Control.Common: instance (ControlFunctions a, Pretty (PP a)) => Pretty (Control' a)
- Debian.Control.Common: instance (ControlFunctions a, Pretty (PP a)) => Pretty (Field' a)
- Debian.Control.Common: instance (ControlFunctions a, Pretty (PP a)) => Pretty (Paragraph' a)
- Debian.Control.Common: instance Eq a => Eq (Control' a)
- Debian.Control.Common: instance Eq a => Eq (Field' a)
- Debian.Control.Common: instance Eq a => Eq (Paragraph' a)
- Debian.Control.Common: instance Ord a => Ord (Control' a)
- Debian.Control.Common: instance Ord a => Ord (Field' a)
- Debian.Control.Common: instance Ord a => Ord (Paragraph' a)
- Debian.Control.Common: instance Read a => Read (Control' a)
- Debian.Control.Common: instance Read a => Read (Field' a)
- Debian.Control.Common: instance Read a => Read (Paragraph' a)
- Debian.Control.Common: instance Show a => Show (Control' a)
- Debian.Control.Common: instance Show a => Show (Field' a)
- Debian.Control.Common: instance Show a => Show (Paragraph' a)
- Debian.Control.Common: unControl :: Control' a -> [Paragraph' a]
- Debian.Control.Policy: field :: ControlFileError -> String
- Debian.Control.Policy: instance Eq ControlFileError
- Debian.Control.Policy: instance Exception ControlFileError
- Debian.Control.Policy: instance HasControl (Control' Text)
- Debian.Control.Policy: instance HasControl DebianControl
- Debian.Control.Policy: instance HasDebianControl DebianControl
- Debian.Control.Policy: instance Show ControlFileError
- Debian.Control.Policy: instance Show DebianControl
- Debian.Control.Policy: instance Typeable ControlFileError
- Debian.Control.Policy: ioError :: ControlFileError -> IOError
- Debian.Control.Policy: locs :: ControlFileError -> [Loc]
- Debian.Control.Policy: parseError :: ControlFileError -> ParseError
- Debian.Control.String: instance ControlFunctions String
- Debian.Control.Text: instance ControlFunctions Text
- Debian.Control.Text: unControl :: Control' a -> [Paragraph' a]
- Debian.GenBuildDeps: allBlocked :: BuildableInfo a -> [a]
- Debian.GenBuildDeps: binaryNames :: DepInfo -> [BinPkgName]
- Debian.GenBuildDeps: depPairs :: BuildableInfo a -> [(a, a)]
- Debian.GenBuildDeps: instance Eq DepInfo
- Debian.GenBuildDeps: instance Show DepInfo
- Debian.GenBuildDeps: instance Show OldRelaxInfo
- Debian.GenBuildDeps: other :: ReadyTarget a -> [a]
- Debian.GenBuildDeps: ready :: ReadyTarget a -> a
- Debian.GenBuildDeps: readyTargets :: BuildableInfo a -> [ReadyTarget a]
- Debian.GenBuildDeps: relations :: DepInfo -> Relations
- Debian.GenBuildDeps: sourceName :: DepInfo -> SrcPkgName
- Debian.GenBuildDeps: waiting :: ReadyTarget a -> [a]
- Debian.Pretty: instance Functor PP
- Debian.Pretty: instance Pretty (PP String)
- Debian.Pretty: instance Pretty (PP Text)
- Debian.Pretty: instance Pretty (PP a) => Pretty (PP (Maybe a))
- Debian.Pretty: unPP :: PP a -> a
- Debian.Relation: unBinPkgName :: BinPkgName -> String
- Debian.Relation: unSrcPkgName :: SrcPkgName -> String
- Debian.Relation.ByteString: instance ParseRelations ByteString
- Debian.Relation.Common: instance Data BinPkgName
- Debian.Relation.Common: instance Data SrcPkgName
- Debian.Relation.Common: instance Eq ArchitectureReq
- Debian.Relation.Common: instance Eq BinPkgName
- Debian.Relation.Common: instance Eq Relation
- Debian.Relation.Common: instance Eq SrcPkgName
- Debian.Relation.Common: instance Eq VersionReq
- Debian.Relation.Common: instance Ord ArchitectureReq
- Debian.Relation.Common: instance Ord BinPkgName
- Debian.Relation.Common: instance Ord Relation
- Debian.Relation.Common: instance Ord SrcPkgName
- Debian.Relation.Common: instance Ord VersionReq
- Debian.Relation.Common: instance PkgName BinPkgName
- Debian.Relation.Common: instance PkgName SrcPkgName
- Debian.Relation.Common: instance Pretty (PP ArchitectureReq)
- Debian.Relation.Common: instance Pretty (PP BinPkgName)
- Debian.Relation.Common: instance Pretty (PP OrRelation)
- Debian.Relation.Common: instance Pretty (PP Relation)
- Debian.Relation.Common: instance Pretty (PP Relations)
- Debian.Relation.Common: instance Pretty (PP SrcPkgName)
- Debian.Relation.Common: instance Pretty (PP VersionReq)
- Debian.Relation.Common: instance Read ArchitectureReq
- Debian.Relation.Common: instance Read BinPkgName
- Debian.Relation.Common: instance Read Relation
- Debian.Relation.Common: instance Read SrcPkgName
- Debian.Relation.Common: instance Read VersionReq
- Debian.Relation.Common: instance Show ArchitectureReq
- Debian.Relation.Common: instance Show BinPkgName
- Debian.Relation.Common: instance Show Relation
- Debian.Relation.Common: instance Show SrcPkgName
- Debian.Relation.Common: instance Show VersionReq
- Debian.Relation.Common: instance Typeable BinPkgName
- Debian.Relation.Common: instance Typeable SrcPkgName
- Debian.Relation.Common: unBinPkgName :: BinPkgName -> String
- Debian.Relation.Common: unSrcPkgName :: SrcPkgName -> String
- Debian.Relation.String: instance ParseRelations String
- Debian.Relation.Text: instance ParseRelations Text
- Debian.Release: instance Data ReleaseName
- Debian.Release: instance Eq ReleaseName
- Debian.Release: instance Eq Section
- Debian.Release: instance Eq SubSection
- Debian.Release: instance Ord ReleaseName
- Debian.Release: instance Ord Section
- Debian.Release: instance Ord SubSection
- Debian.Release: instance Read ReleaseName
- Debian.Release: instance Read Section
- Debian.Release: instance Read SubSection
- Debian.Release: instance Show ReleaseName
- Debian.Release: instance Show Section
- Debian.Release: instance Show SubSection
- Debian.Release: instance Typeable ReleaseName
- Debian.Release: relName :: ReleaseName -> String
- Debian.Release: section :: SubSection -> Section
- Debian.Release: subSectionName :: SubSection -> String
- Debian.Sources: instance Eq DebSource
- Debian.Sources: instance Eq SourceType
- Debian.Sources: instance Ord DebSource
- Debian.Sources: instance Ord SourceType
- Debian.Sources: instance Pretty (PP [DebSource])
- Debian.Sources: instance Pretty DebSource
- Debian.Sources: instance Pretty SourceType
- Debian.Sources: instance Show DebSource
- Debian.Sources: instance Show SourceType
- Debian.Sources: sourceDist :: DebSource -> Either String (ReleaseName, [Section])
- Debian.Sources: sourceType :: DebSource -> SourceType
- Debian.Sources: sourceUri :: DebSource -> URI
- Debian.URI: instance Eq URI'
- Debian.URI: instance Ord URI'
- Debian.URI: instance Read URI'
- Debian.URI: instance Show URI'
- Debian.Util.FakeChanges: instance Data Error
- Debian.Util.FakeChanges: instance Eq Error
- Debian.Util.FakeChanges: instance Read Error
- Debian.Util.FakeChanges: instance Show Error
- Debian.Util.FakeChanges: instance Typeable Error
- Debian.Version.ByteString: instance ParseDebianVersion ByteString
- Debian.Version.Common: instance Eq DebianVersion
- Debian.Version.Common: instance Eq NonNumeric
- Debian.Version.Common: instance Eq Numeric
- Debian.Version.Common: instance Ord DebianVersion
- Debian.Version.Common: instance Ord NonNumeric
- Debian.Version.Common: instance Ord Numeric
- Debian.Version.Common: instance Pretty (PP DebianVersion)
- Debian.Version.Common: instance Show DebianVersion
- Debian.Version.String: instance ParseDebianVersion String
- Debian.Version.String: instance Read DebianVersion
- Debian.Version.Text: instance ParseDebianVersion Text
+ Debian.Apt.Dependencies: [conflicts] :: CSP a -> a -> Relations
+ Debian.Apt.Dependencies: [depFunction] :: CSP a -> (a -> Relations)
+ Debian.Apt.Dependencies: [packageVersion] :: CSP a -> a -> (BinPkgName, DebianVersion)
+ Debian.Apt.Dependencies: [pnm] :: CSP a -> PackageNameMap a
+ Debian.Apt.Dependencies: [relations] :: CSP a -> Relations
+ Debian.Apt.Dependencies: instance GHC.Classes.Eq Debian.Apt.Dependencies.Status
+ Debian.Apt.Index: [md5sum] :: CheckSums -> Maybe String
+ Debian.Apt.Index: [sha1] :: CheckSums -> Maybe String
+ Debian.Apt.Index: [sha256] :: CheckSums -> Maybe String
+ Debian.Apt.Index: instance GHC.Classes.Eq Debian.Apt.Index.CheckSums
+ Debian.Apt.Index: instance GHC.Classes.Eq Debian.Apt.Index.Compression
+ Debian.Apt.Index: instance GHC.Classes.Ord Debian.Apt.Index.Compression
+ Debian.Apt.Index: instance GHC.Enum.Bounded Debian.Apt.Index.Compression
+ Debian.Apt.Index: instance GHC.Enum.Enum Debian.Apt.Index.Compression
+ Debian.Apt.Index: instance GHC.Read.Read Debian.Apt.Index.CheckSums
+ Debian.Apt.Index: instance GHC.Read.Read Debian.Apt.Index.Compression
+ Debian.Apt.Index: instance GHC.Show.Show Debian.Apt.Index.CheckSums
+ Debian.Apt.Index: instance GHC.Show.Show Debian.Apt.Index.Compression
+ Debian.Apt.Methods: [authorizationRequiredCB] :: FetchCallbacks -> Site -> IO (Maybe (User, Password))
+ Debian.Apt.Methods: [debugCB] :: FetchCallbacks -> String -> IO ()
+ Debian.Apt.Methods: [filename] :: Status -> Maybe FilePath
+ Debian.Apt.Methods: [generalFailureCB] :: FetchCallbacks -> Message -> IO ()
+ Debian.Apt.Methods: [hashes] :: Status -> Hashes
+ Debian.Apt.Methods: [imsHit] :: Status -> Bool
+ Debian.Apt.Methods: [lastModified] :: Status -> Maybe UTCTime
+ Debian.Apt.Methods: [localOnly] :: Status -> Bool
+ Debian.Apt.Methods: [logCB] :: FetchCallbacks -> Message -> IO ()
+ Debian.Apt.Methods: [mediaFailureCB] :: FetchCallbacks -> Media -> Drive -> IO ()
+ Debian.Apt.Methods: [message] :: Status -> Message
+ Debian.Apt.Methods: [needsCleanup] :: Status -> Bool
+ Debian.Apt.Methods: [pipeline] :: Status -> Bool
+ Debian.Apt.Methods: [preScan] :: Status -> Bool
+ Debian.Apt.Methods: [resumePoint] :: Status -> Maybe Integer
+ Debian.Apt.Methods: [sendConfig] :: Status -> Bool
+ Debian.Apt.Methods: [singleInstance] :: Status -> Bool
+ Debian.Apt.Methods: [size] :: Status -> Maybe Integer
+ Debian.Apt.Methods: [statusCB] :: FetchCallbacks -> URI -> Message -> IO ()
+ Debian.Apt.Methods: [uriDoneCB] :: FetchCallbacks -> URI -> Maybe Integer -> Maybe UTCTime -> Maybe Integer -> Maybe FilePath -> Hashes -> Bool -> IO ()
+ Debian.Apt.Methods: [uriFailureCB] :: FetchCallbacks -> URI -> Message -> IO ()
+ Debian.Apt.Methods: [uriStartCB] :: FetchCallbacks -> URI -> Maybe Integer -> Maybe UTCTime -> Maybe Integer -> IO ()
+ Debian.Apt.Methods: [uri] :: Status -> URI
+ Debian.Apt.Methods: [version] :: Status -> String
+ Debian.Apt.Methods: instance GHC.Classes.Eq Debian.Apt.Methods.Command
+ Debian.Apt.Methods: instance GHC.Classes.Eq Debian.Apt.Methods.Hashes
+ Debian.Apt.Methods: instance GHC.Classes.Eq Debian.Apt.Methods.Status
+ Debian.Apt.Methods: instance GHC.Show.Show Debian.Apt.Methods.Command
+ Debian.Apt.Methods: instance GHC.Show.Show Debian.Apt.Methods.Hashes
+ Debian.Apt.Methods: instance GHC.Show.Show Debian.Apt.Methods.Status
+ Debian.Arch: instance Data.Data.Data Debian.Arch.Arch
+ Debian.Arch: instance Data.Data.Data Debian.Arch.ArchCPU
+ Debian.Arch: instance Data.Data.Data Debian.Arch.ArchOS
+ Debian.Arch: instance GHC.Classes.Eq Debian.Arch.Arch
+ Debian.Arch: instance GHC.Classes.Eq Debian.Arch.ArchCPU
+ Debian.Arch: instance GHC.Classes.Eq Debian.Arch.ArchOS
+ Debian.Arch: instance GHC.Classes.Ord Debian.Arch.Arch
+ Debian.Arch: instance GHC.Classes.Ord Debian.Arch.ArchCPU
+ Debian.Arch: instance GHC.Classes.Ord Debian.Arch.ArchOS
+ Debian.Arch: instance GHC.Read.Read Debian.Arch.Arch
+ Debian.Arch: instance GHC.Read.Read Debian.Arch.ArchCPU
+ Debian.Arch: instance GHC.Read.Read Debian.Arch.ArchOS
+ Debian.Arch: instance GHC.Show.Show Debian.Arch.Arch
+ Debian.Arch: instance GHC.Show.Show Debian.Arch.ArchCPU
+ Debian.Arch: instance GHC.Show.Show Debian.Arch.ArchOS
+ Debian.Changes: [changeArch] :: ChangesFile -> Arch
+ Debian.Changes: [changeDir] :: ChangesFile -> FilePath
+ Debian.Changes: [changeEntry] :: ChangesFile -> ChangeLogEntry
+ Debian.Changes: [changeFiles] :: ChangesFile -> [ChangedFileSpec]
+ Debian.Changes: [changeInfo] :: ChangesFile -> Paragraph' Text
+ Debian.Changes: [changePackage] :: ChangesFile -> String
+ Debian.Changes: [changeRelease] :: ChangesFile -> ReleaseName
+ Debian.Changes: [changeVersion] :: ChangesFile -> DebianVersion
+ Debian.Changes: [changedFileMD5sum] :: ChangedFileSpec -> String
+ Debian.Changes: [changedFileName] :: ChangedFileSpec -> FilePath
+ Debian.Changes: [changedFilePriority] :: ChangedFileSpec -> String
+ Debian.Changes: [changedFileSHA1sum] :: ChangedFileSpec -> String
+ Debian.Changes: [changedFileSHA256sum] :: ChangedFileSpec -> String
+ Debian.Changes: [changedFileSection] :: ChangedFileSpec -> SubSection
+ Debian.Changes: [changedFileSize] :: ChangedFileSpec -> FileOffset
+ Debian.Changes: [logComments] :: ChangeLogEntry -> String
+ Debian.Changes: [logDate] :: ChangeLogEntry -> String
+ Debian.Changes: [logDists] :: ChangeLogEntry -> [ReleaseName]
+ Debian.Changes: [logPackage] :: ChangeLogEntry -> String
+ Debian.Changes: [logUrgency] :: ChangeLogEntry -> String
+ Debian.Changes: [logVersion] :: ChangeLogEntry -> DebianVersion
+ Debian.Changes: [logWho] :: ChangeLogEntry -> String
+ Debian.Changes: instance GHC.Classes.Eq Debian.Changes.ChangeLog
+ Debian.Changes: instance GHC.Classes.Eq Debian.Changes.ChangeLogEntry
+ Debian.Changes: instance GHC.Classes.Eq Debian.Changes.ChangedFileSpec
+ Debian.Changes: instance GHC.Classes.Eq Debian.Changes.ChangesFile
+ Debian.Changes: instance GHC.Read.Read Debian.Changes.ChangeLog
+ Debian.Changes: instance GHC.Read.Read Debian.Changes.ChangeLogEntry
+ Debian.Changes: instance GHC.Read.Read Debian.Changes.ChangedFileSpec
+ Debian.Changes: instance GHC.Read.Read Debian.Changes.ChangesFile
+ Debian.Changes: instance GHC.Show.Show Debian.Changes.ChangeLog
+ Debian.Changes: instance GHC.Show.Show Debian.Changes.ChangeLogEntry
+ Debian.Changes: instance GHC.Show.Show Debian.Changes.ChangedFileSpec
+ Debian.Changes: instance GHC.Show.Show Debian.Changes.ChangesFile
+ Debian.Changes: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Changes.ChangeLog)
+ Debian.Changes: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Changes.ChangeLogEntry)
+ Debian.Changes: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Changes.ChangedFileSpec)
+ Debian.Changes: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Changes.ChangesFile)
+ Debian.Changes: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP [Debian.Changes.ChangeLogEntry])
+ Debian.Control: [field] :: ControlFileError -> String
+ Debian.Control: [ioError] :: ControlFileError -> IOError
+ Debian.Control: [locs] :: ControlFileError -> [Loc]
+ Debian.Control: [parseError] :: ControlFileError -> ParseError
+ Debian.Control: [unControl] :: Control' a -> [Paragraph' a]
+ Debian.Control.ByteString: [unControl] :: Control' a -> [Paragraph' a]
+ Debian.Control.ByteString: instance Debian.Control.Common.ControlFunctions Data.ByteString.Internal.ByteString
+ Debian.Control.ByteString: instance GHC.Base.Alternative (Debian.Control.ByteString.Parser state)
+ Debian.Control.ByteString: instance GHC.Base.Applicative (Debian.Control.ByteString.Parser state)
+ Debian.Control.ByteString: instance GHC.Base.Functor (Debian.Control.ByteString.Parser state)
+ Debian.Control.ByteString: instance GHC.Base.Monad (Debian.Control.ByteString.Parser state)
+ Debian.Control.ByteString: instance GHC.Base.MonadPlus (Debian.Control.ByteString.Parser state)
+ Debian.Control.ByteString: instance GHC.Show.Show a => GHC.Show.Show (Debian.Control.ByteString.Result a)
+ Debian.Control.Common: [unControl] :: Control' a -> [Paragraph' a]
+ Debian.Control.Common: instance (Debian.Control.Common.ControlFunctions a, Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP a)) => Text.PrettyPrint.HughesPJClass.Pretty (Debian.Control.Common.Control' a)
+ Debian.Control.Common: instance (Debian.Control.Common.ControlFunctions a, Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP a)) => Text.PrettyPrint.HughesPJClass.Pretty (Debian.Control.Common.Field' a)
+ Debian.Control.Common: instance (Debian.Control.Common.ControlFunctions a, Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP a)) => Text.PrettyPrint.HughesPJClass.Pretty (Debian.Control.Common.Paragraph' a)
+ Debian.Control.Common: instance GHC.Classes.Eq a => GHC.Classes.Eq (Debian.Control.Common.Control' a)
+ Debian.Control.Common: instance GHC.Classes.Eq a => GHC.Classes.Eq (Debian.Control.Common.Field' a)
+ Debian.Control.Common: instance GHC.Classes.Eq a => GHC.Classes.Eq (Debian.Control.Common.Paragraph' a)
+ Debian.Control.Common: instance GHC.Classes.Ord a => GHC.Classes.Ord (Debian.Control.Common.Control' a)
+ Debian.Control.Common: instance GHC.Classes.Ord a => GHC.Classes.Ord (Debian.Control.Common.Field' a)
+ Debian.Control.Common: instance GHC.Classes.Ord a => GHC.Classes.Ord (Debian.Control.Common.Paragraph' a)
+ Debian.Control.Common: instance GHC.Read.Read a => GHC.Read.Read (Debian.Control.Common.Control' a)
+ Debian.Control.Common: instance GHC.Read.Read a => GHC.Read.Read (Debian.Control.Common.Field' a)
+ Debian.Control.Common: instance GHC.Read.Read a => GHC.Read.Read (Debian.Control.Common.Paragraph' a)
+ Debian.Control.Common: instance GHC.Show.Show a => GHC.Show.Show (Debian.Control.Common.Control' a)
+ Debian.Control.Common: instance GHC.Show.Show a => GHC.Show.Show (Debian.Control.Common.Field' a)
+ Debian.Control.Common: instance GHC.Show.Show a => GHC.Show.Show (Debian.Control.Common.Paragraph' a)
+ Debian.Control.Policy: [field] :: ControlFileError -> String
+ Debian.Control.Policy: [ioError] :: ControlFileError -> IOError
+ Debian.Control.Policy: [locs] :: ControlFileError -> [Loc]
+ Debian.Control.Policy: [parseError] :: ControlFileError -> ParseError
+ Debian.Control.Policy: instance Debian.Control.Policy.HasControl (Debian.Control.Common.Control' Data.Text.Internal.Text)
+ Debian.Control.Policy: instance Debian.Control.Policy.HasControl Debian.Control.Policy.DebianControl
+ Debian.Control.Policy: instance Debian.Control.Policy.HasDebianControl Debian.Control.Policy.DebianControl
+ Debian.Control.Policy: instance GHC.Classes.Eq Debian.Control.Policy.ControlFileError
+ Debian.Control.Policy: instance GHC.Exception.Exception Debian.Control.Policy.ControlFileError
+ Debian.Control.Policy: instance GHC.Show.Show Debian.Control.Policy.ControlFileError
+ Debian.Control.Policy: instance GHC.Show.Show Debian.Control.Policy.DebianControl
+ Debian.Control.String: instance Debian.Control.Common.ControlFunctions GHC.Base.String
+ Debian.Control.Text: [unControl] :: Control' a -> [Paragraph' a]
+ Debian.Control.Text: instance Debian.Control.Common.ControlFunctions Data.Text.Internal.Text
+ Debian.GenBuildDeps: [allBlocked] :: BuildableInfo a -> [a]
+ Debian.GenBuildDeps: [binSet] :: DepInfo -> Set BinPkgName
+ Debian.GenBuildDeps: [binaryNames] :: DepInfo -> [BinPkgName]
+ Debian.GenBuildDeps: [depPairs] :: BuildableInfo a -> [(a, a)]
+ Debian.GenBuildDeps: [depSet] :: DepInfo -> Set BinPkgName
+ Debian.GenBuildDeps: [other] :: ReadyTarget a -> [a]
+ Debian.GenBuildDeps: [readyTargets] :: BuildableInfo a -> [ReadyTarget a]
+ Debian.GenBuildDeps: [ready] :: ReadyTarget a -> a
+ Debian.GenBuildDeps: [relations] :: DepInfo -> Relations
+ Debian.GenBuildDeps: [sourceName] :: DepInfo -> SrcPkgName
+ Debian.GenBuildDeps: [waiting] :: ReadyTarget a -> [a]
+ Debian.GenBuildDeps: instance GHC.Classes.Eq Debian.GenBuildDeps.DepInfo
+ Debian.GenBuildDeps: instance GHC.Show.Show Debian.GenBuildDeps.DepInfo
+ Debian.GenBuildDeps: instance GHC.Show.Show Debian.GenBuildDeps.OldRelaxInfo
+ Debian.Pretty: [unPP] :: PP a -> a
+ Debian.Pretty: instance GHC.Base.Functor Debian.Pretty.PP
+ Debian.Pretty: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Data.Text.Internal.Text)
+ Debian.Pretty: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP GHC.Base.String)
+ Debian.Pretty: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP a) => Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP (GHC.Base.Maybe a))
+ Debian.Relation: [unBinPkgName] :: BinPkgName -> String
+ Debian.Relation: [unSrcPkgName] :: SrcPkgName -> String
+ Debian.Relation.ByteString: instance Debian.Relation.Common.ParseRelations Data.ByteString.Internal.ByteString
+ Debian.Relation.Common: [unBinPkgName] :: BinPkgName -> String
+ Debian.Relation.Common: [unSrcPkgName] :: SrcPkgName -> String
+ Debian.Relation.Common: instance Data.Data.Data Debian.Relation.Common.BinPkgName
+ Debian.Relation.Common: instance Data.Data.Data Debian.Relation.Common.SrcPkgName
+ Debian.Relation.Common: instance Debian.Relation.Common.PkgName Debian.Relation.Common.BinPkgName
+ Debian.Relation.Common: instance Debian.Relation.Common.PkgName Debian.Relation.Common.SrcPkgName
+ Debian.Relation.Common: instance GHC.Classes.Eq Debian.Relation.Common.ArchitectureReq
+ Debian.Relation.Common: instance GHC.Classes.Eq Debian.Relation.Common.BinPkgName
+ Debian.Relation.Common: instance GHC.Classes.Eq Debian.Relation.Common.Relation
+ Debian.Relation.Common: instance GHC.Classes.Eq Debian.Relation.Common.SrcPkgName
+ Debian.Relation.Common: instance GHC.Classes.Eq Debian.Relation.Common.VersionReq
+ Debian.Relation.Common: instance GHC.Classes.Ord Debian.Relation.Common.ArchitectureReq
+ Debian.Relation.Common: instance GHC.Classes.Ord Debian.Relation.Common.BinPkgName
+ Debian.Relation.Common: instance GHC.Classes.Ord Debian.Relation.Common.Relation
+ Debian.Relation.Common: instance GHC.Classes.Ord Debian.Relation.Common.SrcPkgName
+ Debian.Relation.Common: instance GHC.Classes.Ord Debian.Relation.Common.VersionReq
+ Debian.Relation.Common: instance GHC.Read.Read Debian.Relation.Common.ArchitectureReq
+ Debian.Relation.Common: instance GHC.Read.Read Debian.Relation.Common.BinPkgName
+ Debian.Relation.Common: instance GHC.Read.Read Debian.Relation.Common.Relation
+ Debian.Relation.Common: instance GHC.Read.Read Debian.Relation.Common.SrcPkgName
+ Debian.Relation.Common: instance GHC.Read.Read Debian.Relation.Common.VersionReq
+ Debian.Relation.Common: instance GHC.Show.Show Debian.Relation.Common.ArchitectureReq
+ Debian.Relation.Common: instance GHC.Show.Show Debian.Relation.Common.BinPkgName
+ Debian.Relation.Common: instance GHC.Show.Show Debian.Relation.Common.Relation
+ Debian.Relation.Common: instance GHC.Show.Show Debian.Relation.Common.SrcPkgName
+ Debian.Relation.Common: instance GHC.Show.Show Debian.Relation.Common.VersionReq
+ Debian.Relation.Common: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Relation.Common.ArchitectureReq)
+ Debian.Relation.Common: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Relation.Common.BinPkgName)
+ Debian.Relation.Common: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Relation.Common.OrRelation)
+ Debian.Relation.Common: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Relation.Common.Relation)
+ Debian.Relation.Common: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Relation.Common.Relations)
+ Debian.Relation.Common: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Relation.Common.SrcPkgName)
+ Debian.Relation.Common: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Relation.Common.VersionReq)
+ Debian.Relation.String: instance Debian.Relation.Common.ParseRelations GHC.Base.String
+ Debian.Relation.Text: instance Debian.Relation.Common.ParseRelations Data.Text.Internal.Text
+ Debian.Release: [relName] :: ReleaseName -> String
+ Debian.Release: [section] :: SubSection -> Section
+ Debian.Release: [subSectionName] :: SubSection -> String
+ Debian.Release: instance Data.Data.Data Debian.Release.ReleaseName
+ Debian.Release: instance GHC.Classes.Eq Debian.Release.ReleaseName
+ Debian.Release: instance GHC.Classes.Eq Debian.Release.Section
+ Debian.Release: instance GHC.Classes.Eq Debian.Release.SubSection
+ Debian.Release: instance GHC.Classes.Ord Debian.Release.ReleaseName
+ Debian.Release: instance GHC.Classes.Ord Debian.Release.Section
+ Debian.Release: instance GHC.Classes.Ord Debian.Release.SubSection
+ Debian.Release: instance GHC.Read.Read Debian.Release.ReleaseName
+ Debian.Release: instance GHC.Read.Read Debian.Release.Section
+ Debian.Release: instance GHC.Read.Read Debian.Release.SubSection
+ Debian.Release: instance GHC.Show.Show Debian.Release.ReleaseName
+ Debian.Release: instance GHC.Show.Show Debian.Release.Section
+ Debian.Release: instance GHC.Show.Show Debian.Release.SubSection
+ Debian.Sources: [sourceDist] :: DebSource -> Either String (ReleaseName, [Section])
+ Debian.Sources: [sourceType] :: DebSource -> SourceType
+ Debian.Sources: [sourceUri] :: DebSource -> URI
+ Debian.Sources: instance GHC.Classes.Eq Debian.Sources.DebSource
+ Debian.Sources: instance GHC.Classes.Eq Debian.Sources.SourceType
+ Debian.Sources: instance GHC.Classes.Ord Debian.Sources.DebSource
+ Debian.Sources: instance GHC.Classes.Ord Debian.Sources.SourceType
+ Debian.Sources: instance GHC.Show.Show Debian.Sources.DebSource
+ Debian.Sources: instance GHC.Show.Show Debian.Sources.SourceType
+ Debian.Sources: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP [Debian.Sources.DebSource])
+ Debian.Sources: instance Text.PrettyPrint.HughesPJClass.Pretty Debian.Sources.DebSource
+ Debian.Sources: instance Text.PrettyPrint.HughesPJClass.Pretty Debian.Sources.SourceType
+ Debian.URI: instance GHC.Classes.Eq Debian.URI.URI'
+ Debian.URI: instance GHC.Classes.Ord Debian.URI.URI'
+ Debian.URI: instance GHC.Read.Read Debian.URI.URI'
+ Debian.URI: instance GHC.Show.Show Debian.URI.URI'
+ Debian.Util.FakeChanges: instance Data.Data.Data Debian.Util.FakeChanges.Error
+ Debian.Util.FakeChanges: instance GHC.Classes.Eq Debian.Util.FakeChanges.Error
+ Debian.Util.FakeChanges: instance GHC.Read.Read Debian.Util.FakeChanges.Error
+ Debian.Util.FakeChanges: instance GHC.Show.Show Debian.Util.FakeChanges.Error
+ Debian.Version.ByteString: instance Debian.Version.Common.ParseDebianVersion Data.ByteString.Internal.ByteString
+ Debian.Version.Common: instance GHC.Classes.Eq Debian.Version.Internal.DebianVersion
+ Debian.Version.Common: instance GHC.Classes.Eq Debian.Version.Internal.NonNumeric
+ Debian.Version.Common: instance GHC.Classes.Eq Debian.Version.Internal.Numeric
+ Debian.Version.Common: instance GHC.Classes.Ord Debian.Version.Internal.DebianVersion
+ Debian.Version.Common: instance GHC.Classes.Ord Debian.Version.Internal.NonNumeric
+ Debian.Version.Common: instance GHC.Classes.Ord Debian.Version.Internal.Numeric
+ Debian.Version.Common: instance GHC.Show.Show Debian.Version.Internal.DebianVersion
+ Debian.Version.Common: instance Text.PrettyPrint.HughesPJClass.Pretty (Debian.Pretty.PP Debian.Version.Internal.DebianVersion)
+ Debian.Version.String: instance Debian.Version.Common.ParseDebianVersion GHC.Base.String
+ Debian.Version.String: instance GHC.Read.Read Debian.Version.Internal.DebianVersion
+ Debian.Version.Text: instance Debian.Version.Common.ParseDebianVersion Data.Text.Internal.Text
- Debian.Control: fieldValue :: ControlFunctions a => String -> Paragraph' a -> Maybe a
+ Debian.Control: fieldValue :: (ControlFunctions a) => String -> Paragraph' a -> Maybe a
- Debian.Control: modifyField :: Eq a => a -> (a -> a) -> Paragraph' a -> Paragraph' a
+ Debian.Control: modifyField :: (Eq a) => a -> (a -> a) -> Paragraph' a -> Paragraph' a
- Debian.Control: raiseFields :: Eq a => (a -> Bool) -> Paragraph' a -> Paragraph' a
+ Debian.Control: raiseFields :: (Eq a) => (a -> Bool) -> Paragraph' a -> Paragraph' a
- Debian.Control: removeField :: Eq a => a -> Paragraph' a -> Paragraph' a
+ Debian.Control: removeField :: (Eq a) => a -> Paragraph' a -> Paragraph' a
- Debian.Control: renameField :: Eq a => a -> a -> Paragraph' a -> Paragraph' a
+ Debian.Control: renameField :: (Eq a) => a -> a -> Paragraph' a -> Paragraph' a
- Debian.Control.ByteString: fieldValue :: ControlFunctions a => String -> Paragraph' a -> Maybe a
+ Debian.Control.ByteString: fieldValue :: (ControlFunctions a) => String -> Paragraph' a -> Maybe a
- Debian.Control.ByteString: modifyField :: Eq a => a -> (a -> a) -> Paragraph' a -> Paragraph' a
+ Debian.Control.ByteString: modifyField :: (Eq a) => a -> (a -> a) -> Paragraph' a -> Paragraph' a
- Debian.Control.ByteString: raiseFields :: Eq a => (a -> Bool) -> Paragraph' a -> Paragraph' a
+ Debian.Control.ByteString: raiseFields :: (Eq a) => (a -> Bool) -> Paragraph' a -> Paragraph' a
- Debian.Control.ByteString: removeField :: Eq a => a -> Paragraph' a -> Paragraph' a
+ Debian.Control.ByteString: removeField :: (Eq a) => a -> Paragraph' a -> Paragraph' a
- Debian.Control.ByteString: renameField :: Eq a => a -> a -> Paragraph' a -> Paragraph' a
+ Debian.Control.ByteString: renameField :: (Eq a) => a -> a -> Paragraph' a -> Paragraph' a
- Debian.Control.Common: fieldValue :: ControlFunctions a => String -> Paragraph' a -> Maybe a
+ Debian.Control.Common: fieldValue :: (ControlFunctions a) => String -> Paragraph' a -> Maybe a
- Debian.Control.Common: md5sumField :: ControlFunctions a => Paragraph' a -> Maybe a
+ Debian.Control.Common: md5sumField :: (ControlFunctions a) => Paragraph' a -> Maybe a
- Debian.Control.Common: modifyField :: Eq a => a -> (a -> a) -> Paragraph' a -> Paragraph' a
+ Debian.Control.Common: modifyField :: (Eq a) => a -> (a -> a) -> Paragraph' a -> Paragraph' a
- Debian.Control.Common: raiseFields :: Eq a => (a -> Bool) -> Paragraph' a -> Paragraph' a
+ Debian.Control.Common: raiseFields :: (Eq a) => (a -> Bool) -> Paragraph' a -> Paragraph' a
- Debian.Control.Common: removeField :: Eq a => a -> Paragraph' a -> Paragraph' a
+ Debian.Control.Common: removeField :: (Eq a) => a -> Paragraph' a -> Paragraph' a
- Debian.Control.Common: renameField :: Eq a => a -> a -> Paragraph' a -> Paragraph' a
+ Debian.Control.Common: renameField :: (Eq a) => a -> a -> Paragraph' a -> Paragraph' a
- Debian.Control.String: fieldValue :: ControlFunctions a => String -> Paragraph' a -> Maybe a
+ Debian.Control.String: fieldValue :: (ControlFunctions a) => String -> Paragraph' a -> Maybe a
- Debian.Control.String: modifyField :: Eq a => a -> (a -> a) -> Paragraph' a -> Paragraph' a
+ Debian.Control.String: modifyField :: (Eq a) => a -> (a -> a) -> Paragraph' a -> Paragraph' a
- Debian.Control.String: raiseFields :: Eq a => (a -> Bool) -> Paragraph' a -> Paragraph' a
+ Debian.Control.String: raiseFields :: (Eq a) => (a -> Bool) -> Paragraph' a -> Paragraph' a
- Debian.Control.String: removeField :: Eq a => a -> Paragraph' a -> Paragraph' a
+ Debian.Control.String: removeField :: (Eq a) => a -> Paragraph' a -> Paragraph' a
- Debian.Control.String: renameField :: Eq a => a -> a -> Paragraph' a -> Paragraph' a
+ Debian.Control.String: renameField :: (Eq a) => a -> a -> Paragraph' a -> Paragraph' a
- Debian.Control.Text: fieldValue :: ControlFunctions a => String -> Paragraph' a -> Maybe a
+ Debian.Control.Text: fieldValue :: (ControlFunctions a) => String -> Paragraph' a -> Maybe a
- Debian.Control.Text: modifyField :: Eq a => a -> (a -> a) -> Paragraph' a -> Paragraph' a
+ Debian.Control.Text: modifyField :: (Eq a) => a -> (a -> a) -> Paragraph' a -> Paragraph' a
- Debian.Control.Text: raiseFields :: Eq a => (a -> Bool) -> Paragraph' a -> Paragraph' a
+ Debian.Control.Text: raiseFields :: (Eq a) => (a -> Bool) -> Paragraph' a -> Paragraph' a
- Debian.Control.Text: removeField :: Eq a => a -> Paragraph' a -> Paragraph' a
+ Debian.Control.Text: removeField :: (Eq a) => a -> Paragraph' a -> Paragraph' a
- Debian.Control.Text: renameField :: Eq a => a -> a -> Paragraph' a -> Paragraph' a
+ Debian.Control.Text: renameField :: (Eq a) => a -> a -> Paragraph' a -> Paragraph' a
- Debian.Deb: fields :: ControlFunctions a => FilePath -> IO (Control' a)
+ Debian.Deb: fields :: (ControlFunctions a) => FilePath -> IO (Control' a)
- Debian.GenBuildDeps: DepInfo :: SrcPkgName -> Relations -> [BinPkgName] -> DepInfo
+ Debian.GenBuildDeps: DepInfo :: SrcPkgName -> Relations -> [BinPkgName] -> Set BinPkgName -> Set BinPkgName -> DepInfo
- Debian.Time: formatTimeRFC822 :: FormatTime t => t -> String
+ Debian.Time: formatTimeRFC822 :: (FormatTime t) => t -> String
- Debian.Time: parseTimeRFC822 :: ParseTime t => String -> Maybe t
+ Debian.Time: parseTimeRFC822 :: (ParseTime t) => String -> Maybe t

Files

Debian/Control/Text.hs view
@@ -29,7 +29,7 @@ import qualified Data.ByteString.Char8 as B import Data.Char (toLower, chr) import Data.List (find)-import qualified Data.Text as T (Text, pack, unpack, map, strip, reverse)+import qualified Data.Text as T (Text, pack, unpack, map, dropAround, reverse) import Data.Text.Encoding (decodeUtf8With, encodeUtf8) --import Data.Text.IO as T (readFile) import qualified Debian.Control.ByteString as B@@ -92,7 +92,8 @@         where hasFieldName :: String -> Field' T.Text -> Bool               hasFieldName name (Field (fieldName',_)) = T.pack name == T.map toLower fieldName'               hasFieldName _ _ = False-    stripWS = T.reverse . T.strip . T.reverse . T.strip+    stripWS = T.dropAround (`elem` (" \t" :: String))+      -- T.strip would also strip newlines     protectFieldText = protectFieldText'     asString = T.unpack 
Debian/GenBuildDeps.hs view
@@ -27,7 +27,8 @@ import           Control.Applicative ((<$>)) #endif import           Control.Exception (throw)-import           Control.Monad (filterM)+import           Control.Monad (filterM, foldM)+import           Control.Monad.State (evalState, get, modify, State) import           Data.Graph (Graph, Edge, Vertex, buildG, topSort, reachable, transposeG, edges, scc) import           Data.List import qualified Data.Map as Map@@ -39,6 +40,7 @@ import           Debian.Loc (__LOC__) import           Debian.Relation import           Debian.Relation.Text ()+-- import           Debug.Trace (trace) import           System.Directory (getDirectoryContents, doesFileExist)  -- | This type describes the build dependencies of a source package.@@ -46,6 +48,8 @@       sourceName :: SrcPkgName          -- ^ source package name     , relations :: Relations            -- ^ dependency relations     , binaryNames :: [BinPkgName]       -- ^ binary dependency names (is this a function of relations?)+    , depSet :: Set.Set BinPkgName          -- ^ Set containing all binary package names mentioned in relations+    , binSet :: Set.Set BinPkgName          -- ^ Set containing binaryNames     } deriving Show  instance Eq DepInfo where@@ -58,10 +62,14 @@ -- <http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-sourcecontrolfiles> buildDependencies :: HasDebianControl control => control -> DepInfo buildDependencies control = do+  let rels = concat [fromMaybe [] (debianBuildDeps control),+                     fromMaybe [] (debianBuildDepsIndep control)]+      bins = debianBinaryPackageNames control   DepInfo { sourceName = debianSourcePackageName control-          , relations = concat [fromMaybe [] (debianBuildDeps control),-                                fromMaybe [] (debianBuildDepsIndep control)]-          , binaryNames = debianBinaryPackageNames control }+          , relations = rels+          , binaryNames = bins+          , depSet = Set.fromList (map (\(Rel x _ _) -> x) (concat rels))+          , binSet = Set.fromList bins }  -- | source package name sourceName' :: HasDebianControl control => control -> SrcPkgName@@ -130,7 +138,8 @@ buildable :: forall a. (a -> DepInfo) -> [a] -> BuildableInfo a buildable relax packages =     -- Find all packages which can't reach any other packages in the-    -- graph of the "has build dependency" relation.+    -- graph of the "has build dependency" relation on the+    -- yet-to-be-built packages     case partition (\ x -> reachable hasDep x == [x]) verts of       -- None of the packages are buildable, return information       -- about how to break this build dependency cycle.@@ -156,6 +165,7 @@        hasDepEdges :: [(Int, Int)]       hasDepEdges =+#if 0           nub (foldr f [] (tails vertPairs))           where f :: [(Int, DepInfo)] -> [(Int, Int)] -> [(Int, Int)]                 f [] es = es@@ -166,6 +176,26 @@                       EQ -> Nothing                       LT -> Just (yv, xv)                       GT -> Just (xv, yv)+#else+          nub (evalState (foldM f [] (tails vertPairs)) Map.empty)+          where f :: [(Int, Int)] -> [(Int, DepInfo)] -> State (Map.Map (Int, Int) Ordering) [(Int, Int)]+                f es [] = return es+                f es (x : xs) = mapM (toEdge x) xs >>= \es' -> return (catMaybes es' ++ es)+                toEdge :: (Int, DepInfo) -> (Int, DepInfo) -> State (Map.Map (Int, Int) Ordering) (Maybe Edge)+                toEdge (xv, xa) (yv, ya) = do+                  mp <- get+                  r <- case Map.lookup (xv, yv) mp of+                         Just r' -> return r'+                         Nothing -> do+                           let r' = compareSource xa ya+                           -- trace ("compareSource " ++ show (unSrcPkgName $ sourceName xa) ++ " " ++ show (unSrcPkgName $ sourceName ya) ++ " -> " ++ show r') (return ())+                           modify (Map.insert (xv, yv) r')+                           return r'+                  case r of+                    EQ -> return Nothing+                    LT -> return $ Just (yv, xv)+                    GT -> return $ Just (xv, yv)+#endif       ofEdge :: Edge -> (a, a)       ofEdge (a, b) = (ofVertex a, ofVertex b)       ofVertex :: Int -> a@@ -242,9 +272,14 @@ -- a pretty simplistic approach to 'or' build depends. However, I -- think this should work pretty nicely in practice. compareSource :: DepInfo -> DepInfo -> Ordering-compareSource (DepInfo {relations = depends1, binaryNames = bins1}) (DepInfo {relations = depends2, binaryNames = bins2})-    | any (\rel -> isJust (find (checkPackageNameReq rel) bins2)) (concat depends1) = GT-    | any (\rel -> isJust (find (checkPackageNameReq rel) bins1)) (concat depends2) = LT+compareSource p1 p2+#if 0+    | any (\rel -> isJust (find (checkPackageNameReq rel) (binaryNames p2))) (concat (relations p1)) = GT+    | any (\rel -> isJust (find (checkPackageNameReq rel) (binaryNames p1))) (concat (relations p2)) = LT+#else+    | not (null (Set.intersection (depSet p1) (binSet p2))) = GT+    | not (null (Set.intersection (depSet p2) (binSet p1))) = LT+#endif     | otherwise = EQ     where       checkPackageNameReq :: Relation -> BinPkgName -> Bool
changelog view
@@ -2,6 +2,7 @@    * Functor, Applicative, and Alternative instances for ghc-7.10   * Fiddle with imports and ifdefs to fix build+  * Switch from ansi-wl-pprint package to pretty   -- David Fox <dsf@seereason.com>  Sun, 22 Mar 2015 12:55:39 -0700 
debian.cabal view
@@ -1,5 +1,5 @@ Name:           debian-Version:        3.87.2+Version:        3.88 License:        BSD3 License-File:   debian/copyright Author:         David Fox <dsf@seereason.com>, Jeremy Shaw <jeremy@seereason.com>, Clifford Beshers <beshers@seereason.com>
debian/changelog view
@@ -1,3 +1,10 @@+haskell-debian (3.88) unstable; urgency=low++  * Improved handling of white space+  * Speed up Debian.GenBuildDeps.buildable++ -- David Fox <dsf@seereason.com>  Mon, 24 Aug 2015 06:29:29 -0700+ haskell-debian (3.87.2) unstable; urgency=low    * Functor, Applicative, and Alternative instances for ghc-7.10