rpkg 1.61 Release Notes
Released on Septempber 4, 2020
Python compatibility
rpkg works with Python 2.6, 2.7, 3.6, 3.7 and 3.8.
What’s new in rpkg 1.61
Passing additional arguments to underlaying commands
- There are two groups of arguments:
standard arguments defined by individual parsers
extra arguments that are relevant for some (individually allowed) commands. They are passed to underlying command (usually appended to the rest of arguments on commandline)
This commit adds a common way that allow user to use extra arguments for ‘x-pkg’ commands. These include mockbuild
, clone
, srpm
, local
, prep
, compile
, install
, verify-files
.
Extra arguments should be placed at the end of the command and separated by ‘–’. Example:
rhpkg --release eng-rhel-7 srpm --arch amd64 -- --define "'python2 0'"
In case above, the --define <value>
argument will be passed to rpmbuild
command, that is internally called by rhpkg
. Additional arguments are applicable to fedpkg
too.
Pytest replaces nosetests
Nosetests tool is deprecated. Also tools supporting Python2.6 test-environment are deprecated one by one. So this was removed too. Pytest tool will run the unit tests. When make test
is run, all neccessary dependencies are installed by pip.
Also allows execute tests with command python setup.py test
.
Added a extendable layout module to deal with different package layouts within the CLI
Layouts for DistGit
package and exposed source RPM (SRPM
) were created. Mentioned ‘SRPM’ package contains subdirectories like ‘SOURCES’, ‘SPECS’, ‘BUILD’, ‘RPMS’, ‘SRPMS’.
Special layout for covering retired packages is created. It contains only a ‘dead.module’ or ‘dead.package’ marker file. When DistGit or SRPM package is retired, it is switched to that layout.
Skip directories inside of imported srpm file
Fixes fail when fedpkg import *.src.rpm
is run and imported file contains a directory (even empty). Now a warning is shown and the directory is skipped.
Switch from krb_login to gssapi_login
Replaces deprecated method krb_login
. Authentication to koji is now performed via koji’s gssapi_login
method.
Fixed clog tests
On some systems ‘clog’ command provides different (empty) output. Bug was explained as problem with changelog trimming. This was fixed in two phases. At first tests were disabled and later workaround was applied [1]. It will stay in code until it is released in particular distributions of rpm.
Suggest a way to track remote branch in the error log
Shows better error message when remote branch is not tracked and suggests a command to fix it. Adds a real branch name to simplify copy&paste operation.
Check repo name for correct format
During clone
command, passing URL with as a ‘repo’ argument is a common mistake. Instead, just the name of the repository is sufficient. URL base of the repo is already specified in the config. This fix adds check for this mistake on command-line input.
Just to remind, the correct format of the command is: fedpkg clone repo_name
or rhpkg clone repo_name
.
Repair downloading sources into external directory
Fixes errors during fedpkg sources --outdir <path>
Coding style changes
Repair compatible formatting for Python 2.6
Old deprecated code for ‘kojiconfig’ was removed.
Updated supported plaforms in documentation
Other small fixes
Pytest update and MANIFEST.in prune
Skip ‘sources’ file when it is missing
Change Logs
Pytest update and MANIFEST.in prune (onosek)
Re-enable clog tests - rpm#1301 (onosek)
Skip directories inside of imported srpm file - rhbz#1866297 (onosek)
Skip ‘sources’ file when it is missing - rhbz#1867440 rhbz#1869848 (onosek)
New layout for retired packages - rhbz#1867822 (onosek)
added a extendable layout module to deal with different package layouts within the CLI (lrossett)
Pytest replaces nosetests - #501 (onosek)
Disable some test for ‘clog’ functionality (onosek)
Suggest a way to track remote branch - update (onosek)
Suggest a way to track remote branch in the error log - #507 (cqi)
Remove deprecated support for kojiconfig - #498 (onosek)
Switch from krb_login to gssapi_login - rhbz#1830430 #498 (onosek)
Disable test method’s docstring in nosetests list (onosek)
Check repo name for correct format (onosek)
Unittests for passing additional arguments (onosek)
Passing additional arguments to underlaying commands - #432 #413 (onosek)
Updated supported plaforms in documentation (onosek)
Repair compatible formatting for Python 2.6 (onosek)
Repair downloading sources into external directory (onosek)