Planex is a toolkit for building collections of interdependent RPMs. The main tools are:
planex-depend- extracts dependencies from Spec files, inmakeformatplanex-fetch- downloads sources specified in Spec filesplanex-cache- similar toccache, caches previous builds to speed up rebuildsplanex-pin- for developers, overrides Spec file sources with local development repositories
Planex also contains a generic makefile which handles dependency resolution and sequences the build. Partial rebuilds and concurrent builds are both supported. By default, packages are built in mock chroots but this can be changed by overriding a variable in the makefile.
Planex runs on RedHat- and Debian-like Linux distributions. On Debian, the planex-makedeb tool can generate source packages which can be passed to cowbuilder to produce binary .deb packages. The makefile has rules to sequence Debian package builds, but planex-cache cannot be used.
Building a Planex project is straightforward. The Planex repository includes a small demo project:
cd planex-demo
make
See the planex-demo README for a more advanced tutorial, including how to use planex-pin for development.
yum install epel-release
yum install https://xenserver.github.io/planex-release/release/rpm/el/planex-release-7-1.noarch.rpm
yum install planexyum install https://xenserver.github.io/planex-release/release/rpm/fedora/planex-release-21-1.noarch.rpm
yum install planexyum install epel-release yum-utils
yum-builddep planex.specdnf builddep planex.specapt-get -qy install python-rpm python-setuptools python-argparse rpmpython setup.py build
nosetestspython setup.py install