gbp-buildpackage-rpm(1)

NAME
gbp-buildpackage-rpm - Build RPM packages from a Git repository

SYNOPSIS
\FCgbp buildpackage-rpm\F[]
[\FC--git-[no-]ignore-new\F[]] [\FC--git-tag\F[]] [\FC--git-verbose\F[]] [\FC--git-color=\F[][auto|on|off]] [\FC--git-color-scheme=\F[] COLOR_SCHEME] [\FC--git-notify=\F[][auto|on|off]] [\FC--git-tmp-dir\F[]= DIRECTORY] [\FC--git-vendor\F[]= VENDOR] [\FC--git-native\F[][auto|on|off]] [\FC--git-upstream-branch=\F[] TREEISH] [\FC--git-packaging-branch=\F[] BRANCH_NAME] [\FC--git-ignore-branch\F[]] [\FC--git-[no-]submodules\F[]] [\FC--git-builder=\F[] BUILD_CMD] [\FC--git-cleaner=\F[] CLEAN_CMD] [\FC--git-[no-]sign-tags\F[]] [\FC--git-keyid=\F[] GPG-KEYID] [\FC--git-posttag=\F[] COMMAND] [\FC--git-postbuild=\F[] COMMAND] [\FC--git-postexport=\F[] COMMAND] [\FC--git-prebuild=\F[] COMMAND] [\FC--git-preexport=\F[] COMMAND] [\FC--git-[no-]build\F[]] [\FC--git-[no-]hooks\F[]] [\FC--git-packaging-tag=\F[] TAG-FORMAT] [\FC--git-upstream-tag=\F[] TAG-FORMAT] [\FC--git-force-create\F[]] [\FC--git-no-create-orig\F[]] [\FC--git-upstream-tree=\F[] [TAG|BRANCH|TREEISH]] [\FC--git-tarball-dir=\F[] DIRECTORY] [\FC--git-compression-level=\F[] LEVEL] [\FC--git-export-dir=\F[] DIRECTORY] [\FC--git-export=\F[] TREEISH] [\FC--git-packaging-dir=\F[] DIRECTORY] [\FC--git-spec-file=\F[] FILEPATH] [\FC--git-export-sourcedir\F[]= DIRECTORY] [\FC--git-export-specdir\F[]= DIRECTORY] [\FC--git-[no-]pristine-tar\F[]] [\FC--git-[no-]pristine-tar-commit\F[]] [\FC--git-tag-only\F[]] [\FC--git-retag\F[]] [\FC--git-mock\F[]] [\FC--git-dist\F[]= DISTRIBUTION] [\FC--git-arch\F[]= ARCHITECTURE] [\FC--git-mock-options\F[]= OPTIONS] [\FC--git-mock-root\F[]= ROOT] [\FC--git-spec-vcs-tag\F[]= 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 \FC--git-builder\F[]), 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

\FC--git-[no-]ignore-new\F[]
    Don't abort if there are uncommitted changes in the source tree or the current branch doesn't match the PACKAGING-BRANCH.

\FC--git-tag\F[]
    Add a git tag after a successful build.

\FC--git-builder=\F[]BUILD_CMD
    Use BUILD_CMD instead of rpmbuild -ba.

\FC--git-cleaner=\F[]CLEAN_CMD
    Use CLEAN_CMD.

\FC--git-verbose\F[]
    Verbose execution

\FC--git-color=\F[][auto|on|off]
    Whether to use colored output.

\FC--git-color-scheme=\F[]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).

\FC--git-notify=\F[][auto|on|off]
    Whether to send a desktop notification after the build.

\FC--git-tmp-dir\F[]=DIRECTORY
    Base directory under which temporary directories are created.

\FC--git-vendor\F[]=VENDOR
    Distribution vendor name.

\FC--git-native=\F[][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.

\FC--git-upstream-branch\F[]=BRANCH_NAME
    Branch to build the orig tarball from if \FC--git-upstream-tree\F[] is set to BRANCH. Default is upstream.

\FC--git-packaging-branch\F[]=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 \FC--git-ignore-new\F[].

\FC--git-ignore-branch\F[]
    Don't check if the current branch matches PACKAGING-BRANCH.

\FC--git-[no-]submodules\F[]
    Include git submodules in the orig tarball.

\FC--git-[no-]sign-tags\F[]
    GPG sign all created tags.

\FC--git-keyid=\F[]GPG-KEYID
    Use this keyid for gpg signing tags.

\FC--git-posttag=\F[]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).

