rdopkg-0.44 ChangeBlog

I’m happy to annouce version 0.44.2 of rdopkg RPM packaging automation
tool has been released.

While a changelog generated from git commits is available in the
original 0.44 release commit
message,
I think it’s also worth a human readable summary of the work done by the rdopkg
community for this release. I’m not sure about the format yet, so I’ll start
with a blog post about the changes – a ChangeBlog ;)

41 commits from 7 contributors were merged over the course of 4
months since last release with average time to land of 6 days.
More stats

For more information about each change, follow the link to inspect related
commit on github.

Software Factory migration
Migrate to softwarefactory-project.io

rdopkg now has a
new home under software factory project
alongside DLRN.
Github repository also
moved from legacy
location to softwarefactory-project namespace.
Issues tracker stays on github.

Versioning
Adopt pbr for version and setup.py management
Include minor version 0.44 -> 0.44.0 as pbr dictates

Python 3 compatibility
Add some Python 3 compatibility fixes
More python 3 compatibility fixes

rdopkg now loads under python3, next step is
running tests using python3
using
tox.

Testing
Add BDD feature tests using python-behave

Unit tests sucked for testing high level behavior so I tried an alternative.
I’m quite pleased with python-behave, see one of first new-version scenarios
written in Gherkin:

Scenario: rdopkg new-version with upstream patches
Given a distgit at Version 0.1 and Release 0.1
Given a patches branch with 5 patches
Given a new version 1.0.0 with 2 patches from patches branch
When I run rdopkg new-version -lntU 1.0.0
Then .spec file tag Version is 1.0.0
Then .spec file tag Release is 1%{?dist}
Then .spec file doesn’t contain patches_base
Then .spec file has 3 patches defined
Then .spec file contains new changelog entry with 1 lines
Then new commit was created

It also looks reasonable on the pyton side.

Avoid test failure due to git hooks
tests: include pep8 in test-requirements.txt
tests: enable nice py.test diffs for common test code
tests: fix gerrit query related unit tests

New Features
pkgenv: display color coded hashes for branches

You can now easily tell the state of branches just by looking at color:

distgit: new -H/–commit-header-file option
patch: new -B/–no-bump option to only sync patches
Add support for buildsys-tags in info-tags-diff
Add options to specify user and mail in changelog entry
allow patches remote and branch to be set in git config
new-version: handle RHCEPH and RHSCON products
guess: return RH osdist for eng- dist-git branches

Improvements
distgit: Use NVR for commit title for multiple changelog lines
Improve %changelog handling
Improve patches_ignore detection
Avoid prompt on non interactive console
Update yum references to dnf
Switch to pycodestyle (pep8 rename)

Fixes
Use absolute path for repo_path

This caused trouble when using rdopkg info -l.

Use always parse_info_file in get_info
Fix output of info-tags-diff for new packages

Refactoring
refactor: merge legacy rdopkg.utils.exception

There is only one place for exceptions now o/

core: refactor unreasonable default atomic=False
make git.config_get behave more like dict.get
specfile: fix improper naming: get_nvr, get_vr
fixed linting

Documentation
document new-version’s –bug argument
Update doc to reflect output change in info-tags-diff

Happy rdopkging!
Quelle: RDO

Published by