No description
Find a file
Ken Dreyer bf6a52c936 kojivmd: check for HTTP errors in getFile()
kojivmd proxies files from Koji's topurl through the getFile() RPC.
In some cases (misconfigurations), kojivmd can fail to download files
from topurl.

Prior to this change, if kojivmd failed to download a file (for example,
a 404 error), it would silently cache the 404 error HTTP body contents
and pass those on to verifyChecksum(). As a result, kojivmd would verify
the checksum of an HTML error page, rather than checksuming the intended
Koji archive file. In this scenario, it's difficult for administrators
to diagnose why checksums are not matching.

Check the HTTP response for errors before doing anything with the
response contents. With this change, winbuild tasks will fail with an
easier-to-understand "HTTP 404 not found" HTTPError, rather than a Koji
BuildError about checksums.
2022-11-08 17:12:03 -05:00
builder drop custom_user_metadata propagation 2022-10-31 09:34:22 +01:00
cli cli: drop nvr sorting from list-builds 2022-11-07 14:34:05 +01:00
devtools update dockerfiles 2022-04-28 11:06:06 +02:00
docs kojira: fix docs 2022-10-31 10:02:05 +01:00
hub readability fixes 2022-11-04 12:37:00 +01:00
koji exception in case origin/ is part of ref 2022-11-08 12:15:57 +01:00
plugins fix additional commas 2022-11-04 13:58:16 +01:00
tests fix tests 2022-11-08 12:25:10 +01:00
util Add absolute to clean sessions in koji-sweep-db 2022-11-08 13:26:43 +01:00
vm kojivmd: check for HTTP errors in getFile() 2022-11-08 17:12:03 -05:00
www Fix arch filter in list of hosts webUI 2022-09-23 12:01:05 +02:00
.coveragerc update .coveragerc to ignore p3 code 2021-05-25 11:44:54 +02:00
.coveragerc3 tests: fix coveragerc 2020-09-08 16:21:40 +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 Remove login shell from kojibuilder user 2022-11-02 14:21:46 +01:00
LGPL Initial code drop 2007-02-14 11:25:01 -05:00
Makefile basic security checks with bandit 2021-10-20 15:20:14 +02:00
README.md README: add koji-hs project 2021-08-26 10:40:26 +02:00
requirements.txt Run tests in virtualenvs using tox 2020-09-08 16:20:19 +02:00
runtests sort imports for other scripts 2019-12-12 11:00:58 +00:00
setup.py fix flake8 errors 2022-08-29 15:03:05 +02:00
test-requirements.txt Pytest instead of nose in unittest 2021-12-06 12:17:29 +01:00
tox.ini fix bandit env 2022-01-03 10:31:54 +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