archlinux-1.2: Support for working with Arch Linux packages.



This module makes a database out a directory ${repo} containing subdirs ${repo}/${package} corresponding to packages. It can output rebuild lists in reverse dependency order.



data SrcRepo Source

Data type for source repositories




repo_path :: FilePath

The path to the repository

repo_contents :: Map String PkgBuild


getPkgFromDir :: FilePath -> IO PkgBuildSource

Reads a directory into a package

getRepoFromDir :: FilePath -> IO (Maybe SrcRepo)Source

Reads a specified path into a SrcRepo structure

dumpContentsTopo :: SrcRepo -> [String]Source

Dumps a topologically sorted list of packages starting with an optionally given key

isExternalDep :: String -> SrcRepo -> BoolSource

Helper function

strDepends :: PkgBuild -> [String]Source

Enumerate all build-time dependencies for a package

getDependencies :: String -> SrcRepo -> [String]Source

Output the recursive dependencies of a package in topological order

getDependencyRepo :: String -> SrcRepo -> SrcRepoSource

Extract the subrepository of recursive dependencies of a package

getReverseDependencies :: [String] -> SrcRepo -> [String]Source

Output reverse dependencies of a list of packages in topological order

getReverseDependencyRepo :: [String] -> SrcRepo -> SrcRepoSource

Extract reverse dependencies of a list of packages

isConflicting :: SrcRepo -> BoolSource

Find version inconsistencies in a repository

isConflictingWith :: PkgBuild -> SrcRepo -> BoolSource

Check package dependencies against the repo

isSatisfiedBy :: ArchDep -> SrcRepo -> Maybe BoolSource

check for existence of the right version is the repository (return Nothing if package not found)