A Debian native package is a package of a program written specifically for Debian, where there is no upstream development. In most of these cases the program will not be packaged by other distributions. Examples of such packages are dpkg and apt tools.
Two things make a native package
- There is no DebianVersion in the ?VersionNumber.
- There is no
.diff.gzin the SourcePackage, only a
It is easy to build a native package by mistake, for instance if the
.orig.tar.gz cannot be found by
dpkg-buildpackage when building.
See NativePackage for instructions on how
to aviod this.
You are discouraged from building a native package for non-Debian specific software.
Imagine you make a mistake in the Debian packaging, if the package is
Debian native then you have to upload a whole new release. If the
package is not a native package then you just have to upload the
Debian specific changes (the
Some people like to make a Debian native package if they are the upstream author of the software, so that they can manage the debian/ directory in the same ?VCS as the package itself. There is split opinion on this, but I still believe it is a bad idea.
- You might not be the Debian maintainer for ever.
- You have to make a new upstream release even if you only change the Debian packaging.
- I prefer working with non-native packages, as the
.diff.gzcan be read to see what the Debian packaging is. This makes checking a package easier. For instance with a correctly configured web server (e.g. mentors.debian.net I can read the
.diff.gzusing my web browser to make a first check.