Skip to main content

RPM packaging automation tool

Project description

# rdopkg

rdopkg is an RPM packaging automation tool. It provides automation for package maintenance including git-based patches management and automagic rebases to new upstream versions with nice .spec changes, changelogs and commit messages for both CLI and CI usage. It also contains various functionality we needed for [RDO](https://www.rdoproject.org/) packaging, such as advanced requirements.txt management for python projects and [rdoinfo](https://github.com/redhat-openstack/rdoinfo) integration.

Generic [distgit](https://www.rdoproject.org/documentation/intro-packaging/#distgit—where-the-spec-file-lives) and patches management functionality and conventions provided by rdopkg proved to be efficient way of packaging fast-moving upstream projects with minimal human effort but without losing control over individual packages.

rdopkg is now considered stable. It was originally developed to serve the needs of the mighty [RDO](https://www.rdoproject.org/) packager-warriors and their weapons such as [DLRN](https://github.com/softwarefactory-project/DLRN), but it can help with any RPM package. For example, see [how you can manage your RPMs with rdopkg](https://www.rdoproject.org//blog/2017/03/let-rdopkg-manage-your-RPM-package/).

rdopkg uses [software factory](https://softwarefactory-project.io/) for CI and every commit goes through automatic unit, feature, and integration testing as well as human reviews.

See [open rdopkg reviews](https://softwarefactory-project.io/r/#/q/status:open+project:rdopkg).

## Installation

rdopkg is currently compatible with both python 3 and python 2.

### from Fedora/EPEL repos (default)

rdopkg is available on Fedora 25 and newer:

dnf install rdopkg

On CentOS/RHEL 7, rdopkg is available from [EPEL](https://fedoraproject.org/wiki/EPEL).

On CentOS 7:

yum install epel-release yum install rdopkg

On RHEL 7:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install rdopkg

### from source

If you want to hack rdopkg or just have the latest fixes without waiting for next release, I suggest using the git repo directly:

git clone https://github.com/softwarefactory-project/rdopkg cd rdopkg python setup.py develop –user

You may set the preference over rdopkg RPM by correctly positioning ~/.local/bin/rdopkg in your $PATH.

Or you can use virtualenv to avoid conflicts with RPM:

git clone https://github.com/softwarefactory-project/rdopkg cd rdopkg virtualenv –system-site-packages ~/rdopkg-venv source ~/rdopkg-venv/bin/activate python setup.py develop ln which rdopkg ~/bin/rdopkg-dev

rdopkg-dev –version

Required python modules are listed in [requirements.txt](requirements.txt) and also in [rdopkg.spec](https://src.fedoraproject.org/rpms/rdopkg/blob/master/f/rdopkg.spec) as RPM Requires.

### from PyPI

For your convenience, rdopkg is also available from the Cheese Shop. This should come in handy especially if you want to reuse rdopkg as a module.

pip install rdopkg

Note that you need to have python2-rpm(resp. python3-rpm) package installed in order for RPM macro related featuers to work as it isn’t available from PyPI.

## The Manual

Exhaustive rdopkg manual is available, you can:

You might also be interested in [RDO packaging intro](https://www.rdoproject.org/documentation/intro-packaging/) which contains some examples of rdopkg usage and more.

## Bugs

Please use the [github Issues](https://github.com/softwarefactory-project/rdopkg/issues) to report bugs. I usually fix critical bugs within days.

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

rdopkg-1.5.0.tar.gz (141.6 kB view details)

Uploaded Source

Built Distribution

rdopkg-1.5.0-py3-none-any.whl (78.1 kB view details)

Uploaded Python 3

File details

Details for the file rdopkg-1.5.0.tar.gz.

File metadata

  • Download URL: rdopkg-1.5.0.tar.gz
  • Upload date:
  • Size: 141.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.10

File hashes

Hashes for rdopkg-1.5.0.tar.gz
Algorithm Hash digest
SHA256 848cd2a5d636e8aa49ae33058134ba8b0539821a4f5a3f62febee9a8931b22eb
MD5 2aef91043d8ba6b46253352b96b5f5db
BLAKE2b-256 dcee5cb0a19f9b6e5dba865e09df3854f2c69e18401df92b14f79061da890ca2

See more details on using hashes here.

File details

Details for the file rdopkg-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: rdopkg-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 78.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.10

File hashes

Hashes for rdopkg-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cc83d6e2b40cb68bd3b2e4f52880b365a1718f7dbc9b716a83a1850722956b9
MD5 5cddc11d8395585d2db2b062be3449c8
BLAKE2b-256 950b2eb9140d93221298862a9cb36e411e92c992889bd5ec2f2d04260e1d6019

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