.. _cli:

CLI
===

rpkg is a library to build command line utility to build RPM, container and
module in local machine or remote build system. There is no executable to be
shipped from rpkg project. This page shows what command line interface and
commands will be available in any packaging tool that is built on top of rpkg.

Synopsis
--------

::

    sample-rpkg [ global_options ] command [ command_options ] [ command_arguments ]
    sample-rpkg help
    sample-rpkg command --help

Description
-----------

sample-rpkg is a library to build command line appliaction to build RPM, container
and module locally or in remote build system.

Global Options
--------------

.. option:: -h, --help

   show this help message and exit

.. option:: --config CONFIG, -C CONFIG

   Specify a config file to use

.. option:: --dry-run

   Perform a dry run.

.. option:: --release RELEASE

   Override the discovered release from current branch, which is used to determine the build target and value of dist macro. Generally, release is the name of a branch created in your package repository. --release is an alias of --dist, hence --release should be used instead.

.. option:: --name NAME

   Override repository name. Use --namespace option to change namespace. If not specified, name is discovered from Git push URL or Git URL (last part of path with .git extension removed) or from Name macro in spec file, in that order.

.. option:: --namespace NAMESPACE

   The package repository namespace. If omitted, default to rpms if namespace is enabled.

.. option:: --user USER

   Override the discovered user name

.. option:: --password PASSWORD

   Password for Koji login

.. option:: --runas RUNAS

   Run Koji commands as a different user

.. option:: --path PATH

   Define the directory to work in (defaults to cwd)

.. option:: --verbose, -v

   Run with verbose debug output

.. option:: --debug, -d

   Run with debug output

.. option:: -q

   Run quietly only displaying errors



Commands
--------

.. toctree::
   :maxdepth: 1

   commands/help
   commands/build
   commands/chain-build
   commands/clean
   commands/clog
   commands/clone
   commands/co
   commands/copr-build
   commands/commit
   commands/ci
   commands/compile
   commands/container-build
   commands/container-build-setup
   commands/diff
   commands/flatpak-build
   commands/gimmespec
   commands/gitbuildhash
   commands/giturl
   commands/import
   commands/install
   commands/lint
   commands/list-side-tags
   commands/local
   commands/mockbuild
   commands/mock-config
   commands/module-build
   commands/module-scratch-build
   commands/module-build-cancel
   commands/module-build-info
   commands/module-build-local
   commands/module-build-watch
   commands/module-overview
   commands/new
   commands/new-sources
   commands/patch
   commands/pre-push-check
   commands/prep
   commands/pull
   commands/push
   commands/remote
   commands/remove-side-tag
   commands/request-side-tag
   commands/retire
   commands/scratch-build
   commands/sources
   commands/srpm
   commands/switch-branch
   commands/tag
   commands/unused-patches
   commands/upload
   commands/verify-files
   commands/verrel