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 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:
read it nicely rendered on github: [rdopkg manual](https://github.com/softwarefactory-project/rdopkg/blob/master/doc/rdopkg.1.adoc)
run man rdopkg if you installed from RPM
render it to HTML/man using make doc
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rdopkg-1.8.0.tar.gz
.
File metadata
- Download URL: rdopkg-1.8.0.tar.gz
- Upload date:
- Size: 146.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6679ab027ff9cf25a907873cff7c9b7ae70ddbee1b33d9853e0299e370c735a8 |
|
MD5 | e9e7c725b7fbb14c7206a6232b56cb9b |
|
BLAKE2b-256 | caf6620fead26ff619d5f4a676e932efc6750126deced9efac295ae0119cbd47 |
File details
Details for the file rdopkg-1.8.0-py3-none-any.whl
.
File metadata
- Download URL: rdopkg-1.8.0-py3-none-any.whl
- Upload date:
- Size: 79.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85f1609cea4e97641e95bf40dcbd3361d69c474314f123bb7ab67e4cc0ee37d3 |
|
MD5 | 2bd557050d837c00fafb99dc973359d0 |
|
BLAKE2b-256 | 32d5b665f86f40f86cc2395978ecda7caeb16048ae2c0e45a642a494e5037b08 |