Differences between revisions 43 and 46 (spanning 3 versions)
Revision 43 as of 2014-01-31 12:26:35
Size: 6252
Editor: BenArmstrong
Comment: Demote equivs-based packaging links to the end of the section
Revision 46 as of 2015-07-31 12:44:59
Size: 6314
Comment: add the AutomaticPackagingTools link (sumary of all packaging tools across languages)
Deletions are marked like this. Additions are marked like this.
Line 50: Line 50:
There are no shorctuts to learning good packaging practices. However, if you have no interest in that and just need to create rapidly a package, use [[DebianPkg:equivs]]:
  * read first [[CreateDummyPackage|how to create an empty package]]
  * then read how to create a [[/Files|package with some files]]
What not to do:
  * There are no shortcuts to learning good packaging practices. Avoid [[DebianPkg:equivs]] which is only useful for building trivial metapackages and does not teach you anything about packaging.
Line 98: Line 97:
 * [[AutomaticPackagingTools]]
Line 105: Line 105:
 * http://www.debian.org/devel/wnpp/prospective : requested packages, and packages being worked on.  * http://www.debian.org/devel/wnpp/prospective - requested packages, and packages being worked on.
Line 107: Line 107:
   * [[http://feeding.cloud.geek.nz/posts/whats-in-a-debian-directory/|What's in a debian/ directory]] - detailed worked example

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 are tools (e.g. cpack) that are 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 the target system diverges from the original environment they were built in.

"source" packages in turn can 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 the necessary information about build and run-time dependencies and conflicts, a standardized description of copyright and license information, an initial configuration, etc. That is why "binary" packages alone, without the "source" packages originating them, can not be submitted for inclusion into an official Debian distribution.

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

Introduction to Debian Packaging

To get a good grounding in Debian packaging:

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

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

What not to do:

  • There are no shortcuts to learning good packaging practices. Avoid equivs which is only useful for building trivial metapackages and does not teach you anything about packaging.

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