fedpkg - Man Page

RPM Packaging utility

Synopsis

fedpkg [ global_options ] command [ command_options ] [ command_arguments ]
fedpkg help
fedpkg command --help

Description

fedpkg is a script to interact with the RPM Packaging system.

Global Options

 --config, -C CONFIG   Specify a config file to use
 --dry-run             Perform a dry run.
 --release RELEASE     Override the discovered release, e.g. f25,
                       which has to match the remote branch name
                       created in package repository. Particularly,
                       use rawhide/main branch to build RPMs for
                       rawhide.
 --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.
 --namespace NAMESPACE
                       The package repository namespace. If
                       omitted, default to rpms if namespace is
                       enabled.
 --user USER           Override the discovered user name
 --password PASSWORD   Password for Koji login
 --runas RUNAS         Run Koji commands as a different user
 --path PATH           Define the directory to work in (defaults to
                       cwd)
 --verbose, -v         Run with verbose debug output
 --debug, -d           Run with debug output
 -q                    Run quietly only displaying errors
 --user-config USER_CONFIG
                       Specify a user config file to use

Command Overview

fedpkg build [-h] [--arches [ARCHES ...]] [--md5] [--nowait] [--target TARGET] [--background] [--fail-fast] [--skip-remote-rules-validation] [--skip-nvr-check] [--custom-user-metadata CUSTOM_USER_METADATA] [--skip-tag] [--scratch] [--srpm [SRPM]] [--srpm-mock]

Request build

fedpkg chain-build [-h] [--arches [ARCHES ...]] [--md5] [--nowait] [--target TARGET] [--background] [--fail-fast] [--skip-remote-rules-validation] [--skip-nvr-check] [--custom-user-metadata CUSTOM_USER_METADATA] package [package ...]

Build current package in order with other packages

fedpkg ci [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw] [-t] [-F FILE] [-p] [-s] [files ...]

Alias for commit

fedpkg clean [-h] [--dry-run] [-x]

Remove untracked files

fedpkg clog [-h] [--raw]

Make a clog file containing top changelog entry

fedpkg clone [-h] [--branches] [--branch BRANCH] [--anonymous] [--depth DEPTH] repo [clone_target] ...

Clone and checkout a repository

fedpkg co [-h] [--branches] [--branch BRANCH] [--anonymous] [--depth DEPTH] repo [clone_target] ...

Alias for clone

fedpkg commit [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw] [-t] [-F FILE] [-p] [-s] [files ...]

Commit changes

fedpkg compile [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] [--short-circuit] [--nocheck] ...

Local test rpmbuild compile

fedpkg container-build [-h] [--target TARGET] [--nowait] [--background] [--build-release BUILD_RELEASE] [--isolated] [--koji-parent-build KOJI_PARENT_BUILD] [--scratch] [--arches [ARCHES ...]] [--repo-url URL [URL ...]] [--signing-intent SIGNING_INTENT] [--skip-remote-rules-validation] [--skip-build] [--compose-id COMPOSE_ID [COMPOSE_ID ...]] [--replace-dependency PKG_MANAGER:NAME:VERSION[:NEW_NAME] [PKG_MANAGER:NAME:VERSION[:NEW_NAME] ...]]

Build a container

fedpkg container-build-setup [-h] (--get-autorebuild | --set-autorebuild {true,false})

set options for container-build

fedpkg copr-build [-h] [--config CONFIG] [--nowait] project ...

Build package in Copr

fedpkg diff [-h] [--cached] [files ...]

Show changes between commits, commit and working tree, etc

fedpkg disable-monitoring [-h]

Disable monitoring of the current repository

fedpkg flatpak-build [-h] [--target TARGET] [--nowait] [--background] [--build-release BUILD_RELEASE] [--isolated] [--koji-parent-build KOJI_PARENT_BUILD] [--scratch] [--arches [ARCHES ...]] [--repo-url URL [URL ...]] [--signing-intent SIGNING_INTENT] [--skip-remote-rules-validation] [--skip-build]

Build a Flatpak

fedpkg fork [-h]

Create a new fork of the current repository

fedpkg gimmespec [-h]

Print the spec file name

fedpkg gitbuildhash [-h] build

Print the git hash used to build the provided n-v-r

fedpkg giturl [-h]

Print the git url for building

fedpkg help [-h]

Show usage

fedpkg import [-h] [--skip-diffs] [--offline] [--do-not-check-specfile-name] srpm

Import srpm content into a module

fedpkg install [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] [--short-circuit] [--nocheck] ...

Local test rpmbuild install

fedpkg lint [-h] [--info] [--rpmlintconf RPMLINTCONF]

Run rpmlint against local spec and build output if present.

fedpkg list-side-tags [-h] [--mine | --user TAG_OWNER | --base-tag BASE_TAG]

List existing side-tags

fedpkg local [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] [--md5] [--with BCOND_WITH] [--without BCOND_WITHOUT] ...

Local test rpmbuild binary

fedpkg mock-config [-h] [--target TARGET] [--arch ARCH]

Generate a mock config

fedpkg mockbuild [-h] [--root CONFIG] [--md5] [--no-clean] [--no-cleanup-after] [--no-clean-all] [--with BCOND_WITH] [--without BCOND_WITHOUT] [--shell] [--enablerepo ENABLEREPO] [--disablerepo DISABLEREPO] [--enable-network] [--srpm-mock] [--use-koji-mock-config | --use-local-mock-config] [--default-mock-resultdir] [--extra-pkgs [EXTRA_PKGS ...]] ...

Local test build using mock

fedpkg module-build [-h] [--watch] [--buildrequires name:stream] [--requires name:stream] [--optional key=value] [--file [FILE_PATH]] [--srpm SRPMS] [--scratch] [scm_url] [branch]

Build a module using MBS

fedpkg module-build-cancel [-h] build_id

Cancel an MBS module build

fedpkg module-build-info [-h] build_id

Show information of an MBS module build

fedpkg module-build-local [-h] [--file [FILE_PATH]] [--srpm SRPMS] [--stream [STREAM]] [--skip-tests] [--add-local-build N:S:V] [-s N:S] [--offline] [-r PATH]

Build a module locally using the mbs-manager command

fedpkg module-build-watch [-h] build_id [build_id ...]

Watch an MBS build

fedpkg module-overview [-h] [--unfinished] [--limit LIMIT] [--owner FAS_ID | --mine]

Shows an overview of MBS builds

fedpkg module-scratch-build [-h] [--watch] [--buildrequires name:stream] [--requires name:stream] [--optional key=value] [--file [FILE_PATH]] [--srpm SRPMS] [scm_url] [branch]

Build a scratch module using MBS

fedpkg new [-h]

Diff against last tag

fedpkg new-sources [-h] [--offline] files [files ...]

Upload source files

fedpkg override [-h] {create,extend} ...

Manage buildroot overrides

fedpkg patch [-h] [--rediff] suffix

Create and add a gendiff patch file

fedpkg pre-push-check [-h] [ref]

Check whether the eventual "git push" command could proceed

fedpkg prep [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] ...

Local test rpmbuild prep

fedpkg pull [-h] [--rebase] [--no-rebase]

Pull changes from the remote repository and update the working copy.

fedpkg push [-h] [--force] [--no-verify]

Push changes to remote repository

fedpkg releases-info [-h] [-e | -f | -j]

Print Fedora or EPEL current active releases

fedpkg remote [-h] {add} ...

