Provided by: git-buildpackage-rpm_0.9.38_all bug

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 argu‐
         ments 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>:<in‐
              fo>:<warning>:<error>'.  Numerical values and color names are accepted, empty fields imply the de‐
              fault  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 up‐
              stream.

       --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-ex‐
              port to DIRECTORY before building.

       --git-export-sourcedir=DIRECTORY , --git-export-specdir=DIRECTORY
              Subdirectories under export directory where packaging files are exported. The  default  build  op‐
              tions 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-up‐
              stream-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 exist‐
              ing 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 architec‐
              ture.

       --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  ex‐
              porting. 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 up‐
              dated  or  a new 'VCS:' tag is added if one does not exist. In the format string '%(tagname)s' ex‐
              pands 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>

                                                  10 April 2025                          gbp-buildpackage-rpm(1)