Translation(s): English - Español - Português (Brasil) - Italiano - Svenska - Русский


Portal/IDB/icon-wiki-portal.png

This is the packaging portal, for people who want to create new packages. For commonly-installed packages, see Software. Or to install and remove packages, see package management.

General guides

There are no shortcuts to learning good packaging practices - you can't just throw a trivial packager like equivs at the problem and hope for the best.

The links in this section will help you gain a deep understanding of the problems you need to solve if you want to create or maintain a package.

Find your feet

The first step is to find a basic approach that works for you. The Debian mentors FAQ advises you to re-consider, clarifies why and how to start, and provides a short overview of the process.

New tools are invented every few years, and the best way to use them depends on the specific projects you want to package and the way you like to work. Here are some guides you can get inspiration from:

{i} Debian packaging works by example as much as by theory. Find well-maintained packages, and see how they do it!

Further reading

Once you've found a workflow you can live with, you can optimise it for your personal requirements. These pages might give you some ideas:

These advanced pages explain how packaging works under the hood:

Finally, if you'd like to see the development process for the packaging system itself:

More granular guides

Once you're comfortable creating packages generally, you'll need to learn the tools and techniques for your particular problem.

Language-specific guides

Each of Debian's language-specific teams have their own policies and tools:

{i} see also a comparison of tools that create Debian packages

Topic-specific guides

If your package addresses a specific topic, you may need to read information from people who have been there before:

Tool guides

You will probably need to use some of these:

You might also want to use some of these:

Job guides

If you're trying to achieve a particular outcome:

File guides

If you need help with a particular file in your package's debian/ directory:

To find real-world examples of any debian/ file, go to codesearch.debian.net and search for e.g. Reference path:debian/control.

Working with other developers

If you want to get involved with the Debian community:

Training Sessions

DebianWomen organise training sessions.

External links

See also

Wiki pages

All pages related to packaging in Debian:

  1. AdvancedBuildingTips
  2. Alioth
  3. AndroidTools
  4. AutomaticPackagingTools
  5. BuildingFormalBackports
  6. BuildingWithoutFakeroot
  7. CPEtagPackagesDep
  8. CheckInstall
  9. ConfigPackages
  10. CopyrightReview
  11. CopyrightReviewTools
  12. Courses/MaintainingPackages
  13. Courses2005/BuildingWithoutHelper
  14. CreatePackageFromPPA
  15. Creating signed GitHub releases
  16. CrossBuildPackagingGuidelines
  17. DDPO
  18. DEX
  19. DataPackages
  20. Debhelper
  21. DebianAstro/AstropyPackagingTutorial/Packaging
  22. DebianAstro/AstropyPackagingTutorial/Preparation
  23. DebianChangelog
  24. DebianDevelopment
  25. DebianGNUstep/TODO
  26. DebianMentorsFaq
  27. DebianMultimedia/DevelopPackaging
  28. DebianRepository/Setup
  29. DebugPackage
  30. DevelopersCorner
  31. Diagrams
  32. Diaspora/Packaging
  33. Diaspora/Packaging/git
  34. Distcc
  35. DkmsPackaging
  36. DpkgConffileHandling
  37. DpkgDiversions
  38. EmacspeakTestingGuide
  39. FTBFS
  40. FastTrack
  41. Fonts/PackagingPolicy
  42. GettingPorted
  43. GitPackaging
  44. GitPackagingSurvey
  45. GitPackagingSurvey/bare debian
  46. GitPackagingSurvey/bare debian monorepo
  47. GitPackagingSurvey/bare template
  48. GitPackagingSurvey/git-debcherry
  49. GitPackagingSurvey/git-debrebase
  50. GitPackagingSurvey/git-dpm
  51. GitPackagingSurvey/manually maintained applied
  52. GitPackagingSurvey/merging
  53. GitPackagingSurvey/modified orig plus further unapplied patches
  54. GitPackagingSurvey/rebasing
  55. GitPackagingSurvey/unapplied
  56. GitPackagingWorkflow
  57. GitPackagingWorkflow/DebConf11BOF
  58. GitSrc
  59. Gnome/Git
  60. Gnome/Rust_Packaging
  61. HardeningWalkthrough
  62. HowToPackageForDebian
  63. Java/Packaging
  64. Javascript/Forwading-Patches
  65. Javascript/Policy
  66. Javascript/Repacking
  67. Maintainers
  68. MakeAPrivatePackage
  69. ManageUpstreamDifferences
  70. Mapping package names across distributions
  71. Mentors
  72. Mingw-W64
  73. NonMaintainerUpload
  74. OpenSuseBuildService
  75. PackageConfigUpgrade
  76. PackageSalvaging
  77. PackageTransition
  78. Packaging
  79. Packaging/EmbeddedCopies
  80. Packaging/HackingDependencies
  81. Packaging/Intro
  82. Packaging/Learn
  83. Packaging/Pre-Requisites
  84. Packaging/Pre-Requisites/nspawn
  85. Packaging/Variables
  86. Packaging/ruby-team-meta-build
  87. Packaging/sbuild
  88. PackagingFAQ
  89. PackagingTools
  90. PackagingWithDarcs
  91. PackagingWithDocker
  92. PackagingWithGit
  93. PbuilderTricks
  94. PkgQtKde/BookwormReleasePlans
  95. PkgQtKde/ForkyReleasePlans
  96. PkgQtKde/TrixieReleasePlans
  97. Projects/DebSrc3.0
  98. Python/DbgBuilds
  99. Python/GitPackaging
  100. Python/LibraryStyleGuide
  101. Python/Policy
  102. RPM
  103. RenamingPackages
  104. Repackage_srcrpm
  105. ReproducibleBuilds
  106. Salsa
  107. Salsa/support
  108. ServiceSandboxing
  109. Services/wnpp-by-tags.debian.net
  110. SimpleBackportCreation
  111. SimplePackagingTutorial
  112. Software that can't be packaged
  113. SoftwarePackaging
  114. SponsorChecklist
  115. Teams
  116. Teams/DebianHaskellGroup
  117. Teams/DebianMonoGroup/NewPackage
  118. Teams/Dpkg/Spec/DeclarativePackaging
  119. Teams/Foo2zjs
  120. Teams/Games
  121. Teams/MySQL
  122. Teams/MySQL/MySQL-wsrep
  123. Teams/OCamlTaskForce
  124. Teams/Printing
  125. Teams/Ruby/Packaging
  126. UntrustedDebs
  127. UpstreamGuide
  128. UpstreamMetadata
  129. UscanEnhancements
  130. UsingQuilt
  131. WNPP
  132. WritingDebianPackageDescriptions
  133. binNMU
  134. debian/copyright
  135. debian/patches
  136. debian/upstream
  137. debian/upstream/edam
  138. debian/watch
  139. pbuilder
  140. piuparts
  141. pt_BR/AdvancedBuildingTips
  142. pt_PT/Teams
  143. sbuild
  144. tag2upload
  145. udeb
  146. zh_CN/DebianRepository/Setup
  147. zh_CN/sbuild


CategoryPackaging | CategoryPortal