gbp-buildpackage-rpm1
Build rpm packages from a git repository
Usage
FCgbp buildpackage-rpmF
[0]
[FC--git-
[no-]
ignore-newF
[0]]
[FC--git-tagF
[0]]
[FC--git-verboseF
[0]]
[FC--git-color=F
[0]
[{auto | on | off}]]
[FC--git-color-scheme=F
[0]
COLOR_SCHEME]
[FC--git-notify=F
[0]
[{auto | on | off}]]
[FC--git-tmp-dirF
[0]
=
DIRECTORY]
[FC--git-vendorF
[0]
=
VENDOR]
[FC--git-nativeF
[0]
[{auto | on | off}]]
[FC--git-upstream-branch=F
[0]
TREEISH]
[FC--git-packaging-branch=F
[0]
BRANCH_NAME]
[FC--git-ignore-branchF
[0]]
[FC--git-
[no-]
submodulesF
[0]]
[FC--git-builder=F
[0]
BUILD_CMD]
[FC--git-cleaner=F
[0]
CLEAN_CMD]
[FC--git-
[no-]
sign-tagsF
[0]]
[FC--git-keyid=F
[0]
GPG-KEYID]
[FC--git-posttag=F
[0]
COMMAND]
[FC--git-postbuild=F
[0]
COMMAND]
[FC--git-postexport=F
[0]
COMMAND]
[FC--git-prebuild=F
[0]
COMMAND]
[FC--git-preexport=F
[0]
COMMAND]
[FC--git-
[no-]
buildF
[0]]
[FC--git-
[no-]
hooksF
[0]]
[FC--git-packaging-tag=F
[0]
TAG-FORMAT]
[FC--git-upstream-tag=F
[0]
TAG-FORMAT]
[FC--git-force-createF
[0]]
[FC--git-no-create-origF
[0]]
[FC--git-upstream-tree=F
[0]
[{TAG | BRANCH | TREEISH}]]
[FC--git-tarball-dir=F
[0]
DIRECTORY]
[FC--git-compression-level=F
[0]
LEVEL]
[FC--git-export-dir=F
[0]
DIRECTORY]
[FC--git-export=F
[0]
TREEISH]
[FC--git-packaging-dir=F
[0]
DIRECTORY]
[FC--git-spec-file=F
[0]
FILEPATH]
[FC--git-export-sourcedirF
[0]
=
DIRECTORY]
[FC--git-export-specdirF
[0]
=
DIRECTORY]
[FC--git-
[no-]
pristine-tarF
[0]]
[FC--git-
[no-]
pristine-tar-commitF
[0]]
[FC--git-tag-onlyF
[0]]
[FC--git-retagF
[0]]
[FC--git-mockF
[0]]
[FC--git-distF
[0]
=
DISTRIBUTION]
[FC--git-archF
[0]
=
ARCHITECTURE]
[FC--git-mock-optionsF
[0]
=
OPTIONS]
[FC--git-mock-rootF
[0]
=
ROOT]
[FC--git-spec-vcs-tagF
[0]
=
TAG_FORMAT]
Overview
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-builderF[0]), 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-newF[0] -
Don't abort if there are uncommitted changes in the source tree or the current branch doesn't match the PACKAGING-BRANCH.
- FC
--git-tagF[0] -
Add a git tag after a successful build.
- FC
--git-builder=F[0]BUILD_CMD -
Use BUILD_CMD instead of rpmbuild -ba.
- FC
--git-cleaner=F[0]CLEAN_CMD -
Use CLEAN_CMD.
- FC
--git-verboseF[0] -
Verbose execution
- FC
--git-color=F[0][auto|on|off] -
Whether to use colored output.
- FC
--git-color-scheme=F[0]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[0][auto|on|off] -
Whether to send a desktop notification after the build.
- FC
--git-tmp-dirF[0]=DIRECTORY -
Base directory under which temporary directories are created.
- FC
--git-vendorF[0]=VENDOR -
Distribution vendor name.
- FC
--git-native=F[0][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-branchF[0]=BRANCH_NAME -
Branch to build the orig tarball from if FC
--git-upstream-treeF[0] is set to BRANCH. Default is upstream.
- FC
--git-packaging-branchF[0]=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-newF[0].
- FC
--git-ignore-branchF[0] -
Don't check if the current branch matches PACKAGING-BRANCH.
- FC
--git-[no-]submodulesF[0] -
Include git submodules in the orig tarball.
- FC
--git-[no-]sign-tagsF[0] -
GPG sign all created tags.
- FC
--git-keyid=F[0]GPG-KEYID -
Use this keyid for gpg signing tags.
- FC
--git-posttag=F[0]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) andGBP_SHA1(the sha1 of the commit the tag was created at).
- FC
--git-postbuild=F[0]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[0]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[0]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[0]COMMAND -
Execute COMMAND from the build directory before calling rpmbuild or the application specified via FC
--git-builderF[0].Exported environment variables are:
GBP_GIT_DIR(the repository the package is being built from),GBP_BUILD_DIR(the build dir).
- FC
--git-[no-]buildF[0] -
Enable builder. Note: FC
--git-no-buildF[0] causes the postbuild hook to be disabled, too.
- FC
--git-[no-]hooksF[0] -
Enable running all (cleaner, preexport, postexport, prebuild, postbuild, and posttag) hooks. Note: the FC
--git-builderF[0] command is not affected by this option.
- FC
--git-packaging-tag=F[0]TAG-FORMAT -
Use this tag format when tagging released versions of the package.
- FC
--git-upstream-tag=F[0]TAG-FORMAT -
Use this tag format when looking for tags of upstream versions, default is upstream/%(version)s.
- FC
--git-force-createF[0] -
Force creation of an orig tarball (overwriting a pre-existing one if present).
- FC
--git-no-create-origF[0] -
Don't try to create any orig tarball.
- FC
--git-export-dir=F[0]DIRECTORY -
Export the packaging files from the current branch head (or the treeish object given via FC
--git-exportF[0] to DIRECTORY before building.
- FC
--git-export-sourcedirF[0]=DIRECTORY , FC--git-export-specdirF[0]=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[0]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[0]DIRECTORY -
Subdirectory that contains the RPM packaging files.
- FC
--git-spec-file=F[0]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-dirF[0] option to be ignored: the directory of the spec file is used, instead.
- FC
--git-upstream-tree=F[0][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-branchF[0] option. Other values are interpreted as treeishs.This doesn't have any effect if FC
--git-pristine-tarF[0] is being used.
- FC
--git-tarball-dir=F[0]DIRECTORY -
Search for original tarballs in DIRECTORY instead of generating them.
- FC
--git-compression-level=F[0]LEVEL -
Specifies the upstream tarball compression level if an upstream tarball needs to be built.
- FC
--git-tag-onlyF[0] -
Don't build, only tag and run post-tag hooks.
- FC
--git-retagF[0] -
Don't fail tag operations if a tag with the same version already exists, but, overwrite the existing tag, instead.
- FC
--git-pristine-tarF[0] -
Use pristine-tar when generating the upstream tarball if it doesn't exist.
- FC
--git-pristine-tar-commitF[0] -
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-mockF[0] -
Use mock to build the rpms by invoking
gbp-builder-mock.
- FC
--git-distF[0] -
Build for this distribution when using mock (e.g.: epel-6).
- FC
--git-archF[0] -
Build for this architecture when using mock, default is to build for the current host architecture.
- FC
--git-mock-rootF[0] -
The mock root to use. Defaults to DIST-ARCH from above.
- FC
--git-mock-optionsF[0] -
Additional options to pass to mock. Default is to pass no additional options.
- FC
--git-spec-vcs-tagF[0]=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[0]
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[0]
Configuration files
Several FCgbp.confF[0] 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.
Releases
5 releases since Debian 9 (Stretch); the text changed 4 times.
--git-arch until Debian 9 (Stretch);
--git-builder until Debian 9 (Stretch);
--git-cleaner until Debian 9 (Stretch);
--git-color until Debian 9 (Stretch);
--git-color-scheme until Debian 9 (Stretch);
--git-compression-level until Debian 9 (Stretch);
--git-dist until Debian 9 (Stretch);
--git-export until Debian 9 (Stretch);
--git-export-dir until Debian 9 (Stretch);
--git-export-sourcedir until Debian 9 (Stretch);
--git-export-specdir until Debian 9 (Stretch);
--git-force-create until Debian 9 (Stretch);
--git-ignore-branch until Debian 9 (Stretch);
--git-keyid until Debian 9 (Stretch);
--git-mock until Debian 9 (Stretch);
--git-mock-options until Debian 9 (Stretch);
--git-mock-root until Debian 9 (Stretch);
--git-native until Debian 9 (Stretch);
--git-no-create-orig until Debian 9 (Stretch);
--git-notify until Debian 9 (Stretch);
--git-packaging-branch until Debian 9 (Stretch);
--git-packaging-dir until Debian 9 (Stretch);
--git-packaging-tag until Debian 9 (Stretch);
--git-postbuild until Debian 9 (Stretch);
--git-postexport until Debian 9 (Stretch);
--git-posttag until Debian 9 (Stretch);
--git-prebuild until Debian 9 (Stretch);
--git-pristine-tar until Debian 9 (Stretch);
--git-pristine-tar-commit until Debian 9 (Stretch);
--git-retag until Debian 9 (Stretch);
--git-spec-file until Debian 9 (Stretch);
--git-tag until Debian 9 (Stretch);
--git-tag-only until Debian 9 (Stretch);
--git-tarball-dir until Debian 9 (Stretch);
--git-tmp-dir until Debian 9 (Stretch);
--git-upstream-branch until Debian 9 (Stretch);
--git-upstream-tag until Debian 9 (Stretch);
--git-upstream-tree until Debian 9 (Stretch);
--git-vendor until Debian 9 (Stretch);
--git-verbose until Debian 9 (Stretch).