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 firstnew-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/