rpkg 1.57 Release Notes
Released on December 07, 2018
Python compatibility
rpkg works with Python 2.6, 2.7, 3.6 and 3.7.
What’s new in rpkg 1.57
Send source mtime to “dist-git”
Modification time of uploaded files is now sent to dist-git
.
New subcommand “flatpak-build”
The flatpak-build
subcommand starts a build of the current git
repository as a Flatpak. It’s pretty much identical to container-build
,
but the build target is determined by looking up the module that will be
built into the flatpak in container.yaml
and then determining what
platform version that uses by traversing module dependencies.
Requires Python-2.7 and newer. Also libmodulemd
library.
Support for “Factory”
Add the ability to pass in buildrequire and require overrides on a module build.
Add config options to parse the base module (e.g. platform) stream from
the dist-git
branch and apply a buildrequire override.
Raise an error if the module-build
command receives optional arguments
that conflict
Validate the “module build” - “optional” argument
When parsing arguments, rpkg will validate the module build
- optional
argument. Its format is unchanged. Example:
--optional', 'scmurl=git://pkgs.fedoraproject.org/modules/testmodule?#1234
Improve running tests with “tox”
Specify dependent packages in one place
setup.py
is the place to inject dependent packages, both install or
tests. All the packages are read from pip requirements files pypi.txt
and test-pypi.txt, then modified and packages specific for Python 2.6 are
added in setup.py
.
tox.ini
is updated accordingly as well. Major changes are:
some deeper dependent packages, which have dropped Python 2.6 support, are listed for “py26” specificially.
instead of enabling tox config usedevelop, install dependent packages listed in
setup.py
bypip install -e
option.run tests by
setup.py nosetests
which can install packages listed intests_require
.
As a result, dependent packages for all supported Python versions should
be added to pypi.txt
, which will be in install_requires
eventually.
Any packages specific to Python 2.6 or not should be listed in setup.py
explicitly.
Refine test runner for “py26”
Dependent tools to run tests do not support Python 2.6 recently, like
tox, that causes tox -e py26
fails to create a virtual environment
with python2.6 interpreter.
This patch uses a Makefile to create a Python 2.6 environment with
virtualenv manually and to organize steps to run tests with Python 2.6
and other Python versions in only one command make test
.
make test
can also use environment variable TOX_POSARGS
to pass additional parameters to internal tox
call.
Tests against py26 could be ignored by setting environment variable IGNORE_PY26.
Set configuration in case of “clone --branches” as well
Currently, the configuration settings for credential.helper
and
credential.useHttpPath
and the template from clone_config
are only
applied when cloning into a single target directory. This change
applies them to all target directories when called with the option
--branches
set.
Specify package manager for “mock-config”
The package manager setting has to be specified from the outside. Koji will happily return incorrect config without it.
“Contributing guide” added
File CONTRIBUTING.md
was added. It contains recommendations and
instructions how to successfully contribute to this project.
Change Logs
Use idna 2.7 for Python 2.6 (lsedlar)
Imports are sorted (onosek)
libmodulemd is missing on el7 - #402 (onosek)
Initialize bash autocompletion (onosek)
Set configuration in case of “clone –branches” as well (tim)
Fix fake spec file for clog tests - #400 (cqi)
Move argparse fix from fedpkg - #398 (onosek)
Send source mtime to dist-git - #220 (lsedlar)
Fix tests for mock package manager (lsedlar)
Specify package manager for mock-config (lsedlar)
Add contributing guide (onosek)
Validate the module build optional argument when parsing the argument (mprahl)
Add config options to parse the base module (e.g. platform) stream from the dist-git branch and apply a buildrequire override (mprahl)
Add the ability to pass in buildrequire and require overrides on a module build (mprahl)
Raise an error if the module build command receives optional arguments that conflict (mprahl)
Silence Python3 SafeConfigParser warnings - #388 (mmathesi)
Allow to pass posargs to tox from make (cqi)
Specify dependent packages in one place (cqi)
Don’t registry flatpak-build command on Python-2.6 (otaylor)
Add flatpak-build subcommand (otaylor)
Don’t pass the MBS API URL around as a parameter (otaylor)
TestContainerBuildWithKoji: tear down the mock appropriately (otaylor)
Refine test runner for py26 (cqi)