Operations with tracked repositories ('remotes'). This is an experimental interface.

fedpkg remove-side-tag [-h] TAG

Remove a side tag (without merging packages)

fedpkg request-branch [-h] [--repo NAME] [--namespace {rpms,container,modules,flatpaks}] [--sl [SL ...]] [--no-git-branch] [--no-auto-module] [--all-releases] [branch]

Request a new dist-git branch

fedpkg request-repo [-h] [--namespace {rpms,container,modules,flatpaks}] [--description DESCRIPTION] [--monitor {no-monitoring,monitoring,monitoring-with-scratch}] [--upstreamurl UPSTREAMURL] [--summary SUMMARY] [--exception] [--no-initial-commit] name [bug]

Request a new dist-git repository

fedpkg request-side-tag [-h] [--base-tag BASE_TAG] [--suffix SUFFIX]

Create a new side tag

fedpkg request-tests-repo [-h] [--bug BUG] name description

Request a new tests dist-git repository

fedpkg retire [-h] reason

Retire a package/module

fedpkg scratch-build [-h] [--arches [ARCHES ...]] [--md5] [--nowait] [--target TARGET] [--background] [--fail-fast] [--skip-remote-rules-validation] [--skip-nvr-check] [--custom-user-metadata CUSTOM_USER_METADATA] [--srpm [SRPM]] [--srpm-mock]

Request scratch build

fedpkg set-distgit-token [-h]

Updates the fedpkg.distgit API token in ~/.config/rpkg/fedpkg.conf file.

           Tokens are of length 64 and contain only uppercase and numerical values.
           The new API token can be generated at:
           https://src.fedoraproject.org/settings/token/new

fedpkg set-pagure-token [-h]

Updates the fedpkg.pagure API token in ~/.config/rpkg/fedpkg.conf file.

           Tokens are of length 64 and contain only uppercase and numerical values.
           The new API token. Can be generated at:
           https://pagure.io/settings/token/new

fedpkg sources [-h] [--outdir OUTDIR] [--force]

Download source files

Create a source rpm

Create a source rpm

fedpkg switch-branch [-h] [-l] [--fetch] [branch]

Work with branches

fedpkg tag [-h] [-f] [-m MESSAGE] [-c] [--raw] [-F FILE] [-l] [-d] [tag]

Management of git tags

fedpkg unused-patches [-h]

Print list of patches not referenced by name in the specfile

fedpkg update [-h] [--type {bugfix,security,enhancement,newpackage}] [--request {testing,stable}] [--bugs BUGS [BUGS ...]] [--notes NOTES] [--disable-autokarma] [--stable-karma KARMA] [--unstable-karma KARMA] [--not-close-bugs] [--no-require-bugs] [--no-require-testcases] [--severity {unspecified,low,medium,high,urgent}] [--suggest-reboot | --suggest-logout]

Submit last build as update

fedpkg upload [-h] [--offline] files [files ...]

Upload source files

fedpkg verify-files [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] ...

Locally verify %%files section

fedpkg verrel [-h]

Print the name-version-release.

Command Reference

fedpkg build

 usage: fedpkg build [-h] [--arches [ARCHES ...]] [--md5] [--nowait]
                     [--target TARGET] [--background] [--fail-fast]
                     [--skip-remote-rules-validation]
                     [--skip-nvr-check]
                     [--custom-user-metadata CUSTOM_USER_METADATA]
                     [--skip-tag] [--scratch] [--srpm [SRPM]]
                     [--srpm-mock]
 
             This command requests a build of the package in the build system. By
 default it discovers the target to build for based on branch data, and
 uses the latest commit as the build source.
 
             fedpkg is also able to submit multiple builds to Koji at once from stream
             branch based on a local config, which is inside the repository. The config file
             is named package.cfg in INI format. For example,
 
                 [koji]
                 targets = rawhide fedora epel7
 
             You only need to put Fedora releases and EPEL in option targets and fedpkg will
             convert it to proper Koji build target for submitting builds. Beside regular
             release names, option targets accepts two shortcut names as well, fedora and
             epel, as you can see in the above example. Name fedora stands for current
             active Fedora releases, and epel stands for the active EPEL releases, which are
             el6 and epel7 currently.
 
             Note that the config file is a branch specific file. That means you could
             create package.cfg for each stream branch separately to indicate on which
             targets to build the package for a particular stream.
 
 options:
   -h, --help            show this help message and exit
   --arches [ARCHES ...]
                         Build for specific arches
   --md5                 Use md5 checksums (for older rpm hosts)
   --nowait              Don't wait on build
   --target TARGET       Define build target to build into
   --background          Run the build at a low priority
   --fail-fast           Fail the build immediately if any arch fails
   --skip-remote-rules-validation
                         Don't check if there's a valid gating.yaml
                         file in the repo, where you can define
                         additional policies for Greenwave gating.
   --skip-nvr-check      Submit build to buildsystem without check if
                         NVR was already built. NVR is constructed
                         locally and may be different from NVR
                         constructed during build on builder.
   --custom-user-metadata CUSTOM_USER_METADATA
                         Provide a JSON string of custom metadata to
                         be deserialized and stored under the build's
                         extra.custom_user_metadata field
   --skip-tag            Do not attempt to tag package
   --scratch             Perform a scratch build
   --srpm [SRPM]         Build from an srpm. If no srpm is provided
                         with this option an srpm will be generated
                         from current module content.
   --srpm-mock           Build from an srpm. Source rpm will be
                         generated in 'mock' instead of 'rpmbuild'.
 

fedpkg chain-build

 usage: fedpkg chain-build [-h] [--arches [ARCHES ...]] [--md5]
                           [--nowait] [--target TARGET]
                           [--background] [--fail-fast]
                           [--skip-remote-rules-validation]
                           [--skip-nvr-check]
                           [--custom-user-metadata CUSTOM_USER_METADATA]
                           package [package ...]
 
 Build current package in order with other packages.
 
 example: fedpkg chain-build libwidget libgizmo
 
 The current package is added to the end of the CHAIN list.
 Colons (:) can be used in the CHAIN parameter to define groups of
 packages.  Packages in any single group will be built in parallel
 and all packages in a group must build successfully and populate
 the repository before the next group will begin building.
 
 For example:
 
 fedpkg chain-build libwidget libaselib : libgizmo :
 
 will cause libwidget and libaselib to be built in parallel, followed
 by libgizmo and then the current directory package. If no groups are
 defined, packages will be built sequentially.
 
 positional arguments:
   package               List the packages and order you want to
                         build in
 
 options:
   -h, --help            show this help message and exit
   --arches [ARCHES ...]
                         Build for specific arches
   --md5                 Use md5 checksums (for older rpm hosts)
   --nowait              Don't wait on build
   --target TARGET       Define build target to build into
   --background          Run the build at a low priority
   --fail-fast           Fail the build immediately if any arch fails
   --skip-remote-rules-validation
                         Don't check if there's a valid gating.yaml
                         file in the repo, where you can define
                         additional policies for Greenwave gating.
   --skip-nvr-check      Submit build to buildsystem without check if
                         NVR was already built. NVR is constructed
                         locally and may be different from NVR
                         constructed during build on builder.
   --custom-user-metadata CUSTOM_USER_METADATA
                         Provide a JSON string of custom metadata to
                         be deserialized and stored under the build's
                         extra.custom_user_metadata field
 

