Package: libcomps
libcompsLibcomps is alternative for yum.comps library. It's written in pure C as library
with Python bindings.BuildingRequirementsfor automatic build system:cmake ( >= 2.6)http://www.cmake.org/makehttp://ftp.gnu.org/gnu/make/for libcomps library:zlibhttp://www.zlib.net/libxml2http://www.xmlsoft.org/expathttp://expat.sourceforge.net/gcchttp://gcc.gnu.org/for python bindings:pythonhttp://python.org/for C library tests:checkhttp://check.sourceforge.net/for documentation build:doxygenhttp://www.stack.nl/~dimitri/doxygen/for rpm building:titohttps://github.com/dgoodwin/titoBuildingclone this repository
git clonehttps://github.com/rpm-software-management/libcomps.gitfrom the checkout dir:mkdir build
 cd build/
 cmake ../libcomps
 makebuilding the documentation:make docs
 make pydocsBuilding rpm packageYou can use tito for building rpm package. From checkout dir:tito build --rpm --testBuilding Python packageTo create a binary "wheel" distribution, use:python setup.py bdist_wheelTo create a source distribution, use:python setup.py sdistInstalling source distributions require the installer of the package to have all of the build dependencies installed on their system, since they compile the code during installation. Binary distributions are pre-compiled, but they are likely not portable between substantially different systems, e.g. Fedora and Ubuntu.Note: if you are building a bdist or installing the sdist on a system with an older version of Pip, you may need to install thescikit-buildPython package first.To install either of these packages, use:pip install dist/{{ package name }}To create an "editable" install of libcomps, use:python setup.py developNote: To recompile the libraries and binaries, you muse re-run this command.InstallingAfter successful build run:
make installOr install rpm packageTestingAfter build, you can find test for C library intests  directory, starting withtest_prefix. Binding tests are at (for now) same directory as python binding
library. You can runpython __test.pyorpython3 __test.py(even without
installing library) for tests bindings. Also this unittest serves as python
bindings documentation
(for now).DocumentationAfter build, documentation is indocs 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.ContributionHere's the most direct way to get your work merged into the project.Fork the projectClone down your forkImplement your feature or bug fix and commit changesIf the change fixes a bug atRed Hat bugzilla, or if it is important to the end user, add the following block to the commit message:= changelog =
msg:           message to be included in the changelog
type:          one of: bugfix/enhancement/security (this field is required when message is present)
resolves:      URLs to bugs or issues resolved by this commit (can be specified multiple times)
related:       URLs to any related bugs or issues (can be specified multiple times)For example::= changelog =
msg: Do not skip type=mandatory in xml output
type: bugfix
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1771224For your convenience, you can also use git commit template by running the following command in the top-level directory of this project:git config commit.template ./.git-commit-templatePush the branch to your forkSend a pull request for your branch