Skip to main content

# 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 only.

### from Fedora/EPEL repos (default)

rdopkg is available on Fedora 37 and newer:

dnf install rdopkg

On CentOS Stream/RHEL 8/9, rdopkg is available from [EPEL](https://docs.fedoraproject.org/en-US/epel/).

On CentOS Stream 8:

dnf config-manager –set-enabled powertools dnf install epel-release dnf install rdopkg

On CentOS Stream 9:

dnf config-manager –set-enabled crb dnf install epel-release dnf 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 pip install -e rdopkg

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 pip install -e . 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 python3-rpm package installed in order for RPM macro related features 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.

Release files for rdopkg 1.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rdopkg 1.8.0
File Size Uploaded
rdopkg-1.8.0.tar.gz 146.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rdopkg 1.8.0
File Interpreter ABI Platform
rdopkg-1.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 226.6 kB

Release files / rdopkg-1.8.0.tar.gz

Download URL rdopkg-1.8.0.tar.gz
Size 146.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6679ab027ff9cf25a907873cff7c9b7ae70ddbee1b33d9853e0299e370c735a8
BLAKE2b-256 checksum
How to use checksums
caf6620fead26ff619d5f4a676e932efc6750126deced9efac295ae0119cbd47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / rdopkg-1.8.0-py3-none-any.whl

Download URL rdopkg-1.8.0-py3-none-any.whl
Size 79.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
85f1609cea4e97641e95bf40dcbd3361d69c474314f123bb7ab67e4cc0ee37d3
BLAKE2b-256 checksum
How to use checksums
32d5b665f86f40f86cc2395978ecda7caeb16048ae2c0e45a642a494e5037b08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release history Release notifications | RSS feed

This release

1.8.0 This release

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.52.0

2 release files

0.49.0

2 release files

0.47.3

2 release files

0.47.2

2 release files

0.47.1

2 release files

0.46.3

2 release files

0.46.2

2 release files

0.46.1

2 release files

0.46.0

2 release files

0.45.0

1 release file

0.44.2

1 release file

0.44.1

1 release file

0.44.0

1 release file

0.43

1 release file

0.42

1 release file

0.41.4

1 release file

0.41.3

1 release file

0.41.2

1 release file

0.41.1

1 release file

0.41

1 release file

0.40

1 release file

0.39

1 release file

0.38

1 release file

0.37

1 release file

0.36

1 release file

0.35.1

1 release file

0.35

1 release file

0.34

1 release file

0.33

1 release file

0.32.1

1 release file

0.32

1 release file

0.31

1 release file

0.30

1 release file

0.29.1

1 release file

0.29

1 release file

0.28.1

1 release file

0.28

1 release file

0.27.1

1 release file

0.26

1 release file

0.25

1 release file

0.24

1 release file

0.23.1

1 release file

0.23

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page