Differences between revisions 49 and 50
Revision 49 as of 2016-04-07 13:07:11
Size: 6423
Editor: ?fagan
Revision 50 as of 2016-04-30 10:10:30
Size: 6769
Editor: BrennanNovak
Comment: re-organized headings and links for better semantic organization and use
Deletions are marked like this. Additions are marked like this.
Line 53: Line 53:
== Debian Derivatives == == Packaging Procedures ==
Line 55: Line 55:
Please note that some Debian Derivatives resources may be quite useful too.
 * the [[http://packaging.ubuntu.com/|Ubuntu Packaging Guide]]
=== Types / Formats ===
Line 58: Line 57:
Learn more about the [[DEX|DEX project]]  * [[Python/Packaging|Python]] - applications
 * [[Fonts/PackagingPolicy|Font]] - packages
 * [[RPM]] - converting a .RPM into .DEB
Line 60: Line 61:
=== Tools ===
Line 61: Line 63:
== Advanced Packaging Procedures ==  * [[UsingQuilt|Quilt]] - patch management
 * [[PackagingWithDarcs|Darcs]] - version control
 * [[PackagingWithGit|Git]] - version control
 * [[PbuilderTricks|Pbuilder]] - build tool
 * [[SecurePbuilder|Secure Pbuilder]] - builder tool
Line 63: Line 69:
=== from Debian Women ===

[[DebianWomen]] organise interesting [[DebianWomen/Projects/Events/TrainingSessions|training sessions]].
Those are about packaging :
=== Advanced Procedures ===
Line 72: Line 75:
=== See also ===
 * [[UsingQuilt]]
 * [[PackagingFAQ]]
 * [[Renaming_a_Package]]
 * PackageTransition
=== Useful Pages ===

 * [[PackagingFAQ|Packaging FAQ]]
 * [[Renaming_a_Package|Renaming a Package]]
 * [[PackageTransition|Package Transition]]
Line 79: Line 82:
 * PackagingWithDarcs
 * PackagingWithGit
 * PbuilderTricks
Line 84: Line 84:
 * [[RPM]] - Converting a .RPM into .DEB with alien - generally leads to bad results
 * DebugPackage
 * [[DebugPackage|Debug Package]]
Line 87: Line 86:
 * [[Python/Packaging]]
 * ConfigPackages
 * EditingBinaryPackageMetadata
 * [[ConfigPackages|Config Package]]
 * [[EditingBinaryPackageMetadata|Editing Binary Package Metadata]]
 * [[SoftwarePackaging|Software Packaging]]
 * [[SponsorChecklist|Sponsor Checklist]]
 * [[HowToPackageForDebian|How to package for Debian]]
 * [[Package]]
 * [[AutomaticPackagingTools|Automatic Packaging Tools]]
 * [[DEX|DEX]] - improving Debian and its derivatives through cross-community teamwork
Line 91: Line 95:
=== Useful pages ===
 * SoftwarePackaging
 * SponsorChecklist
 * SecurePbuilder
 * [[HowToPackageForDebian|how to package for Debian]]
 * [[Package]]
 * [[AutomaticPackagingTools]]
== Training Sessions ==
Line 99: Line 97:
== other informations == === From Debian Women ===

[[DebianWomen]] organise interesting [[DebianWomen/Projects/Events/TrainingSessions|training sessions]].

== Other Information ==
Line 109: Line 112:
 * [[http://packaging.ubuntu.com/|Ubuntu Packaging Guide]]

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.

Packaging Procedures

Types / Formats

  • Python - applications

  • Font - packages

  • RPM - converting a .RPM into .DEB


Advanced Procedures

Useful Pages

Training Sessions

From Debian Women

DebianWomen organise interesting training sessions.

Other Information

See also:

CategoryPackageManagement CategoryPackaging