#918 Koji 1.16.0 release
Merged 5 years ago by mikem. Opened 5 years ago by mikem.
mikem/koji koji-1.16.0  into  master

file modified
+2 -2
@@ -54,9 +54,9 @@ 

  # built documents.

  #

  # The short X.Y version.

- version = '1.15'

+ version = '1.16'

  # The full version, including alpha/beta/rc tags.

- release = '1.15.0'

+ release = '1.16.0'

  

  # The language for content autogenerated by Sphinx. Refer to documentation

  # for a list of supported languages.

@@ -0,0 +1,32 @@ 

+ Migrating to Koji 1.16

+ ======================

+ 

+ ..

+   reStructured Text formatted

+ 

+ You should consider the following changes when migrating to 1.16:

+ 

+ DB Updates

+ ----------

+ 

+ This release has schema changes to support tracking history for hosts.

+ 

+     * new table: ``host_config``

+     * some fields from the ``host`` table have moved to ``host_config``

+     * the ``host_channels`` table now has versioning data like the other

+       versioned tables

+ 

+ As in previous releases, we provide a migration script that updates the

+ database.

+ 

+ ::

+ 

+     # psql koji koji  </usr/share/doc/koji/docs/schema-upgrade-1.15-1.16.sql

+ 

+ 

+ Other changes

+ -------------

+ 

+ There are numerous other changes in 1.16 that should not have a direct impact

+ on migration. For details see:

+ :doc:`release_notes_1.16`

@@ -5,6 +5,7 @@ 

  .. toctree::

      :maxdepth: 1

  

+     migrating_to_1.16

      migrating_to_1.15

      migrating_to_1.14

      migrating_to_1.13

@@ -5,6 +5,7 @@ 

  .. toctree::

      :maxdepth: 1

  

+     release_notes_1.16

      release_notes_1.15.1

      release_notes_1.15

      release_notes_1.14

@@ -0,0 +1,249 @@ 

+ Koji 1.16.0 Release notes

+ =========================

+ 

+ 

+ Migrating from Koji 1.15

+ ------------------------

+ 

+ For details on migrating see :doc:`migrating_to_1.16`

+ 

+ 

+ 

+ Security Fixes

+ --------------

+ 

+ **CVE-2018-1002150 - distRepoMove missing access check**

+ 

+ This release includes the fix for :doc:`CVE-2018-1002150`.

+ 

+ 

+ Client Changes

+ --------------

+ 

+ **CLI commands to manage notifications**

+ 

+ | PR: https://pagure.io/koji/pull-request/688

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/823

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/828

+ 

+ The runroot command should now work under python3.

+ 

+ 

+ **Honor runroot --quiet**

+ 

+ | PR: https://pagure.io/koji/pull-request/806

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/498

+ 

+ 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 <https://fedoraproject.org/wiki/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**

+ 

+ | PR: https://pagure.io/koji/pull-request/841

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/777

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/787

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/824

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/884

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/914

+ 

+ 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:

+ 

+ .. code-block:: text

+ 

+ 

+     Packages/

+     repodata/

+     debug/

+     debug/repodata

+ 

+ Regardless of the split, all the rpms are located in the top level

+ ``Packages`` directory.

+ 

+ 

+ **Notifications in [un]tagBuildBypass**

+ 

+ | PR: https://pagure.io/koji/pull-request/691

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/778

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/678

+ 

+ The ``block-group`` command and its underlying api call now actually work.

+ 

+ 

+ **Strict option for archive listing calls**

+ 

+ | PR: https://pagure.io/koji/pull-request/734

+ | PR: https://pagure.io/koji/pull-request/748

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/765

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/695

+ 

+ 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**

+ 

+ | PR: https://pagure.io/koji/pull-request/797

+ 

+ Kojira should be much more responsive in triggering ``newRepo`` tasks.

+ 

+ 

+ **Drop migrateImage call**

+ 

