gbp-import-orig - Import an upstream source into a git repository
gbp import-orig [ --version ] [ --help ] [ --verbose ] [ --color=[auto|on|off] ] [ --color-scheme=COLOR_SCHEME ] [ --upstream- version=version ] [ --[no-]merge ] [ --merge-mode=[merge|replace] ] [ --upstream-branch=branch_name ] [ --debian-branch=branch_name ] [ --upstream-vcs-tag=tag-format ] [ --[no-]sign-tags ] [ --keyid=gpg- keyid ] [ --upstream-tag=tag-format ] [ --filter=pattern ... ] [ --component=component ... ] [ --[no-]pristine-tar ] [ --[no-]filter- pristine-tar ] [ --[no-]symlink-orig ] [ --postimport=cmd ] [ --[no-]interactive ] [ --[no-]rollback ] filename | url | --uscan
gbp import-orig imports upstream sources into a Git repository. It can
import from three sources:
1. filename: A file in the local file system. Gzip, bzip2, lzma and xz
compressed tar archives, zip archives and already unpacked source
trees are supported.
2. url: The tarball is downloaded from a http or https url. This needs
the python-request package installed.
3. --uscan: The latest upstream version is fetched via uscan relying on
debian/watch.
If the tarballs name is already of the form package-
name_version.orig.tar.gz, the version information is determined from
the tarball's filename, otherwise it can be given on the command line
via --upstream-version. If the source package name or version can't be
determined, gbp import-orig will prompt for it unless --no-interactive
is given.
The sources are placed on the upstream branch (default: upstream),
tagged and merged onto the debian branch (default: master). This is
either done using git merge in case of --merge-mode=merge (the default)
or by creating a new tree that consists of the new upstream version
plus the debian/ directory. This behaviour can be enabled via the
--merge-mode=replace option and is preferable for source format 3.0
(quilt) packages since direct modifications of the upstream sources are
not allowed in that format and so a 1:1 replacement of the upstream
sources is almost always desired.
In case of an error gbp import-orig will rollback (undo) all changes it
has done to the repository (see the --rollback option).
--version
Print version of the program, i.e. version of the git-
buildpackage suite
-v
--verbose
Verbose execution
-h
--help Print help and exit
--color=[auto|on|off]
Whether to use colored output.
--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).
--upstream-version=version
-uversion
The upstream version number
--[no-]merge
Merge the upstream branch to the Debian branch after import
--merge-mode=[merge|replace]
How to fold the newly imported upstream source to the Debian
packaging branch after import.
The default mode merge does a Git merge leaving you on your own
in case of merge conflict resolution.
replace mode on the other hand makes the head of the Debian
packaging branch identical to the newly imported tree but
preserves the content of the debian/ directory while keeping the
current head as well as the newly important trees as parents of
the generated commit. This is similar to a theirs merge strategy
while preserving debian/.
--upstream-branch=branch_name
The branch in the Git repository the upstream sources are put
onto. Default is upstream.
--debian-branch=branch_name
The branch in the Git repository the Debian package is being
developed on, default is master. After importing the new sources
on the upstream branch, gbp import-orig will try to merge the
new version onto this branch.
--upstream-vcs-tag=tag-format
Add tag-format as additional parent to the commit of the
upstream tarball. Useful when upstream uses git and you want to
link to its revision history. The tag-format can be a pattern
similar to what --upstream-tag supports.
--[no-]sign-tags
GPG sign all created tags
--keyid=gpg-keyid
use this keyid for gpg signing tags
--upstream-tag=tag-format
use this tag format when tagging upstream versions, default is
upstream/%(version)s
--import-msg=msg-format
use this format string for the commit message when importing
upstream versions, default is New upstream version %(version)s
--filter=pattern
filter out files glob-matching pattern. Can be given multiple
times.
--component=COMPONENT
When importing the upstream tarball also look for an additional
tarball with component name COMPONENT. E.g. in hello-
debhelper_1.0.orig-foo.tar.gz the component would be foo. The
additional tarball is expected to be in the same directory than
the upstream tarball and to use the same compression type.
Using additional original tarballs is a feature of the 3.0
(quilt) source format. See the dpkg-source manpage for details.
This is currently considered an experimental feature and might
change incompatibly.
--[no-]pristine-tar
generate pristine-tar delta file
--[no-]filter-pristine-tar
if using a filter, also filter the files out of the tarball
passed to pristine-tar
--[no-]symlink-orig
Whether to create and keep a symlink from the upstream tarball
to a Debian policy conformant upstream tarball name located in
../.
This is a good idea if not using pristine-tar since it avoids
creating a new tarball with a different md5sum.
--postimport=cmd
Run cmd after the import. The hook gets the following
environment variables passed:
GBP_BRANCH
The name of the Debian packaging branch
GBP_TAG
The name of the just created upstream tag
GBP_UPSTREAM_VERSION
The just imported upstream version
GBP_DEBIAN_VERSION
The Debian version of the package with a Debian revision
of '-1'
--uscan
Use uscan to fetch new upstream version.
--[no-]interactive
Run command interactively, i.e. ask package name and version if
needed.
--[no-]rollback
Rollback changes in case of an error.
Download and import a new upstream version using the information from
debian/watch
gbp import-orig --uscan
Fetch tarball from an URL
gbp import-orig https://debian.example.com/sid/upstream-tarball-0.1.tar.gz
Import a local tarball
gbp import-orig ../upstream-tarball-0.1.tar.gz
Several gbp.conf files are parsed to set defaults for the above command-line arguments. See the gbp.conf(5)> manpage for details.
gbp-buildpackage(1)>, gbp-import-dsc(1)>, gbp-import-dscs(1)>, gbp- dch(1)>, gbp.conf(5)>, uscan(1), 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-IMPORT-ORIG(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.