Package: rdopkg
# rdopkgrdopkgis 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 advancedrequirements.txtmanagement 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 byrdopkgproved to be efficient way of packaging fast-moving upstream projects with
minimal human effort but without losing control over individual packages.rdopkgis now consideredstable. 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/).rdopkguses [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).## Installationrdopkgis currently compatible with both python 3 and python 2.### from Fedora/EPEL repos (default)rdopkgis available onFedora 25and newer:dnf install rdopkgOn CentOS/RHEL 7,rdopkgis available from
[EPEL](https://fedoraproject.org/wiki/EPEL).OnCentOS 7:yum install epel-release
yum install rdopkgOnRHEL 7:yum installhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmyum install rdopkg### from sourceIf you want to hackrdopkgor just have the latest fixes without waiting for
next release, I suggest using the git repo directly:git clonehttps://github.com/softwarefactory-project/rdopkgcd rdopkg
python setup.py develop –userYou may set the preference overrdopkgRPM by correctly positioning~/.local/bin/rdopkgin your$PATH.Or you can use virtualenv to avoid conflicts with RPM:git clonehttps://github.com/softwarefactory-project/rdopkgcd rdopkg
virtualenv –system-site-packages ~/rdopkg-venv
source ~/rdopkg-venv/bin/activate
python setup.py develop
lnwhich rdopkg~/bin/rdopkg-devrdopkg-dev –versionRequired 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 PyPIFor your convenience,rdopkgis also available from the Cheese
Shop. This should come in handy especially if you want to reuserdopkgas
a module.pip install rdopkgNote 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 ManualExhaustiverdopkgmanual is available, you can:read it nicely rendered on github: [rdopkg manual](https://github.com/softwarefactory-project/rdopkg/blob/master/doc/rdopkg.1.adoc)runman rdopkgif you installed from RPMrender it to HTML/man usingmake docYou might also be interested in
[RDO packaging intro](https://www.rdoproject.org/documentation/intro-packaging/)
which contains some examples ofrdopkgusage and more.## BugsPlease use the
[github Issues](https://github.com/softwarefactory-project/rdopkg/issues)
to report bugs. I usually fix critical bugs within days.