koji-download-build
Download a Koji build
TLDR
Download all RPMs from a specific build
Download RPMs signed with the given key
Only download RPMs for given arch
Download the given RPM
Display help
SYNOPSIS
koji-download-build [OPTIONS] <build_ID_or_NVR> [...]
PARAMETERS
--all
Download all available artifacts (RPMs, SRPMs, debuginfo, logs, etc.) for the specified build.
--rpm
Download only the binary RPM packages. This is the default if no specific type is chosen.
--srpm
Download only the Source RPM (SRPM) packages.
--debuginfo
Download only the debuginfo RPM packages.
--logs
Download build log files.
--arch <arch>
Filter downloaded RPMs by a specific architecture (e.g., `x86_64`, `noarch`). This option can be used multiple times.
--dstdir <directory>
Specify the destination directory where artifacts will be saved. Defaults to the current working directory.
--scratch
Include artifacts from scratch builds (temporary builds not intended for release).
--build
Explicitly treat arguments as Koji build IDs (numeric).
--nvr
Explicitly treat arguments as NVR (Name-Version-Release) strings.
--fail-on-missing
Exit with an error status if a requested artifact type (e.g., debuginfo) is not found for a build.
-h, --help
Display a help message and exit.
--version
Show program's version number and exit.
DESCRIPTION
The `koji-download-build` command is a client-side utility within the Koji build system ecosystem, primarily used to retrieve various artifacts from completed software builds. It enables users to download RPM packages, Source RPMs (SRPMs), debuginfo packages, build logs, and other outputs for a specified build. Builds are identified by their unique Name-Version-Release (NVR) string or numeric ID. This tool is indispensable for developers, QA engineers, and release managers in environments utilizing Koji for package building, allowing for efficient inspection, testing, and redistribution of built components. It communicates with the Koji hub to locate and download files, offering options to filter by architecture, artifact type, or specify a custom destination directory.
CAVEATS
Requires network connectivity to the Koji hub and appropriate permissions to access build information and artifacts.
Can download large amounts of data, especially with the `--all` option, potentially consuming significant disk space and bandwidth.
The exact set of downloadable artifacts depends on the build type and what was produced during the Koji build process.
KOJI HUB INTERACTION
This command communicates with the central Koji hub server to query detailed build information and retrieve the URLs for build artifacts. These artifacts are typically hosted on a separate content delivery network (CDN) or web server, ensuring efficient and scalable downloads.
TYPICAL USAGE
It is frequently used in automated scripts for tasks such as testing, staging, or creating custom package repositories. For example, to download all `x86_64` RPMs and their corresponding debuginfo for `my-package-1.0-1.fc39`, one would execute: `koji-download-build --rpm --debuginfo --arch x86_64 my-package-1.0-1.fc39`.
HISTORY
Koji is an open-source build system primarily developed by Red Hat for building Fedora, CentOS, and RHEL packages, aiming for a reliable, distributed, and scalable RPM build environment. `koji-download-build` emerged as an integral part of the Koji client utilities, designed to provide a straightforward interface for retrieving the diverse outputs of Koji builds. Its development has consistently focused on robustness, flexibility in artifact selection, and seamless integration with the Koji hub's API, evolving to support various artifact types like RPMs, SRPMs, debuginfo, and even newer formats such as container images and Golang modules.
SEE ALSO
koji(1), koji-build(1), koji-list-builds(1), createrepo(8)


