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

Safe HaskellNone




General Package Map Builders

makePackageMap :: (Paragraph -> a) -> (a -> a -> a) -> [(FilePath, Compression)] -> IO (Map Text a) Source

create a map of (package name, extracted field) from a list of index files

NOTE: we could merge all the files into a single control and then run packageMap over that. We currently do it one control file at a time to avoid having all the control files loaded in memory at once. However, I am not sure that property is actually occuring anyway. So, this should be revisited.

packageMap :: (Paragraph -> a) -> (a -> a -> a) -> Control' Text -> Map Text a Source

create a map of (package name, max version) from a single control file

extractVersion :: Paragraph -> Maybe DebianVersion Source

extract the version number from a control paragraph

Trump Report

trumped Source


:: Fetcher

function for downloading package indexes

-> FilePath

cache directory to store index files in (must already exist)

-> String

binary architecture

-> [DebSource]

sources.list a

-> [DebSource]

sources.list b

-> IO (Map Text (DebianVersion, DebianVersion))

a map of trumped package names to (version a, version b)

compare two sources.list and find all the packages in the second that trump packages in the first see also: |trumpedMap|

trumpedMap Source


:: Map Text DebianVersion

package map a

-> Map Text DebianVersion

package map b

-> Map Text (DebianVersion, DebianVersion)

trumped packages (version a, version b)

calculate all the trumped packages

trumpedXML :: Map Text (DebianVersion, DebianVersion) -> CFilter Posn Source

create / XML element and children from a trumped Map