RDO packaging utility
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 changelogs and commit messages. It also contains various functionality we needed for [RDO](https://www.rdoproject.org/) packaging, such as advanced requirements.txt management for python projects.
rdopkg is under constant development, serving mainly the needs of the mighty [RDO](https://www.rdoproject.org/) packager-warriors, but it strives to help all RPM packagers.
Generic [distgit] (https://www.rdoproject.org/documentation/rdo-packaging/#dist-git) and patches management functionality and conventions provided by rdopkg proved to be efficient way of packaging fast-moving upstream projects with minimal human effort.
In order to make this functionality conveniently available for packagers, I’m slowly yet steadily (re)factoring and refining rdopkg features into reusable modules with a grand goal of creating modular packaging tools framework. This goal is described in [pwnpkg](https://github.com/yac/pwnpkg) and you should read it if you’re interested in writing you own packaging tools such as new fedpkg/copr-cli we deserve.
## Installation
### from RPM repo (default)
The easiest and recommended way to get rdopkg is use [jruzicka/rdopkg copr](https://copr.fedoraproject.org/coprs/jruzicka/rdopkg/). The linked page contains instructions howto enable the repository:
dnf copr enable jruzicka/rdopkg
After you’ve enabled the repo, just
dnf install rdopkg
Note that [Fedora review](https://bugzilla.redhat.com/show_bug.cgi?id=1246199) is underway but not likely to finish before pwnpkg split.
### 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](rdopkg.spec) as RPM requirements.
### 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
## 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 guide](https://www.rdoproject.org/documentation/rdo-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 them within days.