fedpkg ci

 usage: fedpkg ci [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw]
                  [-t] [-F FILE] [-p] [-s]
                  [files ...]
 
 Alias for commit.
 
 positional arguments:
   files                 Optional list of specific files to commit
 
 options:
   -h, --help            show this help message and exit
   -m, --message MESSAGE
                         Use the given <msg> as the commit message
                         summary
   --with-changelog      Get the last changelog from SPEC as commit
                         message content. This option must be used
                         with -m together.
   -c, --clog            Generate the commit message from the
                         Changelog section
   --raw                 Make the clog raw
   -t, --tag             Create a tag for this commit
   -F, --file FILE       Take the commit message from the given file
   -p, --push            Commit and push as one action
   -s, --signoff         Include a signed-off-by
 

fedpkg clean

 usage: fedpkg clean [-h] [--dry-run] [-x]
 
 This command can be used to clean up your working directory. By
 default it will follow .gitignore rules. Patterns listed in
 .git/info/exclude won'tbe removed either.
 
 options:
   -h, --help     show this help message and exit
   --dry-run, -n  Perform a dry-run
   -x             Do not follow .gitignore and .git/info/exclude
                  rules
 

fedpkg clog

 usage: fedpkg clog [-h] [--raw]
 
 This will create a file named "clog" that contains the latest rpm
 changelog entry. The leading "- " text will be stripped.
 
 options:
   -h, --help  show this help message and exit
   --raw       Generate a more "raw" clog without twiddling the
               contents
 

fedpkg clone

 usage: fedpkg clone [-h] [--branches] [--branch BRANCH]
                     [--anonymous] [--depth DEPTH]
                     repo [clone_target] ...
 
 This command will clone the named repository from the configured
 repository base URL. By default it will also checkout the master
 branch for your working copy.
 
 positional arguments:
   repo                 Name of the repository to clone. It should
                        not be a Git URL. Should be 'namespace/repo-
                        name' in case of namespaced dist-git.
                        Otherwise, just 'repo-name'. Namespace
                        examples are 'rpms', 'container', 'modules',
                        'flatpaks'. Default namespace 'rpms' can be
                        ignored.
   clone_target         Directory in which to clone the repository
   extra_args           Custom arguments that are passed to the 'git
                        clone'. Use '--' to separate them from other
                        arguments.
 
 options:
   -h, --help           show this help message and exit
   --branches, -B       Do an old style checkout with subdirs for
                        branches
   --branch, -b BRANCH  Check out a specific branch
   --anonymous, -a      Check out a module anonymously
   --depth DEPTH        Create a shallow clone with a history
                        truncated to the specified number of commits
 

fedpkg co

 usage: fedpkg co [-h] [--branches] [--branch BRANCH] [--anonymous]
                  [--depth DEPTH]
                  repo [clone_target] ...
 
 Alias for clone.
 
 positional arguments:
   repo                 Name of the repository to clone. It should
                        not be a Git URL. Should be 'namespace/repo-
                        name' in case of namespaced dist-git.
                        Otherwise, just 'repo-name'. Namespace
                        examples are 'rpms', 'container', 'modules',
                        'flatpaks'. Default namespace 'rpms' can be
                        ignored.
   clone_target         Directory in which to clone the repository
   extra_args           Custom arguments that are passed to the 'git
                        clone'. Use '--' to separate them from other
                        arguments.
 
 options:
   -h, --help           show this help message and exit
   --branches, -B       Do an old style checkout with subdirs for
                        branches
   --branch, -b BRANCH  Check out a specific branch
   --anonymous, -a      Check out a module anonymously
   --depth DEPTH        Create a shallow clone with a history
                        truncated to the specified number of commits
 

fedpkg commit

 usage: fedpkg commit [-h] [-m MESSAGE] [--with-changelog] [-c]
                      [--raw] [-t] [-F FILE] [-p] [-s]
                      [files ...]
 
 This invokes a git commit. All tracked files with changes will be
 committed unless a specific file list is provided. $EDITOR will be
 used to generate a changelog message unless one is given to the
 command. A push can be done at the same time.
 
 positional arguments:
   files                 Optional list of specific files to commit
 
 options:
   -h, --help            show this help message and exit
   -m, --message MESSAGE
                         Use the given <msg> as the commit message
                         summary
   --with-changelog      Get the last changelog from SPEC as commit
                         message content. This option must be used
                         with -m together.
   -c, --clog            Generate the commit message from the
                         Changelog section
   --raw                 Make the clog raw
   -t, --tag             Create a tag for this commit
   -F, --file FILE       Take the commit message from the given file
   -p, --push            Commit and push as one action
   -s, --signoff         Include a signed-off-by
 

fedpkg compile

 usage: fedpkg compile [-h] [--builddir BUILDDIR]
                       [--buildrootdir BUILDROOTDIR] [--arch ARCH]
                       [--define DEFINE] [--short-circuit]
                       [--nocheck]
                       ...
 
 This command calls rpmbuild to compile the source. By default the
 prep and configure stages will be done as well, unless the short-
 circuit option is used.
 
 positional arguments:
   extra_args            Custom arguments that are passed to the
                         'rpmbuild'. Use '--' to separate them from
                         other arguments.
 
 options:
   -h, --help            show this help message and exit
   --builddir BUILDDIR   Define an alternate builddir
   --buildrootdir BUILDROOTDIR
                         Define an alternate buildrootdir
   --arch ARCH           Prep for a specific arch
   --define DEFINE       Pass custom macros to rpmbuild, may specify
                         multiple times
   --short-circuit       short-circuit compile
   --nocheck             nocheck compile
 

fedpkg container-build

 usage: fedpkg container-build [-h] [--target TARGET] [--nowait]
                               [--background]
                               [--build-release BUILD_RELEASE]
                               [--isolated]
                               [--koji-parent-build KOJI_PARENT_BUILD]
                               [--scratch] [--arches [ARCHES ...]]
                               [--repo-url URL [URL ...]]
                               [--signing-intent SIGNING_INTENT]
                               [--skip-remote-rules-validation]
                               [--skip-build]
                               [--compose-id COMPOSE_ID [COMPOSE_ID ...]]
                               [--replace-dependency PKG_MANAGER:NAME:VERSION[:NEW_NAME] [PKG_MANAGER:NAME:VERSION[:NEW_NAME] ...]]
 
 Build a container
 
 options:
   -h, --help            show this help message and exit
   --target TARGET       Override the default target
   --nowait              Don't wait on build
   --background          Run the build at a lower priority
   --build-release BUILD_RELEASE
                         Specify a release value for this build's NVR
   --isolated            Do not update floating tags in the registry.
                         You must use the --build-release argument
   --koji-parent-build KOJI_PARENT_BUILD
                         Specify a Koji NVR for the parent container
                         image. This will override the "FROM" value
                         in your Dockerfile.
   --scratch             Scratch build
   --arches [ARCHES ...]
                         Limit a scratch or a isolated build to an
                         arch. May have multiple arches.
   --repo-url URL [URL ...]
                         URLs of yum repo files
   --signing-intent SIGNING_INTENT
                         Signing intent of the ODCS composes. If
                         specified, this must be one of the signing
                         intent names configured on the OSBS server.
                         If unspecified, the server will use the
                         signing intent of the compose_ids you
                         specify, or the server's
                         default_signing_intent. To view the full
                         list of possible names, see
                         atomic_reactor.config in osbs-build.log.
   --skip-remote-rules-validation
                         Don't check if there's a valid gating.yaml
                         file in the repo
   --skip-build          Don't create build, but just modify settings
                         for autorebuilds
   --compose-id COMPOSE_ID [COMPOSE_ID ...]
                         Existing ODCS composes to use (specify
                         integers). OSBS will not generate new ODCS
                         composes. Cannot be used with --signing-
                         intent.
   --replace-dependency PKG_MANAGER:NAME:VERSION[:NEW_NAME] [PKG_MANAGER:NAME:VERSION[:NEW_NAME] ...]
                         Cachito dependency replacement
 

