Skip to main content

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:

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.

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-0.45.0.tar.gz (114.9 kB view hashes)

Uploaded Source

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