Skip to main content

A python library and runtime script for managing RPMpackage sources in a git repository

Project description

Introduction

This is the rpkg project, which mostly is a python library for dealing with rpm packaging in a git source control. pyrpkg is the base library that sites can subclass to create useful tools.

rpkg works with Python 2.7, 3.6, 3.9, 3.12 and 3.13.

License

Unless otherwise specified, all files are licensed under GPLv2+.

Installation

Install from distribution packages

rpkg is available in Fedora and EPEL repositories. It can be installed with package manager command. There is Python 3 package for Fedora and EPEL8; and Python 2 package in EPEL7.

Install in a Fedora system:

sudo dnf install python3-rpkg

Install in EPEL7:

sudo yum install python2-rpkg

Install in EPEL8:

sudo dnf install python3-rpkg

Install in a Python virtual environment

Both Python 2 and 3 packages are published in PyPI. Install rpkg in a Python 3 virtual environment in these steps:

python3 -m venv .env
source .env/bin/activate
pip install rpkg rpm-py-installer

You are free to create a virtual environment with option --system-site-packages.

Please note that, rpkg depends on some other utilities to build packages. These packages are required to be installed as well.

  • mock: for local mockbuild.

  • rpm-build: for local RPM build, which provides the command line rpm.

  • rpmlint: check SPEC.

  • copr-cli: for building package in Fedora Copr.

  • module-build-service: for building modules.

Contribution

You are welcome to write patches to fix or improve rpkg. All code should work with Python 2.7, and 3. Before you create a PR to propose your changes, make sure

Sign-off commit

Make sure to sign-off your commits by git commit -s. This serves as a confirmation that you have the right to submit your changes. See Developer Certificate of Origin for details.

Run Tests

Before make a pull request, ensure local changes pass all test cases.

Before run tests, install these packages:

sudo dnf install python27 python36 python39 git make gcc rpm-build \
rpm-devel libcurl-devel krb5-devel openssl-devel python3-devel

To run tests simply, make test.

By default, target test runs tests with all supported Python versions. However, if you look into Makefile, there is still a target tox that allows developer to run tests with test environments one by one.

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

rpkg-1.69.tar.gz (223.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rpkg-1.69-py2.py3-none-any.whl (110.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file rpkg-1.69.tar.gz.

File metadata

  • Download URL: rpkg-1.69.tar.gz
  • Upload date:
  • Size: 223.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for rpkg-1.69.tar.gz
Algorithm Hash digest
SHA256 17e12024961e20e361cfd767d54b103f38009904e8e1da97ccfc451435cd4fcb
MD5 36f2c19afd596994598970fd6b5e069f
BLAKE2b-256 1f9d050c2d91bb2c88430fc0e8bc607a44c83f8870da577832b76a34ca2412a9

See more details on using hashes here.

File details

Details for the file rpkg-1.69-py2.py3-none-any.whl.

File metadata

  • Download URL: rpkg-1.69-py2.py3-none-any.whl
  • Upload date:
  • Size: 110.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for rpkg-1.69-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3a628ebac2f25770535b492de33ff03e12736ddf7e5461739081e7d01eaab5fa
MD5 2d12073ab99150f517e04d0fa561a743
BLAKE2b-256 69765737ac21fe50c2d0a8ffb2b416be5fe3008347096015d747d5262e2877af

See more details on using hashes here.

Supported by

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