fedpkg container-build-setup

 usage: fedpkg container-build-setup [-h] (--get-autorebuild |
                                     --set-autorebuild {true,false})
 
 set options for container-build.
 
 options:
   -h, --help            show this help message and exit
   --get-autorebuild     Get autorebuild value
   --set-autorebuild {true,false}
                         Turn autorebuilds on/off
 

fedpkg copr-build

 usage: fedpkg copr-build [-h] [--config CONFIG] [--nowait]
                          project ...
 
 Build package in Copr.
 
 Note: you need to have set up correct api key. For more information
 see API KEY section of copr-cli(1) man page.
 
 positional arguments:
   project          Name of the project in format USER/PROJECT
   extra_args       Custom arguments that are passed to the 'copr-
                    cli'. Use '--' to separate them from other
                    arguments.
 
 options:
   -h, --help       show this help message and exit
   --config CONFIG  Path to an alternative Copr configuration file
   --nowait         Don't wait on build
 

fedpkg diff

 usage: fedpkg diff [-h] [--cached] [files ...]
 
 Use git diff to show changes that have been made to tracked files.
 By default cached changes (changes that have been git added) will
 not be shown.
 
 positional arguments:
   files       Optionally diff specific files
 
 options:
   -h, --help  show this help message and exit
   --cached    View staged changes
 

fedpkg disable-monitoring

 usage: fedpkg disable-monitoring [-h]
 
 Disable monitoring of the current (retired) repository.
 
 Currently, it doesn't run automatically after the retire
 operation - only manually.
 
 No arguments are required but a valid token is needed.
 Before the operation, you need to generate a pagure.io API token at:
     https://src.fedoraproject.org/settings/token/new
 
 ACL required:
     "Modify an existing project"
 
 Update your token with the following command:
     fedpkg set-distgit-token
 
 Command saves token to fedpkg config file:
     ~/.config/rpkg/fedpkg.conf
 
 For example:
     [fedpkg.distgit]
     token = <api_key_here>
 
 This operation can be run repeatedly till it succeeds.
 
 options:
   -h, --help  show this help message and exit
 

fedpkg flatpak-build

 usage: fedpkg flatpak-build [-h] [--target TARGET] [--nowait]
                             [--background]
                             [--build-release BUILD_RELEASE]
                             [--isolated]
                             [--koji-parent-build KOJI_PARENT_BUILD]
                             [--scratch] [--arches [ARCHES ...]]
                             [--repo-url URL [URL ...]]
                             [--signing-intent SIGNING_INTENT]
                             [--skip-remote-rules-validation]
                             [--skip-build]
 
 Build a Flatpak
 
 options:
   -h, --help            show this help message and exit
   --target TARGET       Override the default target
   --nowait              Don't wait on build
   --background          Run the build at a lower priority
   --build-release BUILD_RELEASE
                         Specify a release value for this build's NVR
   --isolated            Do not update floating tags in the registry.
                         You must use the --build-release argument
   --koji-parent-build KOJI_PARENT_BUILD
                         Specify a Koji NVR for the parent container
                         image. This will override the "FROM" value
                         in your Dockerfile.
   --scratch             Scratch build
   --arches [ARCHES ...]
                         Limit a scratch or a isolated build to an
                         arch. May have multiple arches.
   --repo-url URL [URL ...]
                         URLs of yum repo files
   --signing-intent SIGNING_INTENT
                         Signing intent of the ODCS composes. If
                         specified, this must be one of the signing
                         intent names configured on the OSBS server.
                         If unspecified, the server will use the
                         signing intent of the compose_ids you
                         specify, or the server's
                         default_signing_intent. To view the full
                         list of possible names, see
                         atomic_reactor.config in osbs-build.log.
   --skip-remote-rules-validation
                         Don't check if there's a valid gating.yaml
                         file in the repo
   --skip-build          Don't create build, but just modify settings
                         for autorebuilds
 

fedpkg fork

 usage: fedpkg fork [-h]
 
 Create a new fork of the current repository
 
 Before the operation, you need to generate a pagure.io API token at:
     https://src.fedoraproject.org/settings/token/new
 
 ACL required:
     "Fork a project"
 
 Update your token with the following command:
     fedpkg set-distgit-token
 
 Command saves token to fedpkg config file:
     ~/.config/rpkg/fedpkg.conf
 
 For example:
     [fedpkg.distgit]
     token = <api_key_here>
 
 Below is a basic example of the command to fork a current repository:
 
     fedpkg fork
 
 Operation requires username (FAS_ID). by default, current logged
 username is taken. It could be overridden by reusing an argument:
 
     fedpkg --user FAS_ID fork
 
 options:
   -h, --help  show this help message and exit
 

fedpkg gimmespec

 usage: fedpkg gimmespec [-h]
 
 Print the spec file name.
 
 options:
   -h, --help  show this help message and exit
 

fedpkg gitbuildhash

 usage: fedpkg gitbuildhash [-h] build
 
 This will show you the commit hash string used to build the provided
 build n-v-r
 
 positional arguments:
   build       name-version-release of the build to query.
 
 options:
   -h, --help  show this help message and exit
 

fedpkg giturl

 usage: fedpkg giturl [-h]
 
 This will show you which git URL would be used in a build command.
 It uses the git hashsum of the HEAD of the current branch (which may
 not be pushed).
 
 options:
   -h, --help  show this help message and exit
 

fedpkg help

 usage: fedpkg help [-h]
 
 Show usage.
 
 options:
   -h, --help  show this help message and exit
 

fedpkg import

 usage: fedpkg import [-h] [--skip-diffs] [--offline]
                      [--do-not-check-specfile-name]
                      srpm
 
 This will extract sources, patches, and the spec file from an srpm
 and update the current module accordingly. It will import to the
 current branch by default.
 
 positional arguments:
   srpm                  Source rpm to import
 
 options:
   -h, --help            show this help message and exit
   --skip-diffs          Don't show diffs when import srpms
   --offline             Do not upload files into lookaside cache
   --do-not-check-specfile-name
                         Do not check whether specfile in SRPM
                         matches the repository name
 

fedpkg install

 usage: fedpkg install [-h] [--builddir BUILDDIR]
                       [--buildrootdir BUILDROOTDIR] [--arch ARCH]
                       [--define DEFINE] [--short-circuit]
                       [--nocheck]
                       ...
 
 This will call rpmbuild to run the install section. All leading
 sections will be processed as well, unless the short-circuit option
 is used.
 
 positional arguments:
   extra_args            Custom arguments that are passed to the
                         'rpmbuild'. Use '--' to separate them from
                         other arguments.
 
 options:
   -h, --help            show this help message and exit
   --builddir BUILDDIR   Define an alternate builddir
   --buildrootdir BUILDROOTDIR
                         Define an alternate buildrootdir
   --arch ARCH           Prep for a specific arch
   --define DEFINE       Pass custom macros to rpmbuild, may specify
                         multiple times
   --short-circuit       short-circuit install
   --nocheck             nocheck install
 

