Skip to main content

Overview

Koji Smoky Dingo is a collection of client command-line plugins for the Koji build system, and a set of utility modules for writing your own commands or scripts.

The phrase "smoky-dingo" was provided by coolname and has no particular relevance.

Meta Plugin

This project provides a relatively tiny CLI plugin for koji, named kojismokydingometa. The meta plugin acts as an adapter between koji's existing CLI plugin loading framework and Python entry_points.

The meta plugin can be used to load additional commands beyond those provided as part of this project. Simply register your commands with the "koji_smoky_dingo" entry point key. See the example command as a reference.

Tag Commands

These commands modify tag features, requiring either the tag permission (koji >= [1.18]) or the admin permission.

Command Description
block-env-var Blocks a mock environment variable from a tag.
block-rpm-macro Blocks a mock RPM macro from a tag.
bulk—move-builds Move a large amount of builds, bypassing the creation of individual tasks.
bulk—tag-builds Tag a large amount of builds, bypassing the creation of individual tasks.
bulk—untag-builds Untag a large amount of builds, bypassing the creation of individual tasks.
remove-env-var Removes a mock environment variable from a tag.
remove-rpm-macro Removes a mock RPM macro from a tag.
renum—tag-inheritance Adjust the priority values of a tag to maintain the same inheritance order, but to create an even amount of space between each entry.
set-env-var Sets, unsets, or blocks the value of a mock environment variable on a tag.
set-rpm-macro Sets, unsets, or blocks the value of a mock RPM macro on a tag.
swap—tag-inheritance Adjust the inheritance of a tag by replacing one entry for another. If both entries are already parents of a tag, then swap the priority of the two.

Information Commands

These commands are informational only, and do not require any special permissions in koji.

Command Description
affected—targets Show targets which would be impacted by modifications to the given tag
cginfo Show content generators and their permitted users
check—hosts Show builder hosts which haven't been checking in lately
check-repo Shows whether a tag's repo is up-to-date with its history
client-config Show settings for client profiles
filter-builds Filter a list of NVRs by various criteria
filter-tags Filter a list of tags by various criteria
latest-archives Show selected latest archives from a tag
list-btypes Show build types
list-build-archives Show selected archives attached to a build
list-cgs Show content generators
list-component-builds Show builds which were used to produce others
list-env-vars Show all inherited mock environment variables for a tag
list-rpm-macros Show all inherited mock RPM macros for a tag
list-tag-extras Show all inherited extra fields for a tag
open Opens a brower to the info page for koji data types
perminfo Show information about a permission
pull-container Pull an image from a container build
repoquery Use DNF to query the contents of a tag's repo
userinfo Show information about a user account

Install

The kojismokydingo package utilizes setuptools and can be built and installed as a wheel.

Because of how koji loads client plugins, if you want the meta plugin available by default system-wide, then the package needs to be installed into the default site-packages for the python installation.

As an RPM via DNF

If using an RPM-based distribution, this is easily achieved using the included spec to produce an RPM and install that.

make clean rpm
dnf install dist/noarch/python3-kojismokydingo-2.2.0-0.fc38.noarch.rpm

As a System-wide Wheel via Pip

The pip3 tool can also achieve this by specifying the specific root or prefix parameter

make clean build
pip3 install --prefix /usr -I dist/kojismokydingo-2.2.0-py3-none-any.whl

or you can install the most recent release straight from PyPI

pip3 install --prefix /usr -I kojismokydingo

As a User-only Wheel via Pip

If you only want the plugin available for yourself, you can use the install target of the Makefile to easily build the wheel, install it using pip3, then symlink the meta plugin into your koji user plugins directory.

make clean install

or you can install the most recent release straight from PyPI, and then copy the meta plugin into place

pip3 install --user -I kojismokydingo
mkdir -p ~/.koji/plugins
cp $(python3 -c 'import koji_cli_plugins.kojismokydingometa as k ; print(k.__file__);' ~/.koji/plugins

Contact

Author: Christopher O'Brien obriencj@gmail.com

Original Git Repository: https://github.com/obriencj/koji-smoky-dingo

Documentation: https://obriencj.github.io/koji-smoky-dingo

License

This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this library; if not, see http://www.gnu.org/licenses/.

Metadata

Release files for kojismokydingo 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kojismokydingo 2.2.0
File Size Uploaded Provenance Actions
kojismokydingo-2.2.0.tar.gz 127.7 kB With provenance Details for kojismokydingo-2.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kojismokydingo 2.2.0
File Interpreter ABI Platform Actions
kojismokydingo-2.2.0-py3-none-any.whl Python 3 none any Details for kojismokydingo-2.2.0-py3-none-any.whl

Total release size: 276.9 kB

Release files / kojismokydingo-2.2.0.tar.gz

Download URL kojismokydingo-2.2.0.tar.gz
Size 127.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1a95938768b695a8adc182e72edb47931b4b9a0a8cc4ae554eeabd63890eff15
BLAKE2b-256 checksum
How to use checksums
d739c040ab3899f26613389ad4937af0998674ab79b006e6a112f025df9f2b7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2024.

Transparency log

Release files / kojismokydingo-2.2.0-py3-none-any.whl

Download URL kojismokydingo-2.2.0-py3-none-any.whl
Size 149.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a0f2ebdcb146137ac667cb4eb9688944962ac1b156b6e719f3b6c3c84a59b8d3
BLAKE2b-256 checksum
How to use checksums
854202eaaf224ba7b4faa9ca36f300a973017d59d7979b195efd0f2fd49ba104
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2024.

Transparency log

Security for kojismokydingo 2.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for kojismokydingo-2.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2024.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page