Man Linux: Main Page and Category List

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