+ | PR: https://pagure.io/koji/pull-request/632

+ 

+ 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.

@@ -215,12 +215,31 @@ 

  Notifications

  ^^^^^^^^^^^^^

  

- When authenticated with the Koji web interface, you can setup a

- notification requests to make sure you do not miss when a package you

- care about gets built. Login and scroll to the bottom of the page, there

- you should find a *`Add a

- notification <https://koji.fedoraproject.org/koji/notificationcreate>`__*

- link and a list of your configured notifications.

+ Koji supports a limited number of email notifications:

+ 

+     - build notifications: when builds complete or fail

+     - tag notifications: when builds are tagged or untagged

+ 

+ These mails are sent to:

+ 

+     - the owner of the build in question

+     - (for tag notifications) the owner of the package for the tag

+     - any user who as subscribed to notifications for that package or tag

+ 

+ Users can manage their notification subscriptions in the web interface.

+ To do so, they need to be logged in. The main page (Summary) will list

+ their subscriptions at the bottom. Each entry includes an "edit" and

+ "delete" link. Below that table is an "Add a notification" link for adding

+ new notifications.

+ 

+ Starting in Koji version 1.16.0, users can also manage these subscriptions

+ on the command line. The relevant commands are:

+ 

+     - add-notification

+     - edit-notification

+     - list-notifications

+     - remove-notification

+ 

  

  Building with fedpkg targets

  ----------------------------

file modified
+76 -1
@@ -31,7 +31,7 @@ 

  %define release %{baserelease}

  %endif

  Name: koji

- Version: 1.15.0

+ Version: 1.16.0

  Release: %{release}%{?dist}

  License: LGPLv2

  Summary: Build system tools
@@ -467,6 +467,81 @@ 

  %endif

  

  %changelog

+ * Fri May 10 2018 Mike McLean <mikem at redhat.com> - 1.16.0-1

+ - Fix CVE-2018-1002150 - distRepoMove missing access check

+ - PR#884: Add option to configure DB port

+ - PR#914: dist repo updates

+ - PR#843: make py2 files parseable with py3

+ - PR#841: kojid: make install timeout of imagefactory conf configurable

+ - PR#777: add debug timestamp log for logs

+ - PR#904: replace long with int

+ - PR#911: readTaggedRPMS: passing table 'tag_listing' in eventCondition

+ - PR#691: option for notifications in untagBuildBypass

+ - PR#869: also forget requests session in _forget()

+ - PR#874: Update URL for Open Science Grid Koji instance

+ - PR#883: Doc: add repos-dist to koji filesystem skeleton

+ - PR#894: tests for download_logs

+ - PR#909: Docs for CVE-2018-1002150

+ - PR#778: add history to edit_host

+ - PR#774: Cache rpmdiff results and don't spawn special process

+ - PR#908: Fix typo in deleted mount check

+ - PR#770: print debug and error messages to stderr

+ - PR#688: CLI commands for notifications

+ - PR#901: Add more path info to volume documentation

+ - PR#678: fix grplist_block

+ - PR#734: hub: add strict behavior in `get_archive_file()` and `list_archive_files()`

+ - PR#726: pass full buildinfo obtained by get_build to postBuildStateChange callbacks

+ - PR#823: Add --old-chroot option to runroot command

+ - PR#881: add txkoji to related projects

+ - PR#822: Don't show license for external rpms

+ - PR#779: drop cascade in schema-clear

+ - PR#860: mavenBuild uses wrong session

+ - PR#858: restart-hosts fails if provided arguments

+ - PR#853: Show the krb principal name in debug log

+ - PR#711: Drop explicit python-krbV dependency for modern platforms

+ - PR#768: json serialize additional types in protonmsg

+ - PR#849: kojira: sanity check in pruneLocalRepos

+ - PR#848: use subprocess.Popen instead of subprocess.check_output

+ - PR#819: Drop pre-2.6 compat function koji.util._relpath

