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)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.