centpkg - Man Page
RPM Packaging utility
Synopsis
centpkg [ global_options ] command [ command_options ] [ command_arguments ]
centpkg help
centpkg command --help
Description
centpkg 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 from current
branch, which is used to determine the build
target and value of dist macro. Generally,
release is the name of a branch created in
your package repository. --release is an
alias of --dist, hence --release should be
used instead.
--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
Command Overview
- centpkg 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] [--rhel-target {exception,zstream,latest,none}]
Request build
- centpkg 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
- centpkg ci [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw] [-t] [-F FILE] [-p] [-s] [files ...]
Alias for commit
- centpkg clean [-h] [--dry-run] [-x]
Remove untracked files
- centpkg clog [-h] [--raw]
Make a clog file containing top changelog entry
- centpkg clone [-h] [--branches] [--branch BRANCH] [--anonymous] [--depth DEPTH] repo [clone_target] ...
Clone and checkout a repository
- centpkg co [-h] [--branches] [--branch BRANCH] [--anonymous] [--depth DEPTH] repo [clone_target] ...
Alias for clone
- centpkg commit [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw] [-t] [-F FILE] [-p] [-s] [files ...]
Commit changes
- centpkg compile [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] [--short-circuit] [--nocheck] ...
Local test rpmbuild compile
- centpkg 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
- centpkg container-build-setup [-h] (--get-autorebuild | --set-autorebuild {true,false})
set options for container-build
- centpkg copr-build [-h] [--config CONFIG] [--nowait] project ...
Build package in Copr
- centpkg current-state [-h]
Show the phase and state of current dist-git branch - Internal Only
- centpkg diff [-h] [--cached] [files ...]
Show changes between commits, commit and working tree, etc
- centpkg 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
- centpkg fork [-h]
Create a new fork of the current repository
- centpkg gimmespec [-h]
Print the spec file name
- centpkg gitbuildhash [-h] build
Print the git hash used to build the provided n-v-r
- centpkg giturl [-h]
Print the git url for building
- centpkg help [-h]
Show usage
- centpkg import [-h] [--skip-diffs] [--offline] [--do-not-check-specfile-name] srpm
Import srpm content into a module
- centpkg install [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] [--short-circuit] [--nocheck] ...
Local test rpmbuild install
- centpkg lint [-h] [--info] [--rpmlintconf RPMLINTCONF]
Run rpmlint against local spec and build output if present.
- centpkg list-side-tags [-h] [--mine | --user TAG_OWNER | --base-tag BASE_TAG]
List existing side-tags
- centpkg local [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] [--md5] [--with BCOND_WITH] [--without BCOND_WITHOUT] ...
Local test rpmbuild binary
- centpkg mock-config [-h] [--target TARGET] [--arch ARCH]
Generate a mock config
- centpkg 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
- centpkg 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
- centpkg module-build-cancel [-h] build_id
Cancel an MBS module build
- centpkg module-build-info [-h] build_id
Show information of an MBS module build
- centpkg 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
- centpkg module-build-watch [-h] build_id [build_id ...]
Watch an MBS build
- centpkg module-overview [-h] [--unfinished] [--limit LIMIT] [--owner FAS_ID | --mine]
Shows an overview of MBS builds
- centpkg 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
- centpkg new [-h]
Diff against last tag
- centpkg new-sources [-h] [--offline] files [files ...]
Upload source files
- centpkg patch [-h] [--rediff] suffix
Create and add a gendiff patch file
- centpkg pre-push-check [-h] [ref]
Check whether the eventual "git push" command could proceed
- centpkg prep [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] ...
Local test rpmbuild prep
- centpkg pull [-h] [--rebase] [--no-rebase]
Pull changes from the remote repository and update the working copy.
- centpkg push [-h] [--force] [--no-verify]
Push changes to remote repository
- centpkg remote [-h] {add} ...
Operations with tracked repositories ('remotes'). This is an experimental interface.
- centpkg remove-side-tag [-h] TAG
Remove a side tag (without merging packages)
- centpkg request-gated-side-tag [-h] [--base-tag BASE_TAG]
Create a new dynamic gated side tag
- centpkg request-side-tag [-h] [--base-tag BASE_TAG] [--suffix SUFFIX]
Create a new side tag
- centpkg retire [-h] reason
Retire a package/module
- centpkg 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
- centpkg sources [-h] [--outdir OUTDIR] [--force]
Download source files
- Create a source rpm
Create a source rpm
- centpkg switch-branch [-h] [-l] [--fetch] [branch]
Work with branches
- centpkg tag [-h] [-f] [-m MESSAGE] [-c] [--raw] [-F FILE] [-l] [-d] [tag]
Management of git tags
- centpkg unused-patches [-h]
Print list of patches not referenced by name in the specfile
- centpkg upload [-h] [--offline] files [files ...]
Upload source files
- centpkg verify-files [-h] [--builddir BUILDDIR] [--buildrootdir BUILDROOTDIR] [--arch ARCH] [--define DEFINE] ...
Locally verify %%files section
- centpkg verrel [-h]
Print the name-version-release.
Command Reference
centpkg build
usage: centpkg 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]
[--rhel-target {exception,zstream,latest,none}]
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.
centpkg now sets the rhel metadata with --rhel-target.
* exception - This will build for the current in-development Y-stream release.
It is equivalent to passing latest when not in the Blocker and Exception Phase.
* zstream - If pre-GA of a y-stream release, this will build for 0day.
If post-GA of a Y-stream release, this will build for the Z-stream of that release.
* latest - This will always build for the next Y-stream release
* none - This will not build in brew. No rhel metadata is set.
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'.
--rhel-target {exception,zstream,latest,none}
Set the rhel-target metadata
centpkg chain-build
usage: centpkg 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: centpkg 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:
centpkg 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
centpkg ci
usage: centpkg 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
centpkg clean
usage: centpkg 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
centpkg clog
usage: centpkg 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
centpkg clone
usage: centpkg 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
centpkg co
usage: centpkg 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
centpkg commit
usage: centpkg 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
centpkg compile
usage: centpkg 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
centpkg container-build
usage: centpkg 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
centpkg container-build-setup
usage: centpkg 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
centpkg copr-build
usage: centpkg 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
centpkg current-state
usage: centpkg current-state [-h]
Show the phase and state of current dist-git branch - Internal Only.
options:
-h, --help show this help message and exit
centpkg diff
usage: centpkg 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
centpkg flatpak-build
usage: centpkg 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
centpkg fork
usage: centpkg fork [-h]
Create a new fork of the current repository
Before the operation, you need to generate an API token at
https://gitlab.com/-/user_settings/personal_access_tokens, select the "api"
scope and save it in your local user configuration located
at ~/.config/rpkg/centpkg.conf. For example:
[centpkg.distgit]
token = <api_key_here>
Below is a basic example of the command to fork a current repository:
centpkg fork
options:
-h, --help show this help message and exit
centpkg gimmespec
usage: centpkg gimmespec [-h]
Print the spec file name.
options:
-h, --help show this help message and exit
centpkg gitbuildhash
usage: centpkg 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
centpkg giturl
usage: centpkg 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
centpkg help
usage: centpkg help [-h]
Show usage.
options:
-h, --help show this help message and exit
centpkg import
usage: centpkg import [-h] [--skip-diffs] [--offline]
[--do-not-check-specfile-name]
srpm
This will extract sources, patches, and the spec file from an srpm
and update the current module accordingly. It will import to the
current branch by default.
positional arguments:
srpm Source rpm to import
options:
-h, --help show this help message and exit
--skip-diffs Don't show diffs when import srpms
--offline Do not upload files into lookaside cache
--do-not-check-specfile-name
Do not check whether specfile in SRPM
matches the repository name
centpkg install
usage: centpkg 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
centpkg lint
usage: centpkg 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
centpkg local
usage: centpkg 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
centpkg mock-config
usage: centpkg 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
centpkg mockbuild
usage: centpkg 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.
centpkg module-build
usage: centpkg 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: 'centpkg 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
centpkg module-build-cancel
usage: centpkg 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
centpkg module-build-info
usage: centpkg 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
centpkg module-build-local
usage: centpkg 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.
centpkg module-build-watch
usage: centpkg 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
centpkg module-overview
usage: centpkg 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
centpkg module-scratch-build
usage: centpkg 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: 'centpkg 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.
centpkg new
usage: centpkg 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
centpkg new-sources
usage: centpkg 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
centpkg patch
usage: centpkg 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
centpkg pre-push-check
usage: centpkg 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
centpkg prep
usage: centpkg 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
centpkg pull
usage: centpkg 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
centpkg push
usage: centpkg 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.
centpkg remote
usage: centpkg 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}
centpkg remove-side-tag
usage: centpkg 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
centpkg request-gated-side-tag
usage: centpkg request-gated-side-tag [-h] [--base-tag BASE_TAG]
Create a new dynamic gated side tag.
options:
-h, --help show this help message and exit
--base-tag BASE_TAG name of base tag
centpkg request-side-tag
usage: centpkg 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.
centpkg retire
usage: centpkg 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
centpkg scratch-build
usage: centpkg 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'.
centpkg sources
usage: centpkg 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.
centpkg 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
centpkg switch-branch
usage: centpkg 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
centpkg tag
usage: centpkg 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
centpkg unused-patches
usage: centpkg unused-patches [-h]
Print list of patches not referenced by name in the specfile.
options:
-h, --help show this help message and exit
centpkg upload
usage: centpkg 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
centpkg verify-files
usage: centpkg 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 'centpkg 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
centpkg verrel
usage: centpkg verrel [-h]
Print the name-version-release.
options:
-h, --help show this help message and exit