gbp buildpackage [ --git-[no-]ignore-new ] [
--git-tag ] [ --git-verbose ] [
--git-color=[auto|on|off] ] [
--git-notify=[auto|on|off] ] [
--git-upstream-branch=treeish ] [
--git-debian-branch=branch_name ] [
--git-ignore-branch ] [ --git-builder=BUILD_CMD
] [ --git-cleaner=CLEAN_CMD ] [
--git-[no-]pbuilder ] [ --git-[no-]qemubuilder ] [
--git-dist=DIST ] [
--git-arch=ARCH ] [ --git-[no-]pbuilder-autoconf
] [ --git-pbuilder-options ] [ --git-[no-]sign-tags ] [
--git-keyid=gpg-keyid ] [
--git-posttag=command ] [
--git-postbuild=command ] [
--git-postexport=command ] [
--git-prebuild=command ] [ --git-[no-]hooks ] [
--git-debian-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=type ] [
--git-compression-level=level ] [
--git-export-dir=directory ] [
--git-export=treeish ] [ --git-[no-]pristine-tar
] [ --git-[no-]pristine-tar-commit ] [ --git-[no-]-purge ] [
--git-dont-purge ] [ --git-tag-only ] [ --git-retag
]
gbp buildpackage is used to build Debian source and .deb
packages from a Git repository.
gbp buildpackage 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.
- (Optionally) export the source tree to a separate build area
- Build an orig tarball if it doesn't exist.
- Call debuild(1) (or the application specified via
--git-builder) with arguments instructing it to ignore Git
meta-data in the diff.gz, passing along all arguments given to gbp
buildpackage that don't start with --git-.
- (Optionally) tag the tree after a successful build
- (Optionally) call a post build hook - e.g. to run lintian
- (Optionally) call a post tag hook - e.g. to push the results to a remote
repository after creating the tag
- --git-[no-]ignore-new
- Don't abort if there are uncommitted changes in the source tree or the
current branch doesn't match the debian-branch.
- --git-tag
- Add a git tag after a successful build.
- --git-builder=BUILD_CMD
- Use BUILD_CMD instead of debuild -i -I
- --git-cleaner=CLEAN_CMD
- Use CLEAN_CMD instead of debuild clean
- --git-pbuilder
- Build package using git-pbuilder. Note that this overwrites any
--git-builder and --git-cleaner options.
- --git-qemubuilder
- Build package using git-pbuilder with qemubuilder. Note that
this overwrites any --git-builder and --git-cleaner
options.
- --git-dist=DIST
- Build for distribution DIST when using --git-pbuilder. If
unset build for the unstable distribution.
- --git-arch=ARCH
- Build for architecture ARCH when using --git-pbuilder. If
unset no architecture is passed to git-pbuilder.
- --git-pbuilder-autoconf
- Whether to try to autoconfigure git-pbuilder or to rely on the
settings in .pbuilderrc. See the git-pbuilder manpage for
details.
- --git-pbuilder-options
- Options to pass to pbuilder
- --git-verbose
- verbose execution
- --git-color=[auto|on|off]
- Whether to use colored output.
- --git-notify=[auto|on|off]
- Whether to send a desktop notification after the build.
- --git-upstream-branch=branch_name
- Branch to build the orig tarball from if --git-upstream-tree is set
to BRANCH. Default is upstream.
- --git-debian-branch=branch_name
- If you're not on this branch when invoking gbp buildpackage 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 debian-branch.
- --git-[no-]sign-tags
- GPG sign all created tags
- --git-keyid=gpg-keyid
- use this keyid for gpg signing tags
- --git-posttag=command
- excecute 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
build 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-postexport=command
- execute command after exporting the source tree - valid only if
--git-export-dir has been specified.
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
debuild 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-]hooks
- Enable running all (cleaner, postexport, prebuild, postbuild, and posttag)
hooks. Note: the --git-builder command is not affected by this
option.
- --git-debian-tag=tag-format
- use this tag format when tagging Debian versions, default is
debian/%(version)s
- --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-overlay
- Extract orig tarball when using export-dir option (analog to
mergeWithUpstream in svn-bp)
- --git-export-dir=directory
- Export the current branch head (or the treeish object given via
--git-export to directory before building.
- --git-export=treeish
- Instead of exporting the current branch head, export the treeish object
treeish. The special name INDEX exports the current index
whereas the special name WC exports the current working copy as
is.
- --git-upstream-tree=[tag|branch]
- 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=type
- Specifies the upstream tarball compression type. This will be used to
locate and build the upstream tarball if necessary. The default is
auto which derives the compression type from the pristine-tar
branch if available and falls back to gzip otherwise. Other options are
gzip, bzip2, lzma and xz.
- --git-compression-level=level
- Specifies the upstream tarball compression level if an upstream tarball
needs to be built.
- --git[-no]-purge
- Purge (remove) temporary build directory after build
- --git-dont-purge
- Deprecated, use --git-no-purge instead.
- --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
- --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.
Build a Debian package using git pbuilder which in turn
invokes cowbuilder. Instruct cowbuilder to build within a Wheezy
chroot for i386.
gbp buildpackage --git-pbuilder --git-arch=i386 --git-dist=wheezy
Note that the above needs a cowbuilder chroot already. This
can be created using:
DIST=wheezy ARCH=i386 git pbuilder create
Several gbp.conf files are parsed to set defaults for the
above commandline arguments. See the gbp.conf(5) manpage for
details.
All options in the config files are specified without the 'git-'
prefix.
Guido Guenther <agx@sigxcpu.org>