4.6.3. Packages

There are two types of Debian packages, namely source and binary packages.

Depending on the format of the source package, it will consist of one or more files in addition to the mandatory .dsc file:

  • with format “1.0”, it has either a .tar.gz file or both an .orig.tar.gz and a .diff.gz file;

  • with format “3.0 (quilt)”, it has a mandatory .orig.tar.{gz,bz2,xz} upstream tarball, multiple optional .orig-component.tar.{gz,bz2,xz} additional upstream tarballs and a mandatory debian.tar.{gz,bz2,xz} debian tarball;

  • with format “3.0 (native)”, it has only a single .tar.{gz,bz2,xz} tarball.

If a package is developed specially for Debian and is not distributed outside of Debian, there is just one .tar.{gz,bz2,xz} file, which contains the sources of the program; it’s called a “native” source package. If a package is distributed elsewhere too, the .orig.tar.{gz,bz2,xz} file stores the so-called upstream source code, that is the source code that’s distributed by the upstream maintainer (often the author of the software). In this case, the .diff.gz or the debian.tar.{gz,bz2,xz} contains the changes made by the Debian maintainer.

The .dsc file lists all the files in the source package together with checksums (md5sums, sha1sums, sha256sums) and some additional info about the package (maintainer, version, etc.).