Planex is a toolkit for building collections of interdependent RPMs. The main tools are:
planex-depend
- extracts dependencies from Spec files, inmake
formatplanex-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.
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 planex
yum install https://xenserver.github.io/planex-release/release/rpm/fedora/planex-release-23-1.noarch.rpm
yum install planex
yum install epel-release yum-utils
yum-builddep planex.spec
dnf builddep planex.spec
apt-get -qy install python-rpm python-setuptools python-argparse rpm
python setup.py build
nosetests
python setup.py install