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