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 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] 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 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
 

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

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/-/profile/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] 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
 

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

centpkg list-side-tags

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

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 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.
 

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 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.
 

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

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
 

See Also

https://git.centos.org/centos/centpkg

Info

2024-03-15 rpm-packager