rpmbuild-order-0.4.12: Sort RPM packages in dependency order
Safe HaskellSafe-Inferred
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

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

dependencyLayersRpmOpts :: [String] -> [FilePath] -> IO [[FilePath]] Source #

like dependencyLayers but with rpm options

Since: 0.4.11

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 packages

Separate

only independent packages in the package set

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

output sorted packages from a PackageGraph arrange by Components

depsPackages Source #

Arguments

:: 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