gbp-buildpackage(1)



NAME

   gbp-buildpackage - Build Debian packages from a Git repository

SYNOPSIS

   gbp  buildpackage  [  --git-[no-]ignore-new  ]  [  --git-tag ] [ --git-
   verbose   ]    [    --git-color=[auto|on|off]    ]    [    --git-color-
   scheme=COLOR_SCHEME  ] [ --git-notify=[auto|on|off] ] [ --git-upstream-
   branch=TREEISH ] [ --git-debian-branch=BRANCH_NAME  ]  [  --git-ignore-
   branch ] [ --git-[no-]submodules ] [ --git-builder=BUILD_CMD ] [ --git-
   cleaner=CLEAN_CMD ] [ --git-[no-]pbuilder ] [ --git-[no-]qemubuilder  ]
   [  --git-dist=DIST ] [ --git-arch=ARCH ] [ --git-[no-]pbuilder-autoconf
   ] [ --git-pbuilder-options=PBUILDER_OPTIONS ] [ --git-[no-]sign-tags  ]
   [   --git-keyid=GPG-KEYID   ]   [   --git-posttag=COMMAND  ]  [  --git-
   postbuild=COMMAND   ]   [   --git-postexport=COMMAND   ]    [    --git-
   prebuild=COMMAND ] [ --git-[no-]hooks ] [ --git-debian-tag=tag-format ]
   [ --git-upstream-tag=tag-format ] [ --git-debian-tag-msg=tag-msg-format
   ]  [  --git-force-create  ]  [ --git-no-create-orig ] [ --git-upstream-
   tree=[TAG|BRANCH|TREEISH] ] [ --git-tarball-dir=DIRECTORY  ]  [  --git-
   compression=TYPE   ]   [   --git-compression-level=LEVEL   ]  [  --git-
   component=component ...  ]  [  --git-export-dir=DIRECTORY  ]  [  --git-
   export=TREEISH ] [ --git-[no-]pristine-tar ] [ --git-[no-]pristine-tar-
   commit ] [ --git-[no-]-purge ] [ --git-dont-purge ] [ --git-tag-only  ]
   [ --git-retag ] [ OPTION_PASSED_TO_BUILD_CMD ... ]

DESCRIPTION

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

   gbp 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) run a clean command specified with --git-cleaner.

   * (Optionally) export the source tree to a separate build area.

   * Build an orig tarball if it doesn't exist. Optionally using pristine-
     tar.

   * (Optionally) call a pre build hook.

   * Call debuild(1) or Cowbuilder (via --git-pbuilder) or the application
     specified  via  --git-builder  passing  along  all arguments given to
     gbp buildpackage on the command line that don't start with --git-.

   * (Optionally) tag the tree after a successful build.

   * (Optionally) call a post build hook - e.g. to run lintian.

   * (Optionally) call a post tag hook - e.g. to push  the  results  to  a
     remote repository after creating the tag.

