Differences between revisions 33 and 34
Revision 33 as of 2013-02-01 00:57:11
Size: 4793
Comment: Add link to Swedish translation
Revision 34 as of 2013-02-20 15:04:35
Size: 5902
Comment: brief introduction on what "package" we are talking about -- SOURCE package. It is important and often need to be repeated to upstream
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
Line 22: Line 23:
 * to have consistent and deterministic versioning
Line 24: Line 26:

== What is a "package"? ==

There are two kinds of packages: "binary" (.deb) and "source" (.dsc) packages. There exist tools (e.g. cpack) able to generate "binary" packages but such packaging is ad-hoc (build-system specific) and fragile. Such packages are more likely to fail to operate when target system diverges from the original environment where they were built.

"source" packages in turn could be built to produce "binary" packages on any other machine and architecture. In a standardized, language and underlying build-system (make vs cmake) agnostic form they provide all necessary information about build and run-time dependencies and conflicts, standardized description of copyright and license information, initial configuration, etc. That is why "binary" packages alone, without originating them "source" packages could not be submitted for inclusion into official Debian distribution.

Therefore ''Packaging'' in Debian world is primarily concerned with "source" packages. "binary" packages are just a product of such work.

Translation(s): English - Italiano - Svenska


When you seriously think about packaging as a newcomer to Debian, please read the official documentation:


Why Packaging

Whether you want

  • to install some programs or data on several computers
  • to have consistent and deterministic versioning
  • the packaging system to take care of updates
  • to help the Debian project. (see Work-Needing and Prospective Packages)

What is a "package"?

There are two kinds of packages: "binary" (.deb) and "source" (.dsc) packages. There exist tools (e.g. cpack) able to generate "binary" packages but such packaging is ad-hoc (build-system specific) and fragile. Such packages are more likely to fail to operate when target system diverges from the original environment where they were built.

"source" packages in turn could be built to produce "binary" packages on any other machine and architecture. In a standardized, language and underlying build-system (make vs cmake) agnostic form they provide all necessary information about build and run-time dependencies and conflicts, standardized description of copyright and license information, initial configuration, etc. That is why "binary" packages alone, without originating them "source" packages could not be submitted for inclusion into official Debian distribution.

Therefore Packaging in Debian world is primarily concerned with "source" packages. "binary" packages are just a product of such work.

Introduction to Debian Packaging

If you need to create rapidly a package, use equivs:

  • read first ?how to create an empty package

  • then read how to create a ?package with some files

If you prefer to gain real knowledge about Debian packaging:

Now that you have seen the basics, it is highly recomanded that you read some real stuff:

Then, if you are looking for answers, you can come back here or read:

Debian Derivatives

Please note that some Debian Derivatives resources may be quite useful too.

Learn more about the DEX project

Advanced Packaging Procedures

from Debian Women

DebianWomen organise interesting training sessions. Those are about packaging :

See also

Useful pages

other informations

See also:


CategoryPackageManagement CategoryPackaging