BSD-3-Clause licensed by Henning Thielemann
Maintained by Jens Petersen
This version can be pinned in stack with:rpmbuild-order-0.3.1@sha256:a070b54de8b7767f6c19b11671a330d96138cfe5ca6ef6bc1e1eaa26efd480c4,1968

Module documentation for 0.3.1

There are no documented modules for this package.

Build Status Hackage license

rpmbuild-order

This package based on code from cabal-sort, sorts rpm package spec files by build order.

$ rpmbuild-order --help
$ rpmbuild-order sort mycore mylib myapp
mylib
mycore
myapp

The arguments passed can either be directories named after the package, or spec files.

By default it outputs the package names, but it can also output the spec filenames or directory paths for easier scripting.

Using the rpmbuild-order deps and rdeps commands the ordered dependencies and reverse dependencies of a package can be obtained from the current set of checked out package sources.

Known problems

  1. Given packages A, B, C, where C depends on B, and B depends on A, and you call

    rpmbuild-order sort C.spec A.spec

then the output may be wrong if C does not have a direct dependency on A. Even if the order is correct, B is missing in the output and thus in this case the list of packages cannot be reliably used for a sequence of builds.

However the deps and rdeps commands take other neighbouring package directories into account.

  1. repoquery is not used to resolve Requires or filelists for Provides. So if a package BuildRequires a file, it will not be resolved to a package. This may get addressed in a future version.

Changes

0.3.1 (2020-07-04)

  • fix detection of circular dependencies (bug introduced in 0.3)

0.3 (2019-10-10)

  • check package provides instead of rpms
  • use ByteString for packages (provides)
  • move to simple-cmd-args (optparse-applicative)
  • add –lenient for rpmspec failures

0.2 (2018-08-17)

  • error if no spec file
  • filter out hidden files from deps search
  • add –version
  • generate manpage with help2man

0.1 (2018-07-18)

  • initial release with sort, deps and rdeps (reverse dependencies) commands