No description
Find a file
David Abdurachmanov 7e1809bafd Add support for tag/target macros for Mageia
Discussions with Son_Goku (from Mageia) on IRC revealed that they need
per tag/target macro support in Koji. We store tag macros in 'Extra Options'
and macro has to start with '%'.

Example:

    % koji taginfo f29
    Tag: f29 [11]
    Arches: riscv64
    Groups:
    Required permission: 'admin'
    Tag options:
      %mymacro : 'value123'
      %packager : 'Fedora Project RISC-V'
      mock.package_manager : 'dnf'
    [..]

Tag macros can be added using koji edit-tag.

The tag macros are allowed to overwrite macros set in koji.genMockConfig.
For example, %packager is set in koji.genMockConfig by default. The mock
configuration generated by kojid was:

    [..]
    config_opts['macros']['%_host'] = 'riscv64-koji-linux-gnu'
    config_opts['macros']['%mymacro'] = 'value123'
    config_opts['macros']['%_host_cpu'] = 'riscv64'
    config_opts['macros']['%vendor'] = 'Fedora Project'
    config_opts['macros']['%distribution'] = 'Fedora Project'
    config_opts['macros']['%_topdir'] = '/builddir/build'
    config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'
    config_opts['macros']['%packager'] = 'Fedora Project RISC-V'
    [..]

This two-line change was tested on Fedora RISC-V koji instance.

Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
2019-07-15 10:10:29 -04:00
builder Add support for tag/target macros for Mageia 2019-07-15 10:10:29 -04:00
cli cli: change --force to real bool arg for add-tag-inheritance 2019-07-12 00:50:46 -04:00
devtools force using python2 to run script 2018-05-24 00:01:30 -04:00
docs few more useful indices on tag_packages 2019-07-11 15:22:33 -04:00
hub use list for db instead of set 2019-07-09 13:34:36 -04:00
koji Add support for tag/target macros for Mageia 2019-07-15 10:10:29 -04:00
plugins fail runroot task on non-existing tag 2019-05-22 13:12:19 -04:00
tests fix whitespace 2019-07-11 15:18:15 -04:00
util avoid duplicate ManagedRepo instance 2019-06-26 15:38:10 -04:00
vm kojivmd, too 2019-02-21 11:22:34 -05:00
www rebuildSRPM task 2019-06-26 09:06:48 +02:00
.coveragerc add exclude_lines in .coveragerc/.coveragerc3 2017-12-19 09:59:35 -05:00
.coveragerc3 enable py3 testing for everything 2019-02-19 17:29:25 -05:00
.gitignore exclude py compiled files under util/ 2018-08-16 13:50:57 -04:00
Authors one last email test typo 2007-02-20 23:26:53 -05:00
COPYING update copyright 2014-10-28 23:54:21 -04:00
koji.next.md koji.next.md: drop RHEL 5 requirements 2018-11-14 12:16:13 -05:00
koji.spec update release date 2019-03-06 09:18:24 -05:00
LGPL Initial code drop 2007-02-14 11:25:01 -05:00
Makefile fix reported url in make test/test3 2019-05-06 10:19:39 -04:00
README.md README: link to Pungi project instead of mash 2019-03-06 11:31:01 -05:00
runtests runtests: tempdir prefix 2019-05-06 10:19:39 -04:00
setup.py update setup.py to 1.17 2019-02-20 15:52:06 +01:00

koji - RPM building and tracking system

Koji is an RPM-based build system. The Fedora Project uses Koji for their build system, as do several other projects.

Koji's goal is to provide a flexible, secure, and reproducible way to build software.

Key features:

  • New buildroot for each build
  • Robust XML-RPC APIs for easy integration with other tools
  • Web interface with SSL and Kerberos authentication
  • Thin, portable command line client
  • Users can create local buildroots
  • Buildroot contents are tracked in the database
  • Versioned data

Communicate

Bugs/RFEs

If you have found a bug or would like to request a new feature, please report an issue in Pagure.

Download

The koji source code can be downloaded with git via:

git clone https://pagure.io/koji.git

You may browse code at https://pagure.io/koji

Archived releases can be found at https://pagure.io/koji/releases

Documentation

See: https://docs.pagure.org/koji/

  • Mock: The tool Koji uses to generate buildroots
  • Yum
  • Pungi: Use Pungi to "compose" Koji builds into highly customizable Yum repositories.
  • Koji Tools: Various utilities for Koji
  • Kojiji: Koji Java Interface
  • txkoji: Async interface to Koji, using Twisted