fedpkg lint

 usage: fedpkg lint [-h] [--info] [--rpmlintconf RPMLINTCONF]
 
 Rpmlint can be configured using the --rpmlintconf/-r option or by
 setting a <pkgname>.rpmlintrc file in the working directory
 
 options:
   -h, --help            show this help message and exit
   --info, -i            Display explanations for reported messages
   --rpmlintconf, -r RPMLINTCONF
                         Use a specific configuration file for
                         rpmlint
 

fedpkg list-side-tags

 usage: fedpkg list-side-tags [-h] [--mine | --user TAG_OWNER |
                              --base-tag BASE_TAG]
 
 List existing side-tags.
 
 options:
   -h, --help           show this help message and exit
   --mine               List only my side tags
   --user TAG_OWNER     List side tags created by this user
   --base-tag BASE_TAG  List only tags based on this base
 

fedpkg local

 usage: fedpkg local [-h] [--builddir BUILDDIR]
                     [--buildrootdir BUILDROOTDIR] [--arch ARCH]
                     [--define DEFINE] [--md5] [--with BCOND_WITH]
                     [--without BCOND_WITHOUT]
                     ...
 
 Locally test run of rpmbuild producing binary RPMs. The rpmbuild
 output will be logged into a file named
 .build-%{version}-%{release}.log
 
 positional arguments:
   extra_args            Custom arguments that are passed to the
                         'rpmbuild'. Use '--' to separate them from
                         other arguments.
 
 options:
   -h, --help            show this help message and exit
   --builddir BUILDDIR   Define an alternate builddir
   --buildrootdir BUILDROOTDIR
                         Define an alternate buildrootdir
   --arch ARCH           Prep for a specific arch
   --define DEFINE       Pass custom macros to rpmbuild, may specify
                         multiple times
   --md5                 Use md5 checksums (for older rpm hosts)
   --with BCOND_WITH     Enable configure option (bcond) for the
                         build
   --without BCOND_WITHOUT
                         Disable configure option (bcond) for the
                         build
 

fedpkg mock-config

 usage: fedpkg mock-config [-h] [--target TARGET] [--arch ARCH]
 
 This will generate a mock config based on the buildsystem target
 
 options:
   -h, --help       show this help message and exit
   --target TARGET  Override target used for config
   --arch ARCH      Override local arch
 

