File: //usr/share/doc/libcomps/README.md
libcomps
========
Libcomps is alternative for yum.comps library. It's written in pure C as library
and there's bindings for python2 and python3.
Building
--------
### Requirements
for automatic build system:
* cmake ( >= 2.6) http://www.cmake.org/
* make http://ftp.gnu.org/gnu/make/
for libcomps library:
* zlib http://www.zlib.net/
* libxml2 http://www.xmlsoft.org/
* expat http://expat.sourceforge.net/
* gcc http://gcc.gnu.org/
for python bindings:
* python http://python.org/
for C library tests:
* check http://check.sourceforge.net/
for documentation build:
* doxygen http://www.stack.nl/~dimitri/doxygen/
for rpm building:
* tito https://github.com/dgoodwin/tito
### Building
1. clone this repository
git clone https://github.com/midnightercz/libcomps.git
2. from the checkout dir:
mkdir build
cd build/
cmake ../libcomps -DPYTHON_DESIRED=3
(alternatively cmake ../libcomps -DPYTHON_DESIRED=3 for python2 bindings)
make
3. building the documentation:
make docs
make pydocs
### Building rpm package
You can use tito for building rpm package. From checkout dir:
tito build --rpm --test
### Installing
* After successful build run:
make install
* Or install rpm package
### Testing
After build, you can find test for C library in __tests directory__, starting with
`test_` prefix. Binding tests are at (for now) same directory as python binding
library. You can run `python __test.py` or `python3 __test.py` (even without
installing library) for tests bindings. Also this unittest serves as python
bindings documentation
(for now).
### Documentation
After build, documentation is in __docs directory__. Documentation is built
in html xml and latex format. Only uncomplete documentation for C library
is available at the moment. Look at bindings unittest `__test.py__` for python
bindings usage.