git-buildpackage(1)

NAME

git-buildpackage - Build Debian packages from a Git repository

SYNOPSIS

git-buildpackage [ --git-ignore-new ] [ --git-tag ] [ --git-verbose ] [
--git-upstream-branch=treeish ] [ --git-debian-branch=branch_name  ]  [
--git-builder=BUILD_CMD ] [ --git-cleaner=CLEAN_CMD ] [ --git-sign-tags
] [ --git-keyid=gpg-keyid ] [ --git-posttag=command ]  [  --git-debiantag=tag-format ] [ --git-no-create-orig ] [ --git-tarball-dir=directory
] [ --git-export-dir=directory ] [ --git-export=treeish ] [ --git-pristine-tar ] [ --git-dont-purge ] [ --git-tag-only ]

DESCRIPTION

git-buildpackage is used to build Debian source and .deb packages from a Git repository.

git-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.tar.gz 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 git-buildpackage that don't start with --git-.
· (Optionally) tag the tree after a successful build
· (Optionally) call a post-tag hook - e.g. to push the results to a
remote repository after creating the tag

OPTIONS

--git-ignore-new
Build the .diff.gz and debian package although there are uncommitted changes in the source tree.
--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-verbose
verbose execution
--git-upstream-branch=branch_name
Branch to build the orig.tar.gz 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-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
--git-debian-tag=tag-format
use this tag format when tagging Debian versions, default is debian/<version>
--git-no-create-orig
Don't try to create any orig.tar.gz
--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.
--git-tarball-dir=directory
Search for original tarballs in directory instead of generating them
--git-pristine-tar
use pristine-tar to create the orig.tar.gz
--git-dont-purge
retain exported build directory after build
--git-tag-only
don't build, only tag and run post-tag hooks

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), debuild(1), git(1), git_load_dirs(1), pristine-tar(1), The Git-Buildpackage Manual <URL:file:///usr/share/doc/git-buildpackage/manualhtml/index.html>

AUTHOR

Guido Guenther <agx@sigxcpu.org>
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout