Provided by: git-buildpackage-rpm_0.9.32_all
NAME
gbp-buildpackage-rpm - Build RPM packages from a Git repository
SYNOPSIS
gbp buildpackage-rpm [--git-[no-]ignore-new] [--git-tag] [--git-verbose] [--git- color=[auto|on|off]] [--git-color-scheme= COLOR_SCHEME] [--git- notify=[auto|on|off]] [--git-tmp-dir= DIRECTORY] [--git-vendor= VENDOR] [--git-native[auto|on|off]] [--git-upstream-branch= TREEISH] [--git-packaging-branch= BRANCH_NAME] [--git-ignore-branch] [--git-[no-]submodules] [--git-builder= BUILD_CMD] [--git-cleaner= CLEAN_CMD] [--git-[no-]sign-tags] [--git-keyid= GPG-KEYID] [--git- posttag= COMMAND] [--git-postbuild= COMMAND] [--git-postexport= COMMAND] [--git-prebuild= COMMAND] [--git-preexport= COMMAND] [--git-[no-]build] [--git-[no-]hooks] [--git-packaging-tag= TAG- FORMAT] [--git-upstream-tag= TAG-FORMAT] [--git-force-create] [--git- no-create-orig] [--git-upstream-tree= [TAG|BRANCH|TREEISH]] [--git- tarball-dir= DIRECTORY] [--git-compression-level= LEVEL] [--git- export-dir= DIRECTORY] [--git-export= TREEISH] [--git-packaging-dir= DIRECTORY] [--git-spec-file= FILEPATH] [--git-export-sourcedir= DIRECTORY] [--git-export-specdir= DIRECTORY] [--git-[no-]pristine- tar] [--git-[no-]pristine-tar-commit] [--git-tag-only] [--git-retag] [--git-mock] [--git-dist= DISTRIBUTION] [--git-arch= ARCHITECTURE] [--git-mock-options= OPTIONS] [--git-mock-root= ROOT] [--git-spec- vcs-tag= TAG_FORMAT]
DESCRIPTION
gbp buildpackage-rpm is used to build RPM packages from a Git repository. It is an RPM counterpart for the gbp buildpackage tool that is designed for building Debian packages. gbp buildpackage-rpm will, in order: • Verify that it is being executed from the proper location. • Verify that the repository doesn't contain any uncommitted source changes. • Verify that it is being executed from the correct branch. • Export packaging files to a separate build area. • Create an orig source tarball if it doesn't exist. • Call rpmbuild(1) (or the application specified via --git-builder), passing along all command line arguments that don't start with --git-. • (Optionally) tag the tree after a successful build. • (Optionally) call a post build hook - e.g. to run rpmlint. • (Optionally) call a post tag hook - e.g. to push the results to a remote repository after creating the tag.
OPTIONS
--git-[no-]ignore-new Don't abort if there are uncommitted changes in the source tree or the current branch doesn't match the PACKAGING-BRANCH. --git-tag Add a git tag after a successful build. --git-builder=BUILD_CMD Use BUILD_CMD instead of rpmbuild -ba. --git-cleaner=CLEAN_CMD Use CLEAN_CMD. --git-verbose Verbose execution --git-color=[auto|on|off] Whether to use colored output. --git-color-scheme=COLOR_SCHEME Colors to use in output (when color is enabled). The format for COLOR_SCHEME is '<debug>:<info>:<warning>:<error>'. Numerical values and color names are accepted, empty fields imply the default color. For example --git-color-scheme='cyan:34::' would show debug messages in cyan, info messages in blue and other messages in default (i.e. warning and error messages in red). --git-notify=[auto|on|off] Whether to send a desktop notification after the build. --git-tmp-dir=DIRECTORY Base directory under which temporary directories are created. --git-vendor=VENDOR Distribution vendor name. --git-native=[auto|on|off] Define the 'nativity' of a package. The default value auto makes gbp buildpackage- rpm to guess. Guessing is based on the existence of upstream branch. --git-upstream-branch=BRANCH_NAME Branch to build the orig tarball from if --git-upstream-tree is set to BRANCH. Default is upstream. --git-packaging-branch=BRANCH_NAME If you're not on this branch when invoking gbp buildpackage-rpm it will fail. Default is master. This is done to make sure you don't accidentally release from a topic branch. Not being on this branch will be ignored when using --git-ignore-new. --git-ignore-branch Don't check if the current branch matches PACKAGING-BRANCH. --git-[no-]submodules Include git submodules in the orig tarball. --git-[no-]sign-tags GPG sign all created tags. --git-keyid=GPG-KEYID Use this keyid for gpg signing tags. --git-posttag=COMMAND Execute COMMAND after tagging a new version. Exported environment variables are: GBP_TAG (the name of the generated tag), GBP_BRANCH (the branch the package was built from) and GBP_SHA1 (the sha1 of the commit the tag was created at). --git-postbuild=COMMAND Execute COMMAND after successful build. Exported environment variables are: GBP_CHANGES_FILE (the name of the generated changes file), GBP_BUILD_DIR (the build dir). --git-preexport=COMMAND Execute COMMAND before exporting the source tree. Exported environment variables are: GBP_GIT_DIR (the repository the package is being built from), GBP_TMP_DIR (the temporary directory where the sources have been initially exported). --git-postexport=COMMAND Execute COMMAND after exporting the source tree. Exported environment variables are: GBP_GIT_DIR (the repository the package is being built from), GBP_TMP_DIR (the temporary directory where the sources have been initially exported). --git-prebuild=COMMAND Execute COMMAND from the build directory before calling rpmbuild or the application specified via --git-builder. Exported environment variables are: GBP_GIT_DIR (the repository the package is being built from), GBP_BUILD_DIR (the build dir). --git-[no-]build Enable builder. Note: --git-no-build causes the postbuild hook to be disabled, too. --git-[no-]hooks Enable running all (cleaner, preexport, postexport, prebuild, postbuild, and posttag) hooks. Note: the --git-builder command is not affected by this option. --git-packaging-tag=TAG-FORMAT Use this tag format when tagging released versions of the package. --git-upstream-tag=TAG-FORMAT Use this tag format when looking for tags of upstream versions, default is upstream/%(version)s. --git-force-create Force creation of an orig tarball (overwriting a pre-existing one if present). --git-no-create-orig Don't try to create any orig tarball. --git-export-dir=DIRECTORY Export the packaging files from the current branch head (or the treeish object given via --git-export to DIRECTORY before building. --git-export-sourcedir=DIRECTORY , --git-export-specdir=DIRECTORY Subdirectories under export directory where packaging files are exported. The default build options of rpmbuild builder are also adjusted accordingly. --git-export=TREEISH Instead of exporting the current branch head, export the treeish object TREEISH. The special name INDEX exports the current index, WC) exports all files in the current working directory. --git-packaging-dir=DIRECTORY Subdirectory that contains the RPM packaging files. --git-spec-file=FILEPATH Relative path to the spec file to use. Special value auto causes gbp buildpackage- rpm to search and guess. Other values cause the --git-packaging-dir option to be ignored: the directory of the spec file is used, instead. --git-upstream-tree=[TAG|BRANCH|TREEISH] How to find the upstream sources used to generate the tarball. TAG looks at a tag corresponding to the version in the changelog. BRANCH looks at the upstream branch given via the --git-upstream-branch option. Other values are interpreted as treeishs. This doesn't have any effect if --git-pristine-tar is being used. --git-tarball-dir=DIRECTORY Search for original tarballs in DIRECTORY instead of generating them. --git-compression-level=LEVEL Specifies the upstream tarball compression level if an upstream tarball needs to be built. --git-tag-only Don't build, only tag and run post-tag hooks. --git-retag Don't fail tag operations if a tag with the same version already exists, but, overwrite the existing tag, instead. --git-pristine-tar Use pristine-tar when generating the upstream tarball if it doesn't exist. --git-pristine-tar-commit Commit the pristine-tar delta to the pristine-tar branch if a new tarball was generated and the pristine-tar data isn't already there. --git-mock Use mock to build the rpms by invoking gbp-builder-mock. --git-dist Build for this distribution when using mock (e.g.: epel-6). --git-arch Build for this architecture when using mock, default is to build for the current host architecture. --git-mock-root The mock root to use. Defaults to DIST-ARCH from above. --git-mock-options Additional options to pass to mock. Default is to pass no additional options. --git-spec-vcs-tag=TAG_FORMAT gbp buildpackage-rpm always automatically sets/updates the 'VCS:' tag in the spec file after exporting. This option defines the format string for the 'VCS:' tag. An empty value causes no 'VCS:' tag to be inserted and possible old 'VCS:' tag to be removed. Otherwise, the old 'VCS:' tag is updated or a new 'VCS:' tag is added if one does not exist. In the format string '%(tagname)s' expands to the long tag name (from git-describe) and '%(commit)s' expans to the sha1 of the exported commit.
EXAMPLES
Only build a source RPM with rpmbuild gbp buildpackage-rpm -bs Build an RPM package with rpmbuild on a custom branch with the uncommitted changes included. gbp buildpackage-rpm --git-ignore-branch --git-export=WC
CONFIGURATION FILES
Several gbp.conf files are parsed to set defaults for the above command-line arguments. See the gbp.conf(5) manpage for details. All options in the config files are specified without the 'git-' prefix.
SEE ALSO
gbp-import-srpm(1), gbp-pq-rpm(1), gbp-rpm-ch(1), rpmbuild(8), mock(1), gbp.conf(5), debuild(1), git(1), pristine-tar(1), The Git-Buildpackage Manual ⟨file:///usr/share/doc/ git-buildpackage/manual-html/index.html⟩
AUTHOR
Markus Lehtonen <markus.lehtonen@linux.intel.com> 4 August 2023 gbp-buildpackage-rpm(1)