rpmbuild-order-0.4.0: Order RPM packages by dependencies
Safe HaskellNone
LanguageHaskell2010

Distribution.RPM.Build.Order

Description

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

Documentation

dependencySort :: [FilePath] -> IO [FilePath] Source #

sort packages by dependencies

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

Constructors

Parallel

separate independent stacks

Combine

combine indepdendent stacks together

Connected

only stack of pacakges

Separate

only independent packages in the package set

sortGraph :: Components -> PackageGraph -> IO () Source #

output sorted packages from a PackageGraph arrange by Components