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. BzrBuildpackage/DesignIdeas
  8. CPEtagPackagesDep
  9. CheckInstall
  10. ConfigPackages
  11. CopyrightReview
  12. CopyrightReviewTools
  13. Courses/MaintainingPackages
  14. Courses2005/BuildingWithoutHelper
  15. CreatePackageFromPPA
  16. Creating signed GitHub releases
  17. CrossBuildPackagingGuidelines
  18. DDPO
  19. DEX
  20. DataPackages
  21. Debhelper
  22. DebianAstro/AstropyPackagingTutorial/Packaging
  23. DebianAstro/AstropyPackagingTutorial/Preparation
  24. DebianChangelog
  25. DebianDevelopment
  26. DebianGNUstep/TODO
  27. DebianMentorsFaq
  28. DebianMultimedia/DevelopPackaging
  29. DebianRepository/Setup
  30. DebugPackage
  31. DevelopersCorner
  32. Diagrams
  33. Distcc
  34. DkmsPackaging
  35. DpkgConffileHandling
  36. DpkgDiversions
  37. EmacspeakTestingGuide
  38. FTBFS
  39. FastTrack
  40. Fonts/PackagingPolicy
  41. GettingPorted
  42. GitPackaging
  43. GitPackagingSurvey
  44. GitPackagingSurvey/bare debian
  45. GitPackagingSurvey/bare debian monorepo
  46. GitPackagingSurvey/bare template
  47. GitPackagingSurvey/git-debcherry
  48. GitPackagingSurvey/git-debrebase
  49. GitPackagingSurvey/git-dpm
  50. GitPackagingSurvey/manually maintained applied
  51. GitPackagingSurvey/merging
  52. GitPackagingSurvey/modified orig plus further unapplied patches
  53. GitPackagingSurvey/rebasing
  54. GitPackagingSurvey/unapplied
  55. GitPackagingWorkflow
  56. GitPackagingWorkflow/DebConf11BOF
  57. GitSrc
  58. Gnome/Git
  59. Gnome/Rust_Packaging
  60. HardeningWalkthrough
  61. HowToPackageForDebian
  62. Java/Packaging
  63. Javascript/Forwading-Patches
  64. Javascript/Policy
  65. Javascript/Repacking
  66. Maintainers
  67. MakeAPrivatePackage
  68. ManageUpstreamDifferences
  69. Mapping package names across distributions
  70. Mentors
  71. Mingw-W64
  72. NonMaintainerUpload
  73. OpenSuseBuildService
  74. PackageConfigUpgrade
  75. PackageSalvaging
  76. PackageTransition
  77. Packaging
  78. Packaging/EmbeddedCopies
  79. Packaging/HackingDependencies
  80. Packaging/Intro
  81. Packaging/Learn
  82. Packaging/Pre-Requisites
  83. Packaging/Pre-Requisites/nspawn
  84. Packaging/Variables
  85. Packaging/ruby-team-meta-build
  86. Packaging/sbuild
  87. PackagingFAQ
  88. PackagingTools
  89. PackagingWithDarcs
  90. PackagingWithDocker
  91. PackagingWithGit
  92. PbuilderTricks
  93. PkgQtKde/BookwormReleasePlans
  94. PkgQtKde/ForkyReleasePlans
  95. PkgQtKde/TrixieReleasePlans
  96. Projects/DebSrc3.0
  97. Python/DbgBuilds
  98. Python/GitPackaging
  99. Python/LibraryStyleGuide
  100. Python/Policy
  101. RPM
  102. RenamingPackages
  103. Repackage_srcrpm
  104. Repacking
  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