Skip to main content

Comps XML file manipulation library

Project description

libcomps

Libcomps is alternative for yum.comps library. It's written in pure C as library with Python bindings.

Building

Requirements

for automatic build system:

for libcomps library:

for python bindings:

for C library tests:

for documentation build:

for rpm building:

Building

  1. clone this repository git clone https://github.com/rpm-software-management/libcomps.git

  2. from the checkout dir:

     mkdir build
     cd build/
     cmake ../libcomps
     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

Building Python package

To create a binary "wheel" distribution, use:

python setup.py bdist_wheel

To create a source distribution, use:

python setup.py sdist

Installing 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 the scikit-build Python 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 develop

Note: To recompile the libraries and binaries, you muse re-run this command.

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.

Contribution

Here's the most direct way to get your work merged into the project.

  1. Fork the project

  2. Clone down your fork

  3. Implement your feature or bug fix and commit changes

  4. If the change fixes a bug at Red 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=1771224
      
    • For 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-template
      
  5. Push the branch to your fork

  6. Send a pull request for your branch

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libcomps-0.1.20.post1.tar.gz (3.7 MB view details)

Uploaded Source

Built Distributions

libcomps-0.1.20.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

libcomps-0.1.20.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

libcomps-0.1.20.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

libcomps-0.1.20.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

libcomps-0.1.20.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

libcomps-0.1.20.post1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

File details

Details for the file libcomps-0.1.20.post1.tar.gz.

File metadata

  • Download URL: libcomps-0.1.20.post1.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for libcomps-0.1.20.post1.tar.gz
Algorithm Hash digest
SHA256 f59071f436aab48fa2323daa1c7a60bd134363f304be2487e493f7910db30224
MD5 3627ad72f7a6301e917a35eb84ad4072
BLAKE2b-256 218a33bf35ce5df912a8e82c68ee3226e35d001f7b4a2b79ee0a725efc4655bd

See more details on using hashes here.

File details

Details for the file libcomps-0.1.20.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.20.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40742bb81078d67beb12297fad850e10a61fc3d5950bd59e429cd34b7851a982
MD5 7a313c846500799ddbe081f3b008e012
BLAKE2b-256 ecce49b2259807145c3bca7bc0573fc51275d1f59a6a6b6c6a9261b8dde1c87f

See more details on using hashes here.

File details

Details for the file libcomps-0.1.20.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.20.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 655dbee297141bd3e30f3bd1b68c9cce7f658252b0cb7f218e49184c09bb490a
MD5 320582e19ee8e8e55410e30b9d687cfa
BLAKE2b-256 dea966ad9b0a06a7447c772ac0ce259e7edba8e1e171dc182f3a00109a1c4991

See more details on using hashes here.

File details

Details for the file libcomps-0.1.20.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.20.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6a266c3c988ceacaf0c3e93ca5ff697c6198e93121be916336c32b25710fa53
MD5 dc2fa69bee9931d8e14bdb496dc47b70
BLAKE2b-256 8cfedd1118e0b4579028a147b95629f358708de49604ea5dde3a441aadbd7e14

See more details on using hashes here.

File details

Details for the file libcomps-0.1.20.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.20.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18f3740315ed298233bad89a18aa45941a15a1b2c76172cf7c4b8acb0749fea0
MD5 bdc21c0869b0ca6519ba57ffb5726283
BLAKE2b-256 5d33c67c7667f7d97a13c251b2ae97aaf35cf2c3d6cea1360d4668809276d524

See more details on using hashes here.

File details

Details for the file libcomps-0.1.20.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.20.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24d7a715b464451b1708c8e2131d2196e31a298409e44bf59cc39c937cb4af32
MD5 2c7c48776a965fae3ed65fcf4b654f4b
BLAKE2b-256 d11e1461d3d6e51031214db1125105bbfaba77888a42dd2077654b8934c6fc6c

See more details on using hashes here.

File details

Details for the file libcomps-0.1.20.post1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.20.post1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8a7243c466096a70ef43d90b343ee3241564eb151adbdbbe191bbb1862a3269
MD5 fc7a111ac14432a41fd23794336651d5
BLAKE2b-256 6466050e7c5dbb52e09666550130a1d91c5684450ef0407deedb0db99b84a256

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page