git-buildpackage

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-arch=ARCH] [--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:

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. 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-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

AUTHOR

Guido Guenther