rfpkg - Man Page

RPM Packaging utility

Synopsis

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

Description

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

Global Options

 --config 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 master 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

rfpkg 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

rfpkg 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

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

Alias for commit

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

Remove untracked files

rfpkg clog [-h] [--raw]

Make a clog file containing top changelog entry

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

Clone and checkout a repository

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

Alias for clone

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

Commit changes

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

Local test rpmbuild compile

rfpkg 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

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

set options for container-build

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

Build package in Copr

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

Show changes between commits, commit and working tree, etc

rfpkg 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

rfpkg gimmespec [-h]

Print the spec file name

rfpkg gitbuildhash [-h] build

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

rfpkg giturl [-h]

Print the git url for building

rfpkg help [-h]

Show usage

rfpkg import [-h] [--skip-diffs] [--offline] srpm

Import srpm content into a module

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

Local test rpmbuild install

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

Run rpmlint against local spec and build output if present.

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

List existing side-tags

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

Local test rpmbuild binary

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

Generate a mock config

rfpkg 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

rfpkg 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

rfpkg module-build-cancel [-h] build_id

Cancel an MBS module build

rfpkg module-build-info [-h] build_id

Show information of an MBS module build

rfpkg 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

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

Watch an MBS build

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

Shows an overview of MBS builds

rfpkg 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

rfpkg new [-h]

Diff against last tag

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

Upload source files

rfpkg patch [-h] [--rediff] suffix

Create and add a gendiff patch file

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

Check whether the eventual "git push" command could proceed

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

Local test rpmbuild prep

rfpkg pull [-h] [--rebase] [--no-rebase]

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

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

Push changes to remote repository

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

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

rfpkg remove-side-tag [-h] TAG

Remove a side tag (without merging packages)

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

Create a new side tag

rfpkg retire [-h] reason

Retire a package/module

rfpkg 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

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

Download source files

Create a source rpm

Create a source rpm

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

Work with branches

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

Management of git tags

rfpkg unused-patches [-h]

Print list of patches not referenced by name in the specfile

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

Upload source files

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

Locally verify %%files section

rfpkg verrel [-h]

Print the name-version-release.

Command Reference

rfpkg build

 usage: rfpkg 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.
 
 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'.
 

rfpkg chain-build

 usage: rfpkg 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: rfpkg 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:
 
 rfpkg 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
 

rfpkg ci

 usage: rfpkg 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 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 FILE  Take the commit message from the given file
   -p, --push            Commit and push as one action
   -s, --signoff         Include a signed-off-by
 

rfpkg clean

 usage: rfpkg 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
 

rfpkg clog

 usage: rfpkg 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
 

rfpkg clone

 usage: rfpkg 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 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
 

rfpkg co

 usage: rfpkg 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 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
 

rfpkg commit

 usage: rfpkg 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 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 FILE  Take the commit message from the given file
   -p, --push            Commit and push as one action
   -s, --signoff         Include a signed-off-by
 

rfpkg compile

 usage: rfpkg 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
 

rfpkg container-build

 usage: rfpkg 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
 

rfpkg container-build-setup

 usage: rfpkg 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
 

rfpkg copr-build

 usage: rfpkg 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
 

rfpkg diff

 usage: rfpkg 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
 

rfpkg flatpak-build

 usage: rfpkg 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
 

rfpkg gimmespec

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

rfpkg gitbuildhash

 usage: rfpkg 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
 

rfpkg giturl

 usage: rfpkg 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
 

rfpkg help

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

rfpkg import

 usage: rfpkg import [-h] [--skip-diffs] [--offline] 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
 

rfpkg install

 usage: rfpkg 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
 

rfpkg lint

 usage: rfpkg 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 RPMLINTCONF, -r RPMLINTCONF
                         Use a specific configuration file for
                         rpmlint
 

rfpkg list-side-tags

 usage: rfpkg 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
 

rfpkg local

 usage: rfpkg 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
 

rfpkg mock-config

 usage: rfpkg 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
 

rfpkg mockbuild

 usage: rfpkg 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 CONFIG, --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.
 

rfpkg module-build

 usage: rfpkg 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: 'rfpkg 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
 

rfpkg module-build-cancel

 usage: rfpkg 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
 

rfpkg module-build-info

 usage: rfpkg 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
 

rfpkg module-build-local

 usage: rfpkg 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 N: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 PATH, --repository PATH
                         Full path to .repo file defining the base
                         module repository to use when --offline is
                         used.
 

rfpkg module-build-watch

 usage: rfpkg 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
 

rfpkg module-overview

 usage: rfpkg 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
 

rfpkg module-scratch-build

 usage: rfpkg 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: 'rfpkg 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.
 

rfpkg new

 usage: rfpkg 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
 

rfpkg new-sources

 usage: rfpkg 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
 

rfpkg patch

 usage: rfpkg 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
 

rfpkg pre-push-check

 usage: rfpkg 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
 

rfpkg prep

 usage: rfpkg 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
 

rfpkg pull

 usage: rfpkg 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
 

rfpkg push

 usage: rfpkg 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.
 

rfpkg remote

 usage: rfpkg 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}
 

rfpkg remove-side-tag

 usage: rfpkg 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
 

rfpkg request-side-tag

 usage: rfpkg 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.
 

rfpkg retire

 usage: rfpkg 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
 

rfpkg scratch-build

 usage: rfpkg 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'.
 

rfpkg sources

 usage: rfpkg 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.
 

rfpkg 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
 

rfpkg switch-branch

 usage: rfpkg 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
 

rfpkg tag

 usage: rfpkg 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 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 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
 

rfpkg unused-patches

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

rfpkg upload

 usage: rfpkg 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
 

rfpkg verify-files

 usage: rfpkg 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 'rfpkg 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
 

rfpkg verrel

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

See Also

https://github.com/rpmfusion-infra/rfpkg

Info

2024-04-09 rpm-packager