+ - PR#828: fix runroot output on py3

+ - PR#765: search build by source

+ - PR#817: Update the volume ID substitutions list and application

+ - PR#744: Replace cmp= with key= for python3 support

+ - PR#748: hub: make list_archives to accept strict argument

+ - PR#769: handle None in place of string in buildNotification

+ - PR#824: Add internal_dev_setup option to runroot config

+ - PR#804: hub: fix KeyError in `get_notification_recipients`

+ - PR#802: omit the last dot of cname when krb_canon_host=True

+ - PR#820: compressed xml archive type

+ - PR#743: Fix key access mechanism in _build_image

+ - PR#800: Don't allow combination of --mine and task-ids

+ - PR#812: Fix AttributeError during archive import

+ - PR#796: Fix comparison with Enum value

+ - PR#695: blacklist tags for kojira

+ - PR#773: create/edit notification checks for duplicity

+ - PR#799: Fix values for non-existent options

+ - PR#805: fix duplicated args "parent" in waittest task

+ - PR#806: honour runroot --quiet for old-style call

+ - PR#767: update docs for listRPMFile

+ - PR#797: Move kojira's regen loop into dedicated thread

+ - PR#794: Work around race in add_external_rpm

+ - PR#753: check python-requests-kerberos version before gssapi login

+ - PR#783: don't join users table if countOnly

+ - PR#775: drop pycurl dependency

+ - PR#733: ut: [cli] fix unexcepted order problem in test_taskinfo

+ - PR#730: add unit test for cli commands, coverage(40%)

+ - PR#787: builder: make temp dir to be configured

+ - PR#498: remove old ssl library

+ - PR#755: remove simplejson imports

+ - PR#731: koji.next.md: Content Generators are available

+ - PR#754: drop rhel5 cases from spec

+ - PR#761: proper comments of unused spec macros

+ - PR#762: remove unused import in koji-shadow

+ - PR#764: incorrect py3 syntax

+ - PR#757: Force coverage3 read correct rc file.

+ - PR#632: drop migrateImage call

+ - PR#759: cli: fix issues in dist-repo command

+ 

  * Mon Dec 18 2017 Mike McLean <mikem at redhat.com> - 1.15.0-1

  - PR#602: don't use /tmp in chroot

  - PR#674: store git commit hash to build.source

file modified
+2 -2
@@ -25,7 +25,7 @@ 

  

  setup(

      name="koji",

-     version="1.15.0",

+     version="1.16.0",

      description=("Koji is a system for building and tracking RPMS. The base"

                   " package contains shared libraries and the command-line"

                   " interface."),
@@ -45,7 +45,7 @@ 

          "Operating System :: POSIX :: Linux",

          "Topic :: Utilities"

      ],

-     packages=['koji', 'koji.ssl', 'koji_cli'],

+     packages=['koji', 'koji_cli'],

      package_dir={

          'koji': 'koji',

          'koji_cli': 'cli/koji_cli',

Final changes for the Koji 1.16.0 release

Note: release notes are still a work in progress.

1 new commit added

  • more release notes
5 years ago

1 new commit added

  • update notification docs
5 years ago

Found some possible typos in release_notes_1.16.rst:

line 99 - "filename for the timestamp file is the generated"
line 100 - "will have a timestamp data"
line 114 - "Previously with was hardcoded to /builddir/tmp"
line 252 - " It was only available if the EnableImageMigration is set on the hub."

Otherwise LGTM

1 new commit added

  • fix typos
5 years ago

3 new commits added

  • release note updates
  • migration doc
  • formatting tweak
5 years ago

:thumbsup:

As I've gone through the changes, we should create some special tracker for undocumented things. We've added few options mainly in kojid.conf which are reflected only in release notes, but not in general docs.

I'm hoping to refactor the docs in the next few months.

Commit 5ab227c fixes this pull-request

Pull-Request has been merged by mikem

5 years ago