gbp-buildpackage - Build Debian packages from a Git repository
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 ... ]
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.
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.
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
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
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>
Guido Guenther <[email protected]> 31 December 2016 GBP-BUILDPACKAGE(1)
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 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.
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.
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.