| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Debian.Report
- makePackageMap :: (Paragraph -> a) -> (a -> a -> a) -> [(FilePath, Compression)] -> IO (Map Text a)
- packageMap :: (Paragraph -> a) -> (a -> a -> a) -> Control' Text -> Map Text a
- extractVersion :: Paragraph -> Maybe DebianVersion
- trumped :: Fetcher -> FilePath -> String -> [DebSource] -> [DebSource] -> IO (Map Text (DebianVersion, DebianVersion))
- trumpedMap :: Map Text DebianVersion -> Map Text DebianVersion -> Map Text (DebianVersion, DebianVersion)
- trumpedXML :: Map Text (DebianVersion, DebianVersion) -> CFilter Posn
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
Arguments
| :: 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|
Arguments
| :: 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