Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module provides dependency sorting functions
import Distribution.RPM.Build.Order
dependencySort
["pkg1", "pkg2", "../pkg3"]
=> ["pkg2", "../pkg3", "pkg1"]
where pkg1 depends on pkg3, which depends on pkg2 say.
Package paths can be directories or spec files.
Synopsis
- dependencySort :: [FilePath] -> IO [FilePath]
- dependencySortRpmOpts :: [String] -> [FilePath] -> IO [FilePath]
- dependencySortParallel :: [FilePath] -> IO [[FilePath]]
- dependencyLayers :: [FilePath] -> IO [[FilePath]]
- leafPackages :: [FilePath] -> IO [FilePath]
- independentPackages :: [FilePath] -> IO [FilePath]
- data Components
- sortGraph :: Components -> PackageGraph -> IO ()
- depsPackages :: Bool -> [String] -> Bool -> [String] -> [String] -> Bool -> Bool -> Maybe FilePath -> [FilePath] -> IO ()
Documentation
dependencySort :: [FilePath] -> IO [FilePath] Source #
sort packages by dependencies
dependencySortRpmOpts :: [String] -> [FilePath] -> IO [FilePath] Source #
sort packages by dependencies with rpm options
Since: 0.4.2
dependencySortParallel :: [FilePath] -> IO [[FilePath]] Source #
dependency sort of packages in graph components
dependencyLayers :: [FilePath] -> IO [[FilePath]] Source #
group packages in dependency layers, lowest first
leafPackages :: [FilePath] -> IO [FilePath] Source #
returns the leaves of a set of packages
independentPackages :: [FilePath] -> IO [FilePath] Source #
returns independent packages among a set of packages
data Components Source #
Used to control the output from sortGraph
sortGraph :: Components -> PackageGraph -> IO () Source #
output sorted packages from a PackageGraph arrange by Components
:: Bool | whether to look for reverse dependencies |
-> [String] | rpm options |
-> Bool | verbose output |
-> [String] | packages to exclude |
-> [String] | buildrequires to ignore |
-> Bool | allow rpmspec failures |
-> Bool | parallel output |
-> Maybe FilePath | subdir for packages |
-> [FilePath] | list of package paths |
-> IO () |
Given a list of one or more packages look for dependencies in neighboring packages and output them in a topological order
Since: 0.4.9