rpkg 1.58 Release Notes

Released on April 29, 2019

Python compatibility

rpkg works with Python 2.6, 2.7, 3.6 and 3.7.

What’s new in rpkg 1.58

Improvements for scratch module builds

  • Allow module-build-watch to exit when a scratch build completes.

  • Add scratch status to module-build-info output.

  • Add scratch module build sub-commands and updates for handling custom modulemd file and SRPMs.

  • Add tests for scratch module builds and adjust existing tests for new scratch option.

  • Allow custom SRPMs with local module builds for consistency with module scratch builds.

Allow passing arguments to “mbs-manager build_module_locally”.

It is now possible to build modules offline without any external infrastructure using the MBS. This is done by passing --offline and -r/--repository flags to mbs-manager and the list of repositories for the base module.

Remove the ability to parse a module’s branch

Remove the ability to parse a module’s branch automatically to determine the base module stream override.

This functionality was moved to MBS directly instead of having rpkg do it: PR#1176

Permit setting arbitrary rpm macros during build

Added argument --define to pass custom macros to rpmbuild. May be specified multiple times. Applicable to commands: compile, install, local, prep, srpm, verify-files.

Ignore files in a cloned repository

Git will ignore automatically generated files. Ignored patterns can be specified in rhpkg/fedpkg config. Patterns are applied in .git/info/exclude file only when repository is cloned. And changes are valid only for local repository.

Pass specific arguments to “mock”

In mockbuild:

  • Pass --enable-network to “mock” command.

  • Pass --disablerepo and --enablerepo to “mock” command. Both arguments can be used multiple times.

Added “depth” argument to “git clone”

Added --depth argument for git clone command. It creates a shallow clone with a history truncated to the specified number of commits. Cloning mostly applies with single branch (with argument --branch).

Watch multiple module builds

Code is written to be able to watch multiple module builds just after submitting a module build. Command module-build-watch also accepts command line arguments (multiple build_id) to watch specified builds.

Add the ability to configure multiple regex expressions

Add the ability to configure multiple regex expressions for base_module_stream_regex_from_branch.

Add “retire” command supporting both packages and modules

There was previously a retire command in fedpkg supporting only packages. This brings the retire command into rpkg with added support for a module-specific dead.module marker file.

Import srpm without uploading sources

Add new argument --offline for command import. Files won’t be uploaded to lookaside cache.

Ignore any specified profile when finding the Flatpak build target

The source module for a Flatpak build can be specified as something like flatpak-runtime:28/sdk to indicate that the Flatpak is built from the “sdk” profile of the flatpak-runtime module. This should be ignored when looking up module builds to find the platform stream and build target.

Added update-docs script

Script (doc/update-docs.sh) that updates html documentation git repository on Pagure. And unify it with fedpkg version of the script.

Change Logs

  • Ignore files in a cloned repository - #355 (onosek)

  • Handle data from python RPM binding as UTF-8 string (zebob.m)

  • srpm_import: be compatible with rhbz#1693751, #677 (praiskup)

  • Pass –enable-network to mock - #314 (onosek)

  • Enhance ‘module-overview’ sub-command to show scratch status of modules. (mmathesi)

  • Remove the ability to parse a module’s branch automatically to determine the base module stream override (mprahl)

  • Improvements for scratch module builds (mmathesi)

  • Updates to support scratch module builds (mmathesi)

  • Refactor fake Koji credential handling from TestBuildPackage class into new FakeKojiCreds class so it can be shared with TestModulesCli class. (mmathesi)

  • Make Koji upload methods more generic so they can be reused. (mmathesi)

  • Allow passing –offline and -r to mbs-manager build_module_locally. (jkaluza)

  • Depth param for clone - tuning (onosek)

  • Depth param for clone - #363 (onosek)

  • Pass –disablerepo and –enablerepo to mock - #313 (onosek)

  • Import srpm without uploading sources - rhbz#1175262 (onosek)

  • Ignore any specified profile when finding the Flatpak build target (otaylor)

  • Show module build links in output from command module-build (cqi)

  • Add ‘retire’ command supporting both packages and modules (mmathesi)

  • Fix “push –force” (tim)

  • Container-build returns its status to command-line - #415 (onosek)

  • Upload .crate files to lookaside cache - #312 (onosek)

  • Restrict version of PyYAML on Python 2.6 (lsedlar)

  • Simplify srpm method (onosek)

  • Permit setting arbitrary rpm macros during build (riehecky)

  • Add the ability to configure multiple regex expressions for base_module_stream_regex_from_branch (mprahl)

  • Do not require PyGObject in setup.py - rhbz#1679365 (onosek)

  • Fixing failing Jenkins tests (onosek)

  • Unify update-docs script with fedpkg version (onosek)

  • README: add links (onosek)

  • Watch multiple module builds (cqi)

  • Added update-docs script (onosek)