Debian Policy Manual¶
This manual describes the policy requirements for the Debian distribution. This includes the structure and contents of the Debian archive and several design issues of the operating system, as well as technical requirements that each package must satisfy to be included in the distribution.
This is Debian Policy version 4.6.2.0, released on 2022-12-17.
- 1. About this manual
- 2. The Debian Archive
- 3. Binary packages
- 4. Source packages
- 4.1. Standards conformance
- 4.2. Package relationships
- 4.3. Changes to the upstream sources
- 4.4. Debian changelog:
debian/changelog
- 4.5. Copyright:
debian/copyright
- 4.6. Error trapping in makefiles
- 4.7. Time Stamps
- 4.8. Restrictions on objects in source packages
- 4.9. Main building script:
debian/rules
- 4.10. Variable substitutions:
debian/substvars
- 4.11. Upstream source location:
debian/watch
- 4.12. Generated files list:
debian/files
- 4.13. Embedded code copies
- 4.14. Source package handling:
debian/README.source
- 4.15. Reproducibility
- 4.16. Missing sources:
debian/missing-sources
- 4.17. Vendor-specific patch series
- 5. Control files and their fields
- 5.1. Syntax of control files
- 5.2. Source package control files –
debian/control
- 5.3. Binary package control files –
DEBIAN/control
- 5.4. Debian source control files –
.dsc
- 5.5. Debian changes files –
.changes
- 5.6. List of fields
- 5.6.1.
Source
- 5.6.2.
Maintainer
- 5.6.3.
Uploaders
- 5.6.4.
Changed-By
- 5.6.5.
Section
- 5.6.6.
Priority
- 5.6.7.
Package
- 5.6.8.
Architecture
- 5.6.9.
Essential
- 5.6.10. Package interrelationship fields:
Depends
,Pre-Depends
,Recommends
,Suggests
,Breaks
,Conflicts
,Provides
,Replaces
,Enhances
- 5.6.11.
Standards-Version
- 5.6.12.
Version
- 5.6.13.
Description
- 5.6.14.
Distribution
- 5.6.15.
Date
- 5.6.16.
Format
- 5.6.17.
Urgency
- 5.6.18.
Changes
- 5.6.19.
Binary
- 5.6.20.
Installed-Size
- 5.6.21.
Files
- 5.6.22.
Closes
- 5.6.23.
Homepage
- 5.6.24.
Checksums-Sha1
andChecksums-Sha256
- 5.6.25.
DM-Upload-Allowed
- 5.6.26. Version Control System (VCS) fields
- 5.6.27.
Package-List
- 5.6.28.
Package-Type
- 5.6.29.
Dgit
- 5.6.30.
Testsuite
- 5.6.31.
Rules-Requires-Root
- 5.6.1.
- 5.7. User-defined fields
- 5.8. Obsolete fields
- 6. Package maintainer scripts and installation procedure
- 6.1. Introduction to package maintainer scripts
- 6.2. Maintainer scripts idempotency
- 6.3. Controlling terminal for maintainer scripts
- 6.4. Exit status
- 6.5. Summary of ways maintainer scripts are called
- 6.6. Details of unpack phase of installation or upgrade
- 6.7. Details of configuration
- 6.8. Details of removal and/or configuration purging
- 7. Declaring relationships between packages
- 7.1. Syntax of relationship fields
- 7.2. Binary Dependencies -
Depends
,Recommends
,Suggests
,Enhances
,Pre-Depends
- 7.3. Packages which break other packages -
Breaks
- 7.4. Conflicting binary packages -
Conflicts
- 7.5. Virtual packages -
Provides
- 7.6. Overwriting files and replacing packages -
Replaces
- 7.7. Relationships between source and binary packages -
Build-Depends
,Build-Depends-Indep
,Build-Depends-Arch
,Build-Conflicts
,Build-Conflicts-Indep
,Build-Conflicts-Arch
- 7.8. Additional source packages used to build the binary -
Built-Using
- 8. Shared libraries
- 8.1. Run-time shared libraries
- 8.2. Shared library support files
- 8.3. Static libraries
- 8.4. Development files
- 8.5. Dependencies between the packages of the same library
- 8.6. Dependencies between the library and other packages
- 9. The Operating System
- 9.1. File system hierarchy
- 9.2. Users and groups
- 9.3. Starting system services
- 9.4. Console messages from
init.d
scripts - 9.5. Cron jobs
- 9.6. Menus
- 9.7. Multimedia handlers
- 9.8. Keyboard configuration
- 9.9. Environment variables
- 9.10. Registering Documents using doc-base
- 9.11. Alternate init systems
- 9.12. Signaling that a reboot is required
- 10. Files
- 11. Customized programs
- 11.1. Architecture specification strings
- 11.2. Daemons
- 11.3. Using pseudo-ttys and modifying wtmp, utmp and lastlog
- 11.4. Editors and pagers
- 11.5. Web servers and applications
- 11.6. Mail transport, delivery and user agents
- 11.7. News system configuration
- 11.8. Programs for the X Window System
- 11.9. Perl programs and modules
- 11.10. Emacs lisp programs
- 11.11. Games
- 12. Documentation
- 1. Introduction and scope of these appendices
- 2. Binary packages (from old Packaging Manual)
- 3. Source packages (from old Packaging Manual)
- 3.1. Tools for processing source packages
- 3.1.1.
dpkg-source
- packs and unpacks Debian source packages - 3.1.2.
dpkg-buildpackage
- overall package-building control script - 3.1.3.
dpkg-gencontrol
- generates binary package control files - 3.1.4.
dpkg-shlibdeps
- calculates shared library dependencies - 3.1.5.
dpkg-distaddfile
- adds a file todebian/files
- 3.1.6.
dpkg-genchanges
- generates a.changes
upload control file - 3.1.7.
dpkg-parsechangelog
- produces parsed representation of a changelog - 3.1.8.
dpkg-architecture
- information about the build and host system
- 3.1.1.
- 3.2. The Debian package source tree
- 3.3. Source packages as archives
- 3.4. Unpacking a Debian source package without
dpkg-source
- 3.1. Tools for processing source packages
- 4. Control files and their fields (from old Packaging Manual)
- 5. Configuration file handling (from old Packaging Manual)
- 6. Alternative versions of an interface -
update-alternatives
(from old Packaging Manual) - 7. Diversions - overriding a package’s version of a file (from old Packaging Manual)
- 8. Debian Policy changes process
- 9. Maintainer script flowcharts
- 10. Upgrading checklist
- 10.1. About the checklist
- 10.2. Version 4.6.2
- 10.3. Version 4.6.1
- 10.4. Version 4.6.0
- 10.5. Version 4.5.1
- 10.6. Version 4.5.0
- 10.7. Version 4.4.1
- 10.8. Version 4.4.0
- 10.9. Version 4.3.0
- 10.10. Version 4.2.1
- 10.11. Version 4.2.0
- 10.12. Version 4.1.5
- 10.13. Version 4.1.4
- 10.14. Version 4.1.3
- 10.15. Version 4.1.2
- 10.16. Version 4.1.1
- 10.17. Version 4.1.0
- 10.18. Version 4.0.1
- 10.19. Version 4.0.0
- 10.20. Version 3.9.8
- 10.21. Version 3.9.7
- 10.22. Version 3.9.6
- 10.23. Version 3.9.5
- 10.24. Version 3.9.4
- 10.25. Version 3.9.3
- 10.26. Version 3.9.2
- 10.27. Version 3.9.1
- 10.28. Version 3.9.0
- 10.29. Version 3.8.4
- 10.30. Version 3.8.3
- 10.31. Version 3.8.2
- 10.32. Version 3.8.1
- 10.33. Version 3.8.0
- 10.34. Version 3.7.3
- 10.35. Version 3.7.2.2
- 10.36. Version 3.7.2
- 10.37. Version 3.7.1
- 10.38. Version 3.7.0
- 10.39. Version 3.6.2
- 10.40. Version 3.6.1
- 10.41. Version 3.6.0
- 10.42. Version 3.5.10
- 10.43. Version 3.5.9
- 10.44. Version 3.5.8
- 10.45. Version 3.5.7
- 10.46. Version 3.5.6
- 10.47. Version 3.5.5
- 10.48. Version 3.5.4
- 10.49. Version 3.5.3
- 10.50. Version 3.5.2
- 10.51. Version 3.5.1
- 10.52. Version 3.5.0
- 10.53. Version 3.2.1.1
- 10.54. Version 3.2.1
- 10.55. Version 3.2.0
- 10.56. Version 3.1.1
- 10.57. Version 3.1.0
- 10.58. Version 3.0.1
- 10.59. Version 3.0.0
- 10.60. Version 2.5.0
- 10.61. Version 2.4.1
- 10.62. Version 2.4.0
- 10.63. Version 2.3.0
- 10.64. Version 2.2.0
- 10.65. Version 2.1.3
- 10.66. Version 2.1.2
- 10.67. Version 2.1.1
- 10.68. Version 2.1.0
- 11. License