fedpkg mockbuild

 usage: fedpkg mockbuild [-h] [--root CONFIG] [--md5] [--no-clean]
                         [--no-cleanup-after] [--no-clean-all]
                         [--with BCOND_WITH]
                         [--without BCOND_WITHOUT] [--shell]
                         [--enablerepo ENABLEREPO]
                         [--disablerepo DISABLEREPO]
                         [--enable-network] [--srpm-mock]
                         [--use-koji-mock-config |
                         --use-local-mock-config]
                         [--default-mock-resultdir]
                         [--extra-pkgs [EXTRA_PKGS ...]]
                         ...
 
 This will use the mock utility to build the package for the
 distribution detected from branch information. This can be
 overridden using the global --release option. Your user must be in
 the local "mock" group.
 
 positional arguments:
   extra_args            Custom arguments that are passed to the
                         'mock'. Use '--' to separate them from other
                         arguments.
 
 options:
   -h, --help            show this help message and exit
   --root, --mock-config CONFIG
                         Override mock configuration (like mock -r)
   --md5                 Use md5 checksums (for older rpm hosts)
   --no-clean, -n        Do not clean chroot before building package
   --no-cleanup-after    Do not clean chroot after building (if
                         automatic cleanup is enabled
   --no-clean-all, -N    Alias for both --no-clean and --no-cleanup-
                         after
   --with BCOND_WITH     Enable configure option (bcond) for the
                         build
   --without BCOND_WITHOUT
                         Disable configure option (bcond) for the
                         build
   --shell               Run commands interactively within chroot.
                         Before going into chroot, mockbuild needs to
                         run with --no-cleanup-after in advanced.
   --enablerepo ENABLEREPO
                         Pass enablerepo option to yum/dnf (may be
                         used more than once)
   --disablerepo DISABLEREPO
                         Pass disablerepo option to yum/dnf (may be
                         used more than once)
   --enable-network      Enable networking
   --srpm-mock           Generate source rpm with 'mock' and then run
                         'mockbuild' using this source rpm
   --use-koji-mock-config
                         Download Mock configuration from Kojihub,
                         instead of using the local Mock
                         configuration in mock-core-configs.rpm.
   --use-local-mock-config
                         Enforce use of local Mock configuration.
   --default-mock-resultdir
                         Don't modify Mock resultdir.
   --extra-pkgs [EXTRA_PKGS ...]
                         Install additional packages into chroot
 
 If config file for mock isn't found in the /etc/mock directory, a
 temporary config directory for mock is created and populated with a
 config file created with mock-config.
 

fedpkg module-build

 usage: fedpkg module-build [-h] [--watch]
                            [--buildrequires name:stream]
                            [--requires name:stream]
                            [--optional key=value]
                            [--file [FILE_PATH]] [--srpm SRPMS]
                            [--scratch]
                            [scm_url] [branch]
 
 Build a module using MBS
 
 positional arguments:
   scm_url               The module's SCM URL. This defaults to the
                         current repo.
   branch                The module's SCM branch. This defaults to
                         the current checked-out branch.
 
 options:
   -h, --help            show this help message and exit
   --watch, -w           Watch the module build
   --buildrequires name:stream
                         Buildrequires to override in the form of
                         "name:stream"
   --requires name:stream
                         Requires to override in the form of
                         "name:stream"
   --optional key=value  MBS optional arguments in the form of
                         "key=value". For example: 'fedpkg module-
                         build --optional
                         "reuse_components_from=<NSVC>"'. More
                         description including list of available
                         arguments here: https://pagure.io/fm-
                         orchestrator/
   --file [FILE_PATH]    The modulemd yaml file for module scratch
                         build.
   --srpm SRPMS          Include one or more srpms for module scratch
                         build.
   --scratch             Perform a scratch build
 

fedpkg module-build-cancel

 usage: fedpkg module-build-cancel [-h] build_id
 
 Cancel an MBS module build
 
 positional arguments:
   build_id    The ID of the module build to cancel
 
 options:
   -h, --help  show this help message and exit
 

fedpkg module-build-info

 usage: fedpkg module-build-info [-h] build_id
 
 Show information of an MBS module build
 
 positional arguments:
   build_id    The ID of the module build
 
 options:
   -h, --help  show this help message and exit
 

fedpkg module-build-local

 usage: fedpkg module-build-local [-h] [--file [FILE_PATH]]
                                  [--srpm SRPMS] [--stream [STREAM]]
                                  [--skip-tests]
                                  [--add-local-build N:S:V] [-s N:S]
                                  [--offline] [-r PATH]
 
 Build a module locally using the mbs-manager command
 
 options:
   -h, --help            show this help message and exit
   --file [FILE_PATH]    The module's modulemd yaml file. If not
                         specified, a yaml file with the same
                         basename as the name of the repository will
                         be used.
   --srpm SRPMS          Include one or more srpms for module build.
   --stream [STREAM]     The module's stream/SCM branch. This
                         defaults to the current checked-out branch.
   --skip-tests          Adds a macro for skipping the check section
   --add-local-build N:S:V
                         Import previously finished local module
                         builds into MBS in the format of name:stream
                         or name:stream:version
   -s, --set-default-stream N:S
                         Set the default stream for given module
                         dependency in case there are multiple
                         streams to choose from.
   --offline             Builds module offline without any external
                         infrastructure
   -r, --repository PATH
                         Full path to .repo file defining the base
                         module repository to use when --offline is
                         used.
 

fedpkg module-build-watch

 usage: fedpkg module-build-watch [-h] build_id [build_id ...]
 
 Watch an MBS build
 
 positional arguments:
   build_id    The ID of the module build to watch
 
 options:
   -h, --help  show this help message and exit
 

fedpkg module-overview

 usage: fedpkg module-overview [-h] [--unfinished] [--limit LIMIT]
                               [--owner FAS_ID | --mine]
 
 Shows an overview of MBS builds
 
 options:
   -h, --help      show this help message and exit
   --unfinished    Show unfinished module builds
   --limit LIMIT   The number of most recent module builds to display
   --owner FAS_ID  List only items of that owner
   --mine          Use current Kerberos name or username
 

fedpkg module-scratch-build

 usage: fedpkg module-scratch-build [-h] [--watch]
                                    [--buildrequires name:stream]
                                    [--requires name:stream]
                                    [--optional key=value]
                                    [--file [FILE_PATH]]
                                    [--srpm SRPMS]
                                    [scm_url] [branch]
 
 Build a scratch module using MBS
 
 positional arguments:
   scm_url               The module's SCM URL. This defaults to the
                         current repo.
   branch                The module's SCM branch. This defaults to
                         the current checked-out branch.
 
 options:
   -h, --help            show this help message and exit
   --watch, -w           Watch the module build
   --buildrequires name:stream
                         Buildrequires to override in the form of
                         "name:stream"
   --requires name:stream
                         Requires to override in the form of
                         "name:stream"
   --optional key=value  MBS optional arguments in the form of
                         "key=value". For example: 'fedpkg module-
                         build --optional
                         "reuse_components_from=<NSVC>"'. More
                         description including list of available
                         arguments here: https://pagure.io/fm-
                         orchestrator/
   --file [FILE_PATH]    The modulemd yaml file for module scratch
                         build.
   --srpm SRPMS          Include one or more srpms for module scratch
                         build.
 

fedpkg new

 usage: fedpkg new [-h]
 
 This will use git to show a diff of all the changes (even
 uncommitted changes) since the last git tag was applied.
 
 options:
   -h, --help  show this help message and exit
 

fedpkg new-sources

 usage: fedpkg new-sources [-h] [--offline] files [files ...]
 
 This will upload new source file(s) to lookaside cache, and all file
 names listed in sources file will be replaced. .gitignore will be
 also updated with new uploaded file(s). Please remember to commit
 them.
 
 positional arguments:
   files
 
 options:
   -h, --help  show this help message and exit
   --offline   Do all the steps except uploading into lookaside cache
 

fedpkg override

 usage: fedpkg override [-h] {create,extend} ...
 
 Manage buildroot overrides.
 
 options:
   -h, --help       show this help message and exit
 
 subcommands:
   Commands on override
 
   {create,extend}
     create         Create buildroot override from build
     extend         Extend buildroot override expiration
 

fedpkg patch

 usage: fedpkg patch [-h] [--rediff] suffix
 
 Create and add a gendiff patch file.
 
 positional arguments:
   suffix      Look for files with this suffix to diff
 
 options:
   -h, --help  show this help message and exit
   --rediff    Recreate gendiff file retaining comments Saves old
               patch file with a suffix of ~
 
 Patch file will be named: package-version-suffix.patch and the file
 will be added to the repo index
 

fedpkg pre-push-check

 usage: fedpkg pre-push-check [-h] [ref]
 
 Performs few checks of the repository before pushing changes.
 "git push" command itself is not part of this check.
 
 Checks include:
   * parse specfile for source files and verifies it is noted also
     in the 'sources' file.
 
   * verifies, that all source files from 'sources' file were uploaded
     to the lookaside cache.
 
 Checks can be performed manually by executing 'pre-push-check' command.
 But originally, it is designed to be executed automatically right before
 'git push' command is started. Every time the 'git push' command
 is executed, the 'pre-push' hook script runs first.
 
 Path: <repository_directory>/.git/hooks/pre-push
 
 This hook script is created after a new repository is cloned. Previously
 created repositories don't contain this hook script.
 
 To disable these checks, remove the hook script.
 
 positional arguments:
   ref         Reference to the commit that will be checkedAccepts
               hash or reference for example 'refs/heads/f37'
 
 options:
   -h, --help  show this help message and exit
 

fedpkg prep

 usage: fedpkg prep [-h] [--builddir BUILDDIR]
                    [--buildrootdir BUILDROOTDIR] [--arch ARCH]
                    [--define DEFINE]
                    ...
 
 Use rpmbuild to "prep" the sources (unpack the source archive(s) and
 apply any patches.)
 
 positional arguments:
   extra_args            Custom arguments that are passed to the
                         'rpmbuild'. Use '--' to separate them from
                         other arguments.
 
 options:
   -h, --help            show this help message and exit
   --builddir BUILDDIR   Define an alternate builddir
   --buildrootdir BUILDROOTDIR
                         Define an alternate buildrootdir
   --arch ARCH           Prep for a specific arch
   --define DEFINE       Pass custom macros to rpmbuild, may specify
                         multiple times
 

fedpkg pull

 usage: fedpkg pull [-h] [--rebase] [--no-rebase]
 
 This command uses git to fetch remote changes and apply them to the
 current working copy. A rebase option is available which can be used
 to avoid merges.
 
 options:
   -h, --help   show this help message and exit
   --rebase     Rebase the locally committed changes on top of the
                remote changes after fetching. This can avoid a merge
                commit, but does rewrite local history.
   --no-rebase  Do not rebase, overriding .git settings to the
                contrary
 
 See git pull --help for more details
 

fedpkg push

 usage: fedpkg push [-h] [--force] [--no-verify]
 
 Push changes to remote repository.
 
 options:
   -h, --help   show this help message and exit
   --force, -f  Force push
   --no-verify  Bypass the pre-push hook script. No check of the
                branch will prevent the push.
 

fedpkg releases-info

 usage: fedpkg releases-info [-h] [-e | -f | -j]
 
 Print Fedora or EPEL current active releases
 
 options:
   -h, --help    show this help message and exit
   -e, --epel    Only show EPEL releases.
   -f, --fedora  Only show Fedora active releases.
   -j, --join    Show all releases in one line separated by a space.
 

fedpkg remote

 usage: fedpkg remote [-h] {add} ...
 
 Operations with tracked repositories ('remotes'). This is an
 experimental interface.
 
 options:
   -h, --help  show this help message and exit
 
 subcommands:
   Operations with tracked repositories ('remotes'). This is an
   experimental interface. Please note that some or all current
   functionality is subject to change. Without parameters list of
   remotes will be shown.
 
   {add}
 

fedpkg remove-side-tag

 usage: fedpkg remove-side-tag [-h] TAG
 
 Remove a side tag (without merging packages).
 
 positional arguments:
   TAG         name of tag to be deleted
 
 options:
   -h, --help  show this help message and exit
 

fedpkg request-branch

 usage: fedpkg request-branch [-h] [--repo NAME]
                              [--namespace {rpms,container,modules,flatpaks}]
                              [--sl [SL ...]] [--no-git-branch]
                              [--no-auto-module] [--all-releases]
                              [branch]
 
 Request a new dist-git branch
 
 Please refer to the help of the request-repo command to see what has
 to be done before requesting a dist-git branch.
 
 Branch name could be one of current active Fedora and EPEL releases. Use
 command ``fedpkg releases-info`` to get release names that can be used to request
 a branch.
 
 Below are various examples of requesting a dist-git branch.
 
 Request a branch inside a cloned package repository:
 
     fedpkg request-branch f27
 
 Request a branch outside package repository, which could apply to cases of
 requested repository has not been approved and created, or just not change
 directory to package repository:
 
     fedpkg request-branch --repo foo f27
 
 Request a branch with service level tied to the branch. In this case branch
 argument has to be before --sl argument, because --sl allows multiple values.
 
     fedpkg request-branch branch_name --sl bug_fixes:2020-06-01 rawhide:2019-12-01
 
 positional arguments:
   branch                The branch to request.
 
 options:
   -h, --help            show this help message and exit
   --repo NAME           Repository name the new branch is requested
                         for.
   --namespace {rpms,container,modules,flatpaks}
                         Namespace where the repository specified
                         with --repo exists. If omitted, defaults to
                         rpms.
   --sl [SL ...]         The service levels (SLs) tied to the branch.
                         This must be in the format of
                         "sl_name:2020-12-01". This is only for non-
                         release branches. You may provide more than
                         one by separating each SL with a space. When
                         the argument is used, branch argument has to
                         be placed before --sl.
   --no-git-branch       Don't create the branch in git but still
                         create it in PDC
   --no-auto-module      If requesting an rpm arbitrary branch, do
                         not also request a new matching module. See
                         https://pagure.io/fedrepo_req/issue/129
   --all-releases        Make a new branch request for every active
                         Fedora release
 

fedpkg request-repo

 usage: fedpkg request-repo [-h]
                            [--namespace {rpms,container,modules,flatpaks}]
                            [--description Description]
                            [--monitor {no-monitoring,monitoring,monitoring-with-scratch}]
                            [--upstreamurl UPSTREAMURL]
                            [--summary SUMMARY] [--exception]
                            [--no-initial-commit]
                            name [bug]
 
 Request a new dist-git repository
 
 Before the operation, you need to generate a pagure.io API token at:
     https://pagure.io/settings/token/new
 
     ACL required:
         "Create a new ticket"
 
 Update your token with the following command:
     fedpkg set-pagure-token
 
 Command saves token to fedpkg config file:
     ~/.config/rpkg/fedpkg.conf
 
 For example:
     [fedpkg.pagure]
     token = <api_key_here>
 
 Below is a basic example of the command to request a dist-git repository for
 the package foo:
 
     fedpkg request-repo foo 1234
 
 Another example to request a module foo:
 
     fedpkg request-repo --namespace modules foo
 
 positional arguments:
   name                  Repository name to request.
   bug                   Bugzilla bug ID of the package review
                         request. Not required for requesting a
                         module repository
 
 options:
   -h, --help            show this help message and exit
   --namespace {rpms,container,modules,flatpaks}
                         Namespace of repository. If omitted, default
                         to rpms.
   --description, -d Description
                         The repo's description in dist-git
   --monitor, -m {no-monitoring,monitoring,monitoring-with-scratch}
                         The Anitya monitoring type for the repo
   --upstreamurl, -u UPSTREAMURL
                         The upstream URL of the project
   --summary, -s SUMMARY
                         Override the package's summary from the
                         Bugzilla bug
   --exception           The package is an exception to the regular
                         package review process (specifically, it
                         does not require a Bugzilla bug)
   --no-initial-commit   Do not include an initial commit in the
                         repository.
 

fedpkg request-side-tag

 usage: fedpkg request-side-tag [-h] [--base-tag BASE_TAG]
                                [--suffix SUFFIX]
 
 Create a new side tag.
 
 options:
   -h, --help           show this help message and exit
   --base-tag BASE_TAG  name of base tag
   --suffix SUFFIX      A suffix to be appended to the side tag name.
                        The suffix must be allowed in Koji
                        configuration.
 

fedpkg request-tests-repo

 usage: fedpkg request-tests-repo [-h] [--bug BUG] name description
 
 Request a new dist-git repository in tests shared namespace
 
     https://src.fedoraproject.org/projects/tests/*
 
 For more information about tests shared namespace see
 
     https://docs.fedoraproject.org/en-US/ci/share-test-code
 
 Please refer to the request-repo command to see what has to be done before
 requesting a repository in the tests namespace.
 
 Below is a basic example of the command to request a dist-git repository for
 the space tests/foo:
 
     fedpkg request-tests-repo foo "Description of the repository"
 
 Note that the space name needs to reflect the intent of the tests and will
 undergo a manual review.
 
 positional arguments:
   name         Repository name to request.
   description  Description of the tests repository
 
 options:
   -h, --help   show this help message and exit
   --bug BUG    Bugzilla bug ID of the package review request.
 

fedpkg retire

 usage: fedpkg retire [-h] reason
 
 This command will remove all files from the repo, leave a
 dead.package file for rpms or dead.module file for modules, and push
 the changes.
 
 positional arguments:
   reason      Reason for retiring the package/module
 
 options:
   -h, --help  show this help message and exit
 

fedpkg scratch-build

 usage: fedpkg scratch-build [-h] [--arches [ARCHES ...]] [--md5]
                             [--nowait] [--target TARGET]
                             [--background] [--fail-fast]
                             [--skip-remote-rules-validation]
                             [--skip-nvr-check]
                             [--custom-user-metadata CUSTOM_USER_METADATA]
                             [--srpm [SRPM]] [--srpm-mock]
 
 This command will request a scratch build of the package. Without
 providing an srpm, it will attempt to build the latest commit, which
 must have been pushed. By default all appropriate arches will be
 built.
 
 options:
   -h, --help            show this help message and exit
   --arches [ARCHES ...]
                         Build for specific arches
   --md5                 Use md5 checksums (for older rpm hosts)
   --nowait              Don't wait on build
   --target TARGET       Define build target to build into
   --background          Run the build at a low priority
   --fail-fast           Fail the build immediately if any arch fails
   --skip-remote-rules-validation
                         Don't check if there's a valid gating.yaml
                         file in the repo, where you can define
                         additional policies for Greenwave gating.
   --skip-nvr-check      Submit build to buildsystem without check if
                         NVR was already built. NVR is constructed
                         locally and may be different from NVR
                         constructed during build on builder.
   --custom-user-metadata CUSTOM_USER_METADATA
                         Provide a JSON string of custom metadata to
                         be deserialized and stored under the build's
                         extra.custom_user_metadata field
   --srpm [SRPM]         Build from an srpm. If no srpm is provided
                         with this option an srpm will be generated
                         from the current module content.
   --srpm-mock           Build from an srpm. Source rpm will be
                         generated in 'mock' instead of 'rpmbuild'.
 

fedpkg set-distgit-token

 usage: fedpkg set-distgit-token [-h]
 
 Updates the fedpkg.distgit API token in ~/.config/rpkg/fedpkg.conf
 file. Tokens are of length 64 and contain only uppercase and
 numerical values. The new API token can be generated at:
 https://src.fedoraproject.org/settings/token/new
 
 options:
   -h, --help  show this help message and exit
 

fedpkg set-pagure-token

 usage: fedpkg set-pagure-token [-h]
 
 Updates the fedpkg.pagure API token in ~/.config/rpkg/fedpkg.conf
 file. Tokens are of length 64 and contain only uppercase and
 numerical values. The new API token. Can be generated at:
 https://pagure.io/settings/token/new
 
 options:
   -h, --help  show this help message and exit
 

fedpkg sources

 usage: fedpkg sources [-h] [--outdir OUTDIR] [--force]
 
 Download source files
 
 options:
   -h, --help       show this help message and exit
   --outdir OUTDIR  Directory to download files into (defaults to
                    pwd)
   --force          Download all sources, even if unused or otherwise
                    excluded by default.
 

fedpkg srpm

 usage: Create a source rpm
 
 This command wraps "rpmbuild -bs", roughly equivalent to:
 
   rpmbuild -bs mypackage.spec       --define "_topdir ."       --define "_sourcedir ."       --define "_srcrpmdir ."       --define "dist .el8"
 
 To include files in the SRPM, the files must be in the current
 working directory (this depends on the package layout used),
 and you must reference each file with SourceXXXX: or PatchXXXX:
 directives in your .spec file.
 
 positional arguments:
   extra_args            Custom arguments that are passed to the
                         'rpmbuild'. Use '--' to separate them from
                         other arguments.
 
 options:
   -h, --help            show this help message and exit
   --builddir BUILDDIR   Define an alternate builddir
   --buildrootdir BUILDROOTDIR
                         Define an alternate buildrootdir
   --arch ARCH           Prep for a specific arch
   --define DEFINE       Pass custom macros to rpmbuild, may specify
                         multiple times
   --md5                 Use md5 checksums (for older rpm hosts)
   --srpm-mock           Create source rpm in 'mock' instead of
                         'rpmbuild'
   --no-clean, -n        Only for --srpm-mock: Do not clean chroot
                         before building package
   --no-cleanup-after    Only for --srpm-mock: Do not clean chroot
                         after building if automatic cleanup is
                         enabled
   --no-clean-all, -N    Only for --srpm-mock: Alias for both --no-
                         clean and --no-cleanup-after
 

fedpkg switch-branch

 usage: fedpkg switch-branch [-h] [-l] [--fetch] [branch]
 
 This command can switch to a local git branch. If provided with a
 remote branch name that does not have a local match it will create
 one. It can also be used to list the existing local and remote
 branches.
 
 positional arguments:
   branch      Branch name to switch to
 
 options:
   -h, --help  show this help message and exit
   -l, --list  List both remote-tracking branches and local branches
   --fetch     Fetch new data from remote before switch
 

fedpkg tag

 usage: fedpkg tag [-h] [-f] [-m MESSAGE] [-c] [--raw] [-F FILE] [-l]
                   [-d]
                   [tag]
 
 This command uses git to create, list, or delete tags.
 
 positional arguments:
   tag                   Name of the tag
 
 options:
   -h, --help            show this help message and exit
   -f, --force           Force the creation of the tag
   -m, --message MESSAGE
                         Use the given <msg> as the tag message
   -c, --clog            Generate the tag message from the spec
                         changelog section
   --raw                 Make the clog raw
   -F, --file FILE       Take the tag message from the given file
   -l, --list            List all tags with a given pattern, or all
                         if not pattern is given
   -d, --delete          Delete a tag
 

fedpkg unused-patches

 usage: fedpkg unused-patches [-h]
 
 Print list of patches not referenced by name in the specfile.
 
 options:
   -h, --help  show this help message and exit
 

fedpkg update

 usage: fedpkg update [-h]
                      [--type {bugfix,security,enhancement,newpackage}]
                      [--request {testing,stable}]
                      [--bugs BUGS [BUGS ...]] [--notes NOTES]
                      [--disable-autokarma] [--stable-karma KARMA]
                      [--unstable-karma KARMA] [--not-close-bugs]
                      [--no-require-bugs] [--no-require-testcases]
                      [--severity {unspecified,low,medium,high,urgent}]
                      [--suggest-reboot | --suggest-logout]
 
 This will create a bodhi update request for the current package n-v-r.
 
 There are two ways to specify update details. Without any argument from command
 line, either update type or notes is omitted, a template editor will be shown
 and let you edit the detail information interactively.
 
 Alternatively, you could specify argument from command line to create an update
 directly, for example:
 
     fedpkg update --type bugfix --notes 'Rebuilt' --bugs 1000 1002
 
 When all lines in template editor are commented out or deleted, the creation
 process is aborted. If the template keeps unchanged, fedpkg continues on creating
 update. That gives user a chance to confirm the auto-generated notes from
 change log if option --notes is omitted.
 
 options:
   -h, --help            show this help message and exit
   --type {bugfix,security,enhancement,newpackage}
                         Update type. Template editor will be shown
                         if type is omitted.
   --request {testing,stable}
                         Requested repository.
   --bugs BUGS [BUGS ...]
                         Bug numbers. If omitted, bug numbers will be
                         extracted from change logs.
   --notes NOTES         Update description. Multiple lines of notes
                         could be specified. If omitted, template
                         editor will be shown.
   --disable-autokarma   Karma automatism is enabled by default. Use
                         this option to disable that.
   --stable-karma KARMA  Stable karma. Default is 3.
   --unstable-karma KARMA
                         Unstable karma. Default is -3.
   --not-close-bugs      By default, update will be created by
                         enabling to close bugs automatically. If
                         this is what you do not want, use this
                         option to disable the default behavior.
   --no-require-bugs     Disables the requirement that all of the
                         bugs in your update have been confirmed by
                         testers. Default is True.
   --no-require-testcases
                         Disables the requirement that this update
                         passes all test cases before reaching
                         stable. Default is True.
   --severity {unspecified,low,medium,high,urgent}
                         Severity - required for security updates
   --suggest-reboot      Suggest user to reboot after update. Default
                         is False.
   --suggest-logout      Suggest user to logout after update. Default
                         is False.
 

fedpkg upload

 usage: fedpkg upload [-h] [--offline] files [files ...]
 
 This command will upload new source file(s) to lookaside cache.
 Source file names are appended to sources file, and .gitignore will
 be also updated with new uploaded file(s). Please remember to commit
 them.
 
 positional arguments:
   files
 
 options:
   -h, --help  show this help message and exit
   --offline   Do all the steps except uploading into lookaside cache
 

fedpkg verify-files

 usage: fedpkg verify-files [-h] [--builddir BUILDDIR]
                            [--buildrootdir BUILDROOTDIR]
                            [--arch ARCH] [--define DEFINE]
                            ...
 
 Locally run 'rpmbuild -bl' to verify the spec file's %files
 sections. This requires a successful run of 'fedpkg install' in
 advance.
 
 positional arguments:
   extra_args            Custom arguments that are passed to the
                         'rpmbuild'. Use '--' to separate them from
                         other arguments.
 
 options:
   -h, --help            show this help message and exit
   --builddir BUILDDIR   Define an alternate builddir
   --buildrootdir BUILDROOTDIR
                         Define an alternate buildrootdir
   --arch ARCH           Prep for a specific arch
   --define DEFINE       Pass custom macros to rpmbuild, may specify
                         multiple times
 

fedpkg verrel

 usage: fedpkg verrel [-h]
 
 Print the name-version-release.
 
 options:
   -h, --help  show this help message and exit
 

See Also

https://pagure.io/fedpkg/

Info

2024-09-18 rpm-packager