git-buildpackage − Build Debian packages from a Git repository
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-debian-tag=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 ]
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 |
--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
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.
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/manual-html/index.html>
Guido Guenther <agx AT sigxcpu DOT org>