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.21.post1.tar.gz (3.7 MB view details)

Uploaded Source

Built Distributions

libcomps-0.1.21.post1-cp312-cp312-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

libcomps-0.1.21.post1-cp311-cp311-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

libcomps-0.1.21.post1-cp311-cp311-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARM64

libcomps-0.1.21.post1-cp310-cp310-manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

libcomps-0.1.21.post1-cp39-cp39-manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

libcomps-0.1.21.post1-cp39-cp39-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARM64

File details

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

File metadata

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

File hashes

Hashes for libcomps-0.1.21.post1.tar.gz
Algorithm Hash digest
SHA256 d92c8506d7b9ed993f8bfd9e6be6b63753ee45fe6beb063c90bac94dcd222f74
MD5 47527b2e81eecae800276336d1ca2b9d
BLAKE2b-256 ee15f89f4e218c8d359f9fde0f673409881bb0944cf14c8c5aabad8482072d6b

See more details on using hashes here.

File details

Details for the file libcomps-0.1.21.post1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.21.post1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6eaa790a390cc292249efe48049bcfb47e0e6d51cddc20ef337ee967ba5190de
MD5 eb572670d4532ae6cbd7846bdfbd8372
BLAKE2b-256 85a0560adf91b54bfc048a8c425cad57b5c4f30762bddc39d0ec0be6adb57919

See more details on using hashes here.

File details

Details for the file libcomps-0.1.21.post1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.21.post1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 37f602ff24cdde3e9c8a5aa021c785933734ea952b92e5e3b6f0d50dca9ffe53
MD5 d5f80321eac6ad99ebab9d83a55d60f3
BLAKE2b-256 5dae5840043cf930c70f47a1ee09321250cf51eccf68976ca58b01e638b0977c

See more details on using hashes here.

File details

Details for the file libcomps-0.1.21.post1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.21.post1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4797ae6bf6f566b920c5ef9f42eebf1148983483207088b3c5f0add08064fd57
MD5 9e0e11e2e8c3964a8600c77c41e9d356
BLAKE2b-256 17eb25cf943b32e172762ea8acf5da80b545b9140fc30ac21b5cd7c276a3b6de

See more details on using hashes here.

File details

Details for the file libcomps-0.1.21.post1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.21.post1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 69a1bea0bf9b2d9bd16688ceaaab4a3b54e8d83c4871f764d2d034fdafcc074d
MD5 b518e2b98c175c4aa857e5fc68d53f22
BLAKE2b-256 7e6ae7f63296b0176f6d961160886611f626a5e9b6cf55844124ddafad5096fe

See more details on using hashes here.

File details

Details for the file libcomps-0.1.21.post1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.21.post1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a6eef6ad6822180399d7d37a41b9948e94a81c1f5489055fa7dfa17ad0fb92f
MD5 8de7318711996a370fd6d13e4fcca25d
BLAKE2b-256 7a9304c07dac45dc67cd8e0b0365c8e6e04a06f22ce08c711caa9c914a082d39

See more details on using hashes here.

File details

Details for the file libcomps-0.1.21.post1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libcomps-0.1.21.post1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c27674b413dd330a363b7f9780135dae97b2f9e88e4366fc35554471e9bde239
MD5 cc680366786c3e06b10fe7a43b1a09ba
BLAKE2b-256 5929d14822ff19894373bacbfa4eec2a718e417d6ef8a3d426cfd805fcc9bd0a

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