NAME
git-buildpackage - Build Debian packages from a Git repository
SYNOPSIS
git-buildpackage [ --git-[no-]ignore-new ] [ --git-tag ] [ --git-
verbose ] [ --git-upstream-branch=treeish ] [ --git-debian-
branch=branch_name ] [ --git-ignore-branch ] [ --git-builder=BUILD_CMD
] [ --git-cleaner=CLEAN_CMD ] [ --git-pbuilder= ] [ --git-dist=DIST ] [
--git-[no-]sign-tags ] [ --git-keyid=gpg-keyid ] [ --git-
posttag=command ] [ --git-postbuild=command ] [ --git-prebuild=command
] [ --git-debian-tag=tag-format ] [ --git-force-create ] [ --git-no-
create-orig ] [ --git-tarball-dir=directory ] [ --git-compression=type
] [ --git-compression-level=level ] [ --git-export-dir=directory ] [
--git-export=treeish ] [ --git-[no-]pristine-tar ] [ --git-dont-purge ]
[ --git-tag-only ] [ --git-retag ]
DESCRIPTION
git-buildpackage is used to build Debian source and .deb packages from
a Git repository.
git-buildpackage will, in order:
o Verify that it is being executed from the proper location.
o Verify that the repository doesn't contain any uncommitted source
changes.
o Verify that it is being executed from the correct branch.
o (Optionally) export the source tree to a separate build area
o Build an orig tarball if it doesn't exist.
o 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 git-buildpackage that don't
start with --git-.
o (Optionally) tag the tree after a successful build
o (Optionally) call a post build hook - e.g. to run lintian
o (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 debian-branch.
--git-tag
Add a git tag after a successfull build.
--git-builder=BUILD_CMD
Use BUILD_CMD instead of debuild -i\.git -I.git
--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-dist=DIST
Build for distribution DIST when using --git-pbuilder
--git-verbose
verbose execution
--git-upstream-branch=branch_name
Branch to build the orig tarball from if no tag matching the
upstream version is found. Default is upstream. You can give any
treeish object here.
--git-debian-branch=branch_name
If you're not on this branch when invoking git-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
excecute command after succesful build.
Exported environment variables are: GBP_CHANGES_FILE (the name
of the generated changes file), GBP_BUILD_DIR (the build dir).
--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-debian-tag=tag-format
use this tag format when tagging Debian versions, default is
debian/<version>
--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 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-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-dont-purge
retain exported build directory after build
--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
CONFIGURATION FILES
Four configuration files are parsed to set defaults for the above
commandline arguments:
/etc/git-buildpackage/gbp.conf
system wide configuraton
~/.gbp.conf
per user configuration
.gbp.conf
per branch configuration, can be published with the repository
debian/gbp.conf
per branch configuration, can be published with the repository
.git/gbp.conf
per repository configuration
See /etc/git-buildpackage/gbp.conf for an example.
All options in the config files are specified without the 'git-'
prefix.
SEE ALSO
git-import-dsc(1), git-import-dscs(1), git-import-orig(1), git-dch(1),
git-pbuilder(1), debuild(1), git(1), pristine-tar(1), The Git-
Buildpackage Manual <URL:file:///usr/share/doc/git-buildpackage/manual-
html/index.html>
AUTHOR
Guido Guenther <agx@sigxcpu.org>
05 September 2010