Package: kojismokydingo
OverviewKoji Smoky Dingo is a collection of client command-line plugins for
theKojibuild system, and a set of utility modules for writing your
own commands or scripts.The phrase "smoky-dingo" was provided bycoolnameand has no
particular relevance.Meta PluginThis 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 theexample commandas a reference.Tag CommandsThese commands modify tag features, requiring either the tag
permission (koji >=1.18) or the admin permission.CommandDescriptionblock-env-varBlocks a mock environment variable from a tag.block-rpm-macroBlocks a mock RPM macro from a tag.bulk—move-buildsMove a large amount of builds, bypassing the creation of individual tasks.bulk—tag-buildsTag a large amount of builds, bypassing the creation of individual tasks.bulk—untag-buildsUntag a large amount of builds, bypassing the creation of individual tasks.remove-env-varRemoves a mock environment variable from a tag.remove-rpm-macroRemoves a mock RPM macro from a tag.renum—tag-inheritanceAdjust 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-varSets, unsets, or blocks the value of a mock environment variable on a tag.set-rpm-macroSets, unsets, or blocks the value of a mock RPM macro on a tag.swap—tag-inheritanceAdjust 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 CommandsThese commands are informational only, and do not require any special
permissions in koji.CommandDescriptionaffected—targetsShow targets which would be impacted by modifications to the given tagcginfoShow content generators and their permitted userscheck—hostsShow builder hosts which haven't been checking in latelycheck-repoShows whether a tag's repo is up-to-date with its historyclient-configShow settings for client profilesfilter-buildsFilter a list of NVRs by various criteriafilter-tagsFilter a list of tags by various criterialatest-archivesShow selected latest archives from a taglist-btypesShow build typeslist-build-archivesShow selected archives attached to a buildlist-cgsShow content generatorslist-component-buildsShow builds which were used to produce otherslist-env-varsShow all inherited mock environment variables for a taglist-rpm-macrosShow all inherited mock RPM macros for a taglist-tag-extrasShow all inherited extra fields for a tagopenOpens a brower to the info page for koji data typesperminfoShow information about a permissionpull-containerPull an image from a container buildrepoqueryUse DNF to query the contents of a tag's repouserinfoShow information about a user accountInstallThe 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 DNFIf using an RPM-based distribution, this is easily achieved using the
included spec to produce an RPM and install that.makecleanrpm
dnfinstalldist/noarch/python3-kojismokydingo-2.1.0-1.fc38.noarch.rpmAs a System-wide Wheel via PipUsing traditional setuptools or pip installation methods can also
achieve this by specifying the specific root or prefix parameterpython3setup.pybdist_wheel
pip3install--prefix/usr-Idist/kojismokydingo-2.1.0-py3-none-any.whlAs a User-only Wheel via PipHowever, if you only want the plugin available for yourself, you can
install it anywhere and tell koji to look in that particularsite-package/koji_cli_pluginsinstancepython3setup.pybdist_wheel
pip3install--user-Idist/kojismokydingo-2.1.0-py3-none-any.whlAdditionally, you can install straight from PyPIpip3installkojismokydingo--userAnd the following setting in ~/.koji/config assuming Python version
3.8 -- read the output of the install command above to verify your
install path. Note that the section title needs to match your koji
profile, and that you need to configure this setting for each profile
you'll want to use the meta plugin with.[koji]
plugin_paths = ~/.local/lib/python3.8/site-packages/koji_cli_plugins/With koji >=1.18, the meta plugin can also be symlinked into~/.koji/pluginsmkdir-p~/.koji/plugins
ln-s~/.local/lib/python$(python3-c'import sys; print("{}.{}".format(*sys.version_info))')/site-packages/koji_cli_plugins/kojismokydingometa.py~/.koji/pluginsContactAuthor: Christopher O'Brienobriencj@gmail.comOriginal Git Repository:https://github.com/obriencj/koji-smoky-dingoDocumentation:https://obriencj.github.io/koji-smoky-dingoLicenseThis 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, seehttp://www.gnu.org/licenses/.