No description
Find a file
Adam Williamson 15d604f32e download-build: allow fallback to unsigned with --key
If you pass --key to download-build and signed packages aren't
available, Koji will skip the unsigned package, or error out.
This adds a modified behavior controlled by the new
--fallback-unsigned arg. If this is passed with --key, unsigned
copies will be downloaded for packages for which no signed copy
can be found.

This is primarily intended to work with a proposed Bodhi feature:
https://github.com/fedora-infra/bodhi/pull/5859 . That would
make Bodhi's `bodhi updates download` command automatically try
to download signed copies, but I think it would be best if it
falls back to getting unsigned copies if that doesn't work. Just
failing out entirely seems wrong for that case. Implementing the
fallback in Bodhi itself is more awkward and messy than adding it
in Koji, and it may be useful for others in Koji I guess.

Note there are two distinct 'no signed copies' cases. In the
simple one, queryRPMSigs tells us Koji has no record of the
package ever being signed with the key in question. In this case
we don't bother trying to download a signed copy. In the other
case, queryRPMSigs tells us the package *has* been signed with
the key, but it turns out that signed copy has been garbage-
collected and we can no longer download it. In this case we have
to catch the failure on the download attempt and retry the
download with sigkey set to None.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-04-29 16:25:37 +02:00
builder ensure macros and env values passed to mock are strings 2025-04-29 16:19:08 +02:00
cli download-build: allow fallback to unsigned with --key 2025-04-29 16:25:37 +02:00
devtools drop cgi import 2024-10-29 22:08:58 -04:00
docs allow setting ttl in protonmsg 2025-04-29 16:17:20 +02:00
koji koji 1.35.3 release notes and version bump 2025-04-28 14:00:23 -04:00
kojihub make sure extension matching is case insensitive 2025-04-29 16:22:07 +02:00
plugins allow setting ttl in protonmsg 2025-04-29 16:17:20 +02:00
schemas fix typo in schema-upgrade-1.34-1.35.sql 2024-08-19 23:28:58 +08:00
tests fix unit test 2025-04-29 16:22:07 +02:00
util koji-gc: Add ccache to koji-gc options 2025-04-29 16:15:52 +02:00
vm Allow overriding sbin directory 2025-04-17 10:13:41 -04:00
www Fix tasks url creation 2025-03-21 15:04:03 +01:00
.coveragerc Fix coveragerc after moving hub code 2023-04-04 12:58:43 +02:00
.coveragerc3 more coverage filters 2024-07-18 14:22:43 +02:00
.editorconfig De-tabify .chtml files 2024-09-18 09:17:35 +02:00
.flake8 flake8: Ignore .tox 2020-09-08 16:20:19 +02:00
.gitignore update .gitignore 2022-10-07 14:54:21 +02: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 koji 1.35.3 release notes and version bump 2025-04-28 14:00:23 -04:00
LGPL Initial code drop 2007-02-14 11:25:01 -05:00
Makefile make clean - more files 2024-08-15 11:53:40 +02:00
README.md README: add koji-hs project 2021-08-26 10:40:26 +02:00
requirements.txt Bandit [B411]: use defusedxml to prevent remote XML attacks 2024-02-02 09:08:18 +01:00
runtests sort imports for other scripts 2019-12-12 11:00:58 +00:00
setup.py setup.py: Fix version retrieval on Python 3.13+ 2024-07-24 09:45:04 +02:00
test-requirements.txt combination of test-requirments(-py2).txt 2025-01-07 13:37:40 +01:00
tox.ini combination of test-requirments(-py2).txt 2025-01-07 13:37:40 +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
  • koji-hs: Koji Haskell Interface