OPTIONS

   All   options  are  prefixed  with  git-  to  distinguish  options  for
   gbp buildpackage from options passed to the BUILD_CMD:

   --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 successful build. This is a command line
          only option that cannot be specified via gbp.conf.

   --git-builder=BUILD_CMD
          Use BUILD_CMD instead of debuild -i -I.

   --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-qemubuilder
          Build  package  using  git-pbuilder  with qemubuilder. 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. The special value DEP14
          will set the distribution to build for  from  the  branch  name.
          I.e.   if   you're  starting  the  build  from  a  branch  named
          debian/wheezy-backports  the  distribution  is  set  to  wheezy-
          backports.   If   the   branch   is   named  downstream/sid  the
          distribution would be set to downstream_sid.

   --git-arch=ARCH
          Build for architecture ARCH when using --git-pbuilder. If  unset
          no architecture is passed to git-pbuilder.

   --git-pbuilder-autoconf
          Whether  to  try to autoconfigure git-pbuilder or to rely on the
          settings  in  .pbuilderrc.  See  the  git-pbuilder  manpage  for
          details.

   --git-pbuilder-options
          Options to pass to pbuilder

   --git-verbose
          verbose execution

   --git-color=[auto|on|off]
          Whether to use colored output.

   --git-notify=[auto|on|off]
          Whether to send a desktop notification after the build.

   --git-color-scheme=COLOR_SCHEME
          Colors  to use in output (when color is enabled). The format for
          COLOR_SCHEME is  '<debug>:<info>:<warning>:<error>'.   Numerical
          values  and  color  names  are  accepted, empty fields imply the
          default color. For example --git-color-scheme='cyan:34::'  would
          show  debug  messages  in  cyan, info messages in blue and other
          messages in default (i.e. warning and error messages in red).

   --git-upstream-branch=BRANCH_NAME
          Branch to build the orig tarball from if --git-upstream-tree  is
          set to BRANCH. Default is upstream.

   --git-debian-branch=BRANCH_NAME
          If  you're  not on this branch when invoking gbp 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-[no-]submodules
          Include git submodules in the orig tarball.

   --git-keyid=GPG-KEYID
          Use this keyid for gpg signing tags.

   --git-posttag=COMMAND
          Execute 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
          Execute COMMAND after successful build.

          Exported  environment  variables are: GBP_CHANGES_FILE (the name
          of the generated changes file), GBP_BUILD_DIR (the build dir).

   --git-postexport=COMMAND
          Execute COMMAND after exporting the source tree - valid only  if
          --git-export-dir has been specified.

          Exported  environment variables are: GBP_GIT_DIR (the repository
          the package is being built  from),  GBP_TMP_DIR  (the  temporary
          directory where the sources have been initially exported).

   --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-[no-]hooks
          Enable  running  all  (cleaner, postexport, prebuild, postbuild,
          and posttag) hooks.  Note:  the  --git-builder  command  is  not
          affected by this option.

   --git-debian-tag=TAG-FORMAT
          Use  this  tag  format  when tagging Debian versions, default is
          debian/%(version)s.

   --git-upstream-tag=TAG-FORMAT
          Use this tag format when looking for tags of upstream  versions,
          default is upstream/%(version)s.

   --git-debian-tag-msg=tag-msg-format
          Use  this  tag  message  format  when  signing  Debian versions,
          default is %(pkg)s Debian release %(version)s

   --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-overlay
          Extract  orig tarball from tarball-dir when using the export-dir
          option (in analogy to mergeWithUpstream in svn-bp). Also  remove
          debian/  if contained in the upstream tarball in case of 2.0 and
          3.0 source formats.

   --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-upstream-tree=[TAG|BRANCH|TREEISH]
          How to find the upstream sources used to generate  the  tarball.
          TAG (the default) looks at a tag corresponding to the version in
          the changelog. BRANCH looks at the upstream branch given via the
          --git-upstream-branch  option.  Other  values are interpreted as
          treeishs.

          This doesn't have any  effect  if  --git-pristine-tar  is  being
          used.

   --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-component=COMPONENT
          When  generating  tarballs create an additional original tarball
          of directory COMPONENT in  the  source  tree.  Using  additional
          original tarballs is a feature of the 3.0 (quilt) source format.
          See the dpkg-source manpage for details. Note  that  the  --git-
          pristine-tar-commit  option  is currently incompatible with this
          option.

          This is considered an  experimental  feature  and  might  change
          incompatibly.

   --git[-no]-purge
          Purge (remove) temporary build directory after build.

   --git-dont-purge
          Deprecated,  use  --git-no-purge instead. This is a command line
          only option that cannot be specified via gbp.conf.

   --git-tag-only
          Don't build, only tag and run post-tag hooks. This is a  command
          line only option that cannot be specified via gbp.conf.

   --git-retag
          Don't fail tag operations if a tag with the same version already
          exists. This is a  command  line  only  option  that  cannot  be
          specified via gbp.conf.

   --git-pristine-tar
          Use  pristine-tar  when  generating  the  upstream tarball if it
          doesn't exist.

   --git-pristine-tar-commit
          Commit the pristine-tar delta to the pristine-tar  branch  if  a
          new  tarball  was  generated  and  the  pristine-tar  data isn't
          already there.

EXAMPLES

   Build a  Debian  package  using  git-pbuilder  which  in  turn  invokes
   cowbuilder.   Instruct  cowbuilder  to build within a Wheezy chroot for
   i386.

         gbp buildpackage --git-pbuilder --git-arch=i386 --git-dist=wheezy

   Note that the above needs a cowbuilder  chroot  already.  This  can  be
   created using:

         DIST=wheezy ARCH=i386 git-pbuilder create

CONFIGURATION FILES

   Several  gbp.conf  files  are  parsed  to  set  defaults  for the above
   command-line arguments. See the gbp.conf(5)> manpage for details.

   All options in the config files must be specified  without  the  'git-'
   prefix. So e.g. --git-debian-branch=debian/sid becomes in gbp.conf:

         [buildpackage]
         debian-branch = debian/sid

SEE ALSO

   gbp-import-dsc(1)>,   gbp-import-dscs(1)>,   gbp-import-orig(1)>,  gbp-
   dch(1)>, git-pbuilder(1), cowbuilder(8), dpkg-source(1),  gbp.conf(5)>,
   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>

                           31 December 2016            GBP-BUILDPACKAGE(1)




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business