Koji 1.16.0 Release notes¶
Migrating from Koji 1.15¶
For details on migrating see Migrating to Koji 1.16
Security Fixes¶
CVE-2018-1002150 - distRepoMove missing access check
This release includes the fix for CVE-2018-1002150.
Client Changes¶
CLI commands to manage notifications
The change adds new cli sub-commands:
list-notifications
add-notification
remove-notification
edit-notification
Previously this functionality was only available through the web ui or by making direct api calls.
Add –old-chroot option to runroot command
This option causes the runroot handler to pass the same-named option
to the mock command. This complements the existing --new-chroot
option.
If neither --old-chroot
or --new-chroot
is given, then mock will
follow its default behavior. This default varies across mock versions.
For newer versions of mock, --new-chroot
is the default (uses a
systemd nspawn container).
Fix runroot output on py3
The runroot command should now work under python3.
Honor runroot –quiet
The --quiet
option was added to the runroot command in version 1.15,
but it only took effect when the --watch
option was given. Now it is
honored in all cases.
Drop old ssl code
The old koji.ssl
module has been removed, and the use_old_ssl
option
has been removed from client code.
Because these files (which were originally from Plague) were the only parts of Koji that were licensed as GPLv2+, Koji is now simply licensed as LGPLv2.
Builder Changes¶
Configure install timeout for imagefactory
Previously the install timeout parameter for imagefactory was set
to a fixed value of 7200 by Koji. Now it can be controlled by
setting the oz_install_timeout
option in kojid.conf
.
A value of 0
will disable the timeout.
Record log timestamps
If the log_timestamps
option is enabled in kojid.conf
, then
the builder will record a separate timestamp file for each log file
in a build.
The filename for the timestamp file is generated by taking the name
of the log file and appending -ts.log
. So build.log
will have
timestamp data in build.log-ts.log
.
The format of the timestamp log is plain text with each line showing a numeric timestamp and a line offset.
Builder option: chroot_tmpdir
The new chroot_tmpdir
option controls which directory within buildroots
is used for various temporary data by the Koji builder daemon.
Previously this was hardcoded to /builddir/tmp
, which created problems
with modern versions of mock.
The default value is /chroot_tmpdir
.
Add internal_dev_setup option to runroot config
The internal_dev_setup
config option for the runroot builder plugin
controls whether the mock option of the same name is set for runroot
tasks.
System Changes¶
Add option to configure DB port
The hub now accepts a DBPort
option in hub.conf
, which specifies
which port the hub should use when connecting to the database.
Split debuginfo for dist repos
Dist repos can now be generated with debuginfo files split into a separate
repo. The behavior is controlled by passing the --split-debuginfo
option
to the dist-repo
subcommand.
When this option is in effect, the main repo will be in the normal location.
The debuginfo repo will be in the debug
subdirectory. So, you will
see a directory structure like:
Packages/
repodata/
debug/
debug/repodata
Regardless of the split, all the rpms are located in the top level
Packages
directory.
Notifications in [un]tagBuildBypass
Previously the tagBuildBypass
and untagBuildBypass
calls did not trigger
notifications. Now they will do so by default. The call now accepts a
notify
option (defaults to True) which controls the behavior.
Track history for host data
Koji now tracks changes to host data similarly to the way it tracks changes for other data. This includes
enabled state
arches
capacity
description & comment
channels
The list-history
cli command now supports --host
and --channel
options to select history entries for a host or channel.
The versioned host data is stored in the host_config
and host_channels
tables.
Fix block-group functionality
The block-group
command and its underlying api call now actually work.
Strict option for archive listing calls
The list_archives
, get_archive_file()
, and list_archive_files()
hub functions now accept a strict option, which defaults to False. When
the option is True, the call will raise an exception if there is no
match.
Search build by source
The listBuilds()
api call now supports a source option. This is
treated as a glob pattern and matched against the source
field of the build.
Option to ignore tags in kojira
Kojira now supports an ignore_tags
option. This is treated as a
space-separated list of glob patterns. Tags that match are ignored
by kojira (it will not generate newRepo tasks for them).
Improve kojira throughput
Kojira should be much more responsive in triggering newRepo
tasks.
Drop migrateImage call
The migrateImage
call hub call has been removed.
This call was added in version 1.8 (April 2013) as a one-time tool for migrating images from the old model (no build entry) to the new model (image build type). It was only available if the EnableImageMigration option was set on the hub.