gbp-import-orig(1)


NAME

   gbp-import-orig - Import an upstream source into a git repository

SYNOPSIS

   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

DESCRIPTION

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

OPTIONS

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

EXAMPLES

   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

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.

SEE ALSO

   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>

AUTHOR

   Guido Guenther <agx@sigxcpu.org>

                           31 December 2016             GBP-IMPORT-ORIG(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.