Differences between revisions 94 and 120 (spanning 26 versions)
Revision 94 as of 2020-05-12 17:49:15
Size: 8246
Editor: Praveen A
Comment:
Revision 120 as of 2022-01-20 00:59:04
Size: 11196
Editor: LeandroCunha
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[it/Packaging|Italiano]] - [[sv/Packaging|Svenska]] - [[ru/Packaging|Русский]]-~
<<BR>>
||<tablestyle="width: 100%; text-align: center; border: 0px hidden"> {{https://www.debian.org/logos/openlogo-nd-50.png}} {{https://www.debian.org/Pics/debian.png}}||
||<style="border: 0px hidden">~+{{attachment:Portal/IDB/logo_portal.png}} Welcome to [[Debian]] '''packaging portal'''+~||
##For Translators - to have a constantly up to date translation header in you page, you can just add a line like the following (with the comment's character at the start of the line removed)
## <<Include(Packaging, ,from="^##TAG:TRANSLATION-HEADER-START",to="^##TAG:TRANSLATION-HEADER-END")>>
##TAG:TRANSLATION-HEADER-START
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[Packaging|English]] - [[es/Packaging|Español]] - [[pt_BR/Packaging|Português (Brasil)]] - [[it/Packaging|Italiano]] - [[sv/Packaging|Svenska]] - [[ru/Packaging|Русский]]-~
##TAG:TRANSLATION-HEADER-END
Line 7: Line 8:
{{attachment:Portal/IDB/icon-wiki-portal.png}}

Welcome to [[Debian]]'s '''packaging portal'''.
Line 15: Line 19:
[[https://www.debian.org/doc/manuals/maint-guide/index.en.html|the Debian New Maintainers' Guide]] -- tutorial for simple package<<BR>> [[https://www.debian.org/doc/manuals/debmake-doc/index.en.html|Guide for Debian Maintainers]] -- describes the building of a Debian package with many examples <<BR>>
Line 17: Line 21:
[[https://www.debian.org/doc/debian-policy/|Debian Policy]] -- guiding rules [[https://www.debian.org/doc/debian-policy/|Debian Policy]] -- guiding rules<<BR>>
Line 19: Line 23:
[[https://mentors.debian.net/intro-maintainers/| Introduction for maintainers: How will my package get into Debian?]]<<BR>>
Line 35: Line 40:
 * [[https://www.debian.org/doc/manuals/maint-guide/index.en.html|the Debian New Maintainers' Guide]] describes the building of a Debian package to ordinary Debian users.
 * [[https://www.debian.org/doc/manuals/debmake-doc/index.en.html|Guide for Debian Maintainers]] describes the building of a Debian package with many examples
 (This replaces outdated [[https://www.debian.org/doc/manuals/maint-guide/index.en.html|the Debian New Maintainers' Guide]] )
Line 37: Line 44:
 * More than anything, please also check the source code of existing recently updated packages of similar kinds.
Line 38: Line 46:
Then, if you are looking for answers, you can come back here or read: 
  * the interesting pdf file included in the package [[DebianPkg:packaging-tutorial|packaging-tutorial]] or you can read it [[https://www.debian.org/doc/manuals/packaging-tutorial/|here]]. 
Then, if you are looking for answers, you can come back here or read:
  * the interesting pdf file included in the package [[DebianPkg:packaging-tutorial|packaging-tutorial]] or you can read it [[https://www.debian.org/doc/manuals/packaging-tutorial/|here]].
Line 62: Line 70:
 * [[Teams/RustPackaging]] - Rust crates and applications
Line 67: Line 76:
 * [[UsingQuilt]] - Patch management
Line 69: Line 77:
 * [[PackagingWithGit]] - Git version control
* [[Packaging/sbuild]] - sbuild clean build tool
 * [[Packaging/debspawn]] - debspawn clean build tool
Line 75: Line 82:
=== Suggested tools to create an environment for packaging ===

To create a packaging environment, you will need to install and learn how to use the following tools:

 * [[Packaging/sbuild]], clean build tool; install the DebianPkg:sbuild package.

 sbuild is used in the Debian build service ([[buildd]]). See also [[sbuild]].

 * [[UsingQuilt|Quilt]], for patches management; install the DebianPkg:quilt package.

 * [[PackagingWithGit]], for Git management packaging; install the DebianPkg:git-buildpackage package.

 * [[piuparts]], for .deb package installation, upgrading, and removal testing tool; install the DebianPkg:piuparts package.

 * [[Lintian]], a comprehensive package checker for Debian packages; install the DebianPkg:lintian package.

 * Devscripts - scripts to make the life of a Debian Package maintainer easier; install the DebianPkg:devscripts package.

 * [[https://people.debian.org/~eriberto/README.package-tests.html|Autopkgtest]] - run tests found in Debian source packages; install the DebianPkg:autopkgtest package.

 * blhc - search for missing hardening flags; install the DebianPkg:blhc package. See [[https://eriberto.pro.br/blog/2015/09/07/debian-how-to-use-blhc-to-solve-hardening-issues-when-packaging/|Debian: how to use blhc to solve hardening issues when packaging]].

 * dh-make - converts source archives into Debian package source; install the DebianPkg:dh-make package.

 * [[cowbuilder]] - really handy to build your project for many distributions at once; install the DebianPkg:cowbuilder package.

Okay, now you have an environment ready to start learning how to package for Debian!
Line 82: Line 116:
Line 110: Line 145:
 * [[SimpleBackportCreation]] - Backport a DebianUnstable package to DebianStable  * [[SimpleBackportCreation]] - Backport a DebianUnstable package to DebianStable    * [[SourceOnlyUpload]] - Source-only are uploads to the [[Services/Debian Archive|Debian archive]] that do not include a binary build of the Debian package
Line 116: Line 152:
[[DebianWomen]] organise interesting [[DebianWomen/Projects/Events/TrainingSessions|training sessions]]. [[DebianWomen]] organise [[DebianWomen/Projects/Events/TrainingSessions|training sessions]].
Line 124: Line 160:
 * https://www.debian.org/doc/manuals/apt-howto/ - APT HOWTO (Obsolete Documentation)   * https://www.debian.org/doc/manuals/apt-howto/ - APT HOWTO (Obsolete Documentation)
Line 128: Line 164:
 * [[https://wiki.ubuntu.com/Packaging|Packaging - Ubuntu Wiki]]
 * [[https://www.eyrie.org/~eagle/notes/debian/build-tools.html|Debian build tools - Russ's Debian Notes]]
 * [[https://www.eyrie.org/~eagle/notes/debian/scripts.html|Packaging Scripts for Debian - Russ's Debian Notes]]
Line 136: Line 174:
 * [[Debuginfod|Debuginfod]] eliminates the need for users to install debuginfo packages in order to debug programs using GDB, systemtap or other tools
 * [[https://sources.debian.org|Browse through the source code of the Debian operating system]]

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


Portal/IDB/icon-wiki-portal.png

Welcome to Debian's packaging portal.

Portal/IDB/icon-template-32x32.png This portal is about information relevant to developers wishing to package software for Debian. If you were looking for information on installing and removing packages from your Debian system, see the package management page.

Debian packages are maintained by a community of Debian Developers and volunteers.

If you're just starting out with Debian packaging, please read the official documentation first:
Guide for Debian Maintainers -- describes the building of a Debian package with many examples
Debian Packaging Tutorial -- slides-based overview of Debian packaging
Debian Policy -- guiding rules
Developers Reference -- advanced guide etc.
Introduction for maintainers: How will my package get into Debian?


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

Tools

Suggested tools to create an environment for packaging

To create a packaging environment, you will need to install and learn how to use the following tools:

Okay, now you have an environment ready to start learning how to package for Debian!

Advanced Procedures

Useful Pages

Training Sessions

From Debian Women

DebianWomen organise training sessions.

See also:

Wiki pages

All pages related to packaging in Debian:

  1. AdvancedBuildingTips
  2. Alioth
  3. AndroidTools
  4. AutomakeTransition
  5. AutomaticPackagingTools
  6. BuildingFormalBackports
  7. BzrBuildpackage/DesignIdeas
  8. CheckInstall
  9. ConfigPackages
  10. CopyrightReviewTools
  11. Courses2005/BuildingWithoutHelper
  12. CreatePackageFromPPA
  13. Creating signed GitHub releases
  14. DEX
  15. DataPackages
  16. DebianAstro/AstropyPackagingTutorial/Packaging
  17. DebianAstro/AstropyPackagingTutorial/Preparation
  18. DebianDevelopment
  19. DebianGNUstep/TODO
  20. DebianMentorsFaq
  21. DebianPackageManagement
  22. DebianPackaging-FAQs
  23. DebianRepository/Setup
  24. DebugPackage
  25. DevelopersCorner
  26. Diagrams
  27. Distcc
  28. DpkgConffileHandling
  29. DpkgDiversions
  30. EditingBinaryPackageMetadata
  31. EmacspeakTestingGuide
  32. FTBFS
  33. FastTrack
  34. Fonts/PackagingPolicy
  35. Games
  36. Games/Sponsors/Queue
  37. GettingPorted
  38. GitPackaging
  39. GitPackagingSurvey
  40. GitPackagingSurvey/bare debian
  41. GitPackagingSurvey/bare debian monorepo
  42. GitPackagingSurvey/bare template
  43. GitPackagingSurvey/git-debcherry
  44. GitPackagingSurvey/git-debrebase
  45. GitPackagingSurvey/git-dpm
  46. GitPackagingSurvey/manually maintained applied
  47. GitPackagingSurvey/merging
  48. GitPackagingSurvey/modified orig plus further unapplied patches
  49. GitPackagingSurvey/rebasing
  50. GitPackagingSurvey/unapplied
  51. GitPackagingWorkflow
  52. GitPackagingWorkflow/DebConf11BOF
  53. GitSrc
  54. HardeningWalkthrough
  55. HowToPackageForDebian
  56. Java/Packaging
  57. Javascript/Policy
  58. Maintainers
  59. MediaWiki
  60. Mentors
  61. Mingw-W64
  62. NonMaintainerUpload
  63. PackageArchitectureAlmostAny
  64. PackageConfigUpgrade
  65. PackageTransition
  66. Packaging
  67. Packaging/BinaryPackage
  68. Packaging/HackingDependencies
  69. Packaging/Intro
  70. Packaging/Pre-Requisites
  71. Packaging/ruby-team-meta-build
  72. Packaging/sbuild
  73. PackagingFAQ
  74. PackagingWithDarcs
  75. PackagingWithDocker
  76. PackagingWithGit
  77. PbuilderTricks
  78. PkgExim4
  79. PkgExim4UserFAQ
  80. PkgQtKde/BookwormReleasePlans
  81. Projects/DebSrc3.0
  82. Python/DbgBuilds
  83. Python/LibraryStyleGuide
  84. Python/Policy
  85. RPM
  86. RenamingPackages
  87. Repackage_srcrpm
  88. Repacking
  89. ReproducibleBuilds
  90. Salsa
  91. SecurePbuilder
  92. ServiceSandboxing
  93. SimpleBackportCreation
  94. SimplePackagingTutorial
  95. SoftwarePackaging
  96. SponsorChecklist
  97. SystemBuildTools
  98. Teams
  99. Teams/CUPS
  100. Teams/DebianHaskellGroup
  101. Teams/DebianMonoGroup/NewPackage
  102. Teams/DebianMozExtTeam
  103. Teams/Dpkg/Spec/DeclarativePackaging
  104. Teams/Foo2zjs
  105. Teams/MySQL
  106. Teams/MySQL/MySQL-wsrep
  107. Teams/OCamlTaskForce
  108. Teams/Printing
  109. Teams/Ruby/Packaging
  110. UntrustedDebs
  111. UsingQuilt
  112. WNPP
  113. binNMU
  114. debian/patches
  115. debian/watch
  116. piuparts
  117. pt_BR/AdvancedBuildingTips
  118. pt_PT/Teams
  119. sbuild
  120. udeb


CategoryPackaging | CategoryPortal