---
name: "origtargz"
section: "1"
platform: "linux"
package: "devscripts"
version: "2.25.15+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/origtargz"
---

# origtargz(1)

fetch the orig tarball of a Debian package from various sources, and unpack it

## NAME

origtargz - fetch the orig tarball of a Debian package from various sources, and unpack it

## SYNOPSIS

- **origtargz** \[*OPTIONS*\] \[**--unpack**\[=**no**\|**once**\|**yes**\]\]

  - **origtargz** **--help**

  ## DESCRIPTION

**origtargz** downloads the orig tarball of a Debian package, and also unpacks it into the current directory, if it just contains a *debian* directory. The main use for **origtargz** is with debian-dir-only repository checkouts, but it is useful as a general tarball download wrapper. The version number for the tarball to be downloaded is determined from *debian/changelog*. It should be invoked from the top level directory of an unpacked Debian source package.

Various download locations are tried:

- •

  First, an existing file is looked for.

- •

  Directories given with **--path** are searched.

- •

  **pristine-tar** is tried.

- •

  **pristine-lfs** is tried.

- •

  **apt-get source** is tried when **apt-cache showsrc** reports a matching version.

- •

  Finally, **uscan --download --download-current-version** is tried.

When asked to unpack the orig tarball, **origtargz** will remove all files and directories from the current directory, except the debian directory, and the VCS repository directories. *Note that this will drop all non-committed changes* for the patch system in use (e.g. source format "3.0 (quilt)"), and will even remove all patches from the package when no patch system is in use (the original "1.0" source format). Some VCS control files outside *debian/* preserved (*.bzr-builddeb*, *.bzr-ignore*, *.gitignore*, *.hgignore*), if stored in VCS.

The default behavior is to unpack the orig tarball if the current directory is empty except for a *debian* directory and the VCS files mentioned above.

## NOTES

Despite **origtargz** being called "targz", it will work with any compression scheme used for the tarball.

A similar tool to unpack orig tarballs is [**uupdate**(1)](/uupdate/1.md). **uupdate** creates a new working directory, unpacks the tarball, and applies the Debian *.diff.gz* changes. In contrast, **origtargz** uses the current directory, keeping VCS metadata.

For Debian package repositories that keep the full upstream source, other tools should be used to upgrade the repository from the new tarball. See [**gbp-import-orig**(1)](/gbp-import-orig/1.md) and [**svn-upgrade**(1)](/svn-upgrade/1.md) for examples. **origtargz** is still useful for downloading the current tarball.

## OPTIONS

- **-p**, **--path** *directory*

  Add *directory* to the list of locations to search for an existing tarball. When found, a hardlink is created if possible, otherwise a symlink.

- **-u**, **--unpack**\[=**no**\|**once**\|**yes**\]

  Unpack the downloaded orig tarball to the current directory, replacing everything except the debian directory. Existing files are removed, except for *debian/* and VCS files. Preserved are: *.bzr*, *.bzrignore*, *.bzr-builddeb*, *.git*, *.gitignore*, *.hg*, *.hgignore*, *\_darcs* and *.svn*.

  - **no**

    Do not unpack the orig tarball.

  - **once** (default when **--unpack** is not used)

    If the current directory contains only a *debian* directory (and possibly some dotfiles), unpack the orig tarball. This is the default behavior.

  - **yes** (default for **--unpack** without argument)

    Always unpack the orig tarball.

- **-d**, **--download-only**

  Alias for **--unpack=no**.

- **-t**, **--tar-only**

  When using **apt-get source**, pass **--tar-only** to it. The default is to download the full source package including *.dsc* and *.diff.gz* or *.debian.tar.gz* components so **debdiff** can be used to diff the last upload to the next one. With **--tar-only**, only download the *.orig.tar.\** file.

- **--clean**

  Remove existing files as with **--unpack**. Note that like **--unpack**, this will remove upstream files even if they are stored in VCS.

## SEE ALSO

[**debcheckout**(1)](/debcheckout/1.md), [**gbp-import-orig**(1)](/gbp-import-orig/1.md), [**pristine-tar**(1)](/pristine-tar/1.md), [**svn-upgrade**(1)](/svn-upgrade/1.md), [**uupdate**(1)](/uupdate/1.md)

## AUTHOR

**origtargz** and this manpage have been written by Christoph Berg \<*myon@debian.org*\>.