\FC--git-postbuild=\F[]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).

\FC--git-preexport=\F[]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).

\FC--git-postexport=\F[]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).

\FC--git-prebuild=\F[]COMMAND
    Execute COMMAND from the build directory before calling rpmbuild or the application specified via \FC--git-builder\F[].

    Exported environment variables are: GBP_GIT_DIR (the repository the package is being built from), GBP_BUILD_DIR (the build dir).

\FC--git-[no-]build\F[]
    Enable builder. Note: \FC--git-no-build\F[] causes the postbuild hook to be disabled, too.

\FC--git-[no-]hooks\F[]
    Enable running all (cleaner, preexport, postexport, prebuild, postbuild, and posttag) hooks. Note: the \FC--git-builder\F[] command is not affected by this option.

\FC--git-packaging-tag=\F[]TAG-FORMAT
    Use this tag format when tagging released versions of the package.

\FC--git-upstream-tag=\F[]TAG-FORMAT
    Use this tag format when looking for tags of upstream versions, default is upstream/%(version)s.

\FC--git-force-create\F[]
    Force creation of an orig tarball (overwriting a pre-existing one if present).

\FC--git-no-create-orig\F[]
    Don't try to create any orig tarball.

\FC--git-export-dir=\F[]DIRECTORY
    Export the packaging files from the current branch head (or the treeish object given via \FC--git-export\F[] to DIRECTORY before building.

\FC--git-export-sourcedir\F[]=DIRECTORY , \FC--git-export-specdir\F[]=DIRECTORY
    Subdirectories under export directory where packaging files are exported. The default build options of rpmbuild builder are also adjusted accordingly.

\FC--git-export=\F[]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.

\FC--git-packaging-dir=\F[]DIRECTORY
    Subdirectory that contains the RPM packaging files.

\FC--git-spec-file=\F[]FILEPATH
    Relative path to the spec file to use. Special value auto causes gbp buildpackage-rpm to search and guess. Other values cause the \FC--git-packaging-dir\F[] option to be ignored: the directory of the spec file is used, instead.

\FC--git-upstream-tree=\F[][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 \FC--git-upstream-branch\F[] option. Other values are interpreted as treeishs.

    This doesn't have any effect if \FC--git-pristine-tar\F[] is being used.

\FC--git-tarball-dir=\F[]DIRECTORY
    Search for original tarballs in DIRECTORY instead of generating them.

\FC--git-compression-level=\F[]LEVEL
    Specifies the upstream tarball compression level if an upstream tarball needs to be built.

\FC--git-tag-only\F[]
    Don't build, only tag and run post-tag hooks.

\FC--git-retag\F[]
    Don't fail tag operations if a tag with the same version already exists, but, overwrite the existing tag, instead.

\FC--git-pristine-tar\F[]
    Use pristine-tar when generating the upstream tarball if it doesn't exist.

\FC--git-pristine-tar-commit\F[]
    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.

\FC--git-mock\F[]
    Use mock to build the rpms by invoking gbp-builder-mock.

\FC--git-dist\F[]
    Build for this distribution when using mock (e.g.: epel-6).

\FC--git-arch\F[]
    Build for this architecture when using mock, default is to build for the current host architecture.

\FC--git-mock-root\F[]
    The mock root to use. Defaults to DIST-ARCH from above.

\FC--git-mock-options\F[]
    Additional options to pass to mock. Default is to pass no additional options.

\FC--git-spec-vcs-tag\F[]=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

\FC
      gbp buildpackage-rpm -bs
    \F[]

Build an RPM package with rpmbuild on a custom branch with the uncommitted changes included.

\FC
      gbp buildpackage-rpm --git-ignore-branch --git-export=WC
    \F[]

CONFIGURATION FILES
Several \FCgbp.conf\F[] 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),

AUTHOR
Markus Lehtonen <\FCmarkus.lehtonen@linux.intel.com\F[]>