Man Linux: Main Page and Category List


       git-buildpackage - Build Debian packages from a Git repository


       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 ]


       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

       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


              Don't  abort if there are uncommitted changes in the source tree
              or the current branch doesn't match the debian-branch.

              Add a git tag after a successfull build.

              Use BUILD_CMD instead of debuild -i\.git -I.git

              Use CLEAN_CMD instead of debuild clean

              Build package using git-pbuilder. Note that this overwrites  any
              --git-builder and --git-cleaner options.

              Build for distribution DIST when using --git-pbuilder

              verbose execution

              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.

              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.

              Don't check if the current branch matches debian-branch.

              GPG sign all created tags

              use this keyid for gpg signing tags

              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

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

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

              use  this  tag  format  when tagging Debian versions, default is

              Force creation of an orig tarball  (overwriting  a  pre-existing
              one if present)

              Don't try to create any orig tarball

              Export  the current branch head (or the treeish object given via
              --git-export to directory before building.

              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

              Search  for original tarballs in directory instead of generating

              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.

              Specifies the upstream tarball compression level if an  upstream
              tarball needs to be built.

              retain exported build directory after build

              don't build, only tag and run post-tag hooks

              don't fail tag operations if a tag with the same version already


       Four configuration files are parsed  to  set  defaults  for  the  above
       commandline arguments:

              system wide configuraton

              per user configuration

              per branch configuration, can be published with the repository

              per branch configuration, can be published with the repository

              per repository configuration

       See /etc/git-buildpackage/gbp.conf for an example.

       All  options  in  the  config  files  are  specified without the 'git-'


       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-


       Guido Guenther <>

                               05 September 2010