(debian-policy.info)Top
Debian Policy Manual
********************
Debian Policy Manual 4.3.0.3, Feb 27, 2019
The Debian Policy Mailing List
Copyright © 2019, 1997, 1998 Ian Jackson, Christian Schwarz,
1998-2017, The Debian Policy Mailing List
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.3.0.3, released on 2019-02-27.
- About this manual
- The Debian Archive
- Binary packages
- Source packages
- Control files and their fields
- Package maintainer scripts and installation procedure
- Declaring relationships between packages
- Shared libraries
- The Operating System
- Files
- Files<2>.
- Customized programs
- Documentation
- Introduction and scope of these appendices
- Binary packages (from old Packaging Manual)
- Binary packages from old Packaging Manual.
- Source packages (from old Packaging Manual)
- Source packages from old Packaging Manual.
- Control files and their fields (from old Packaging Manual)
- Control files and their fields from old Packaging Manual.
- Configuration file handling (from old Packaging Manual)
- Configuration file handling from old Packaging Manual.
- Alternative versions of an interface - update-alternatives (from old Packaging Manual)
- Alternative versions of an interface - update-alternatives from old Packaging Manual.
- Diversions - overriding a package’s version of a file (from old Packaging Manual)
- Diversions - overriding a package’s version of a file from old Packaging Manual.
- Debian Policy changes process
- Maintainer script flowcharts
- Upgrading checklist
- License
— The Detailed Node Listing —
About this manual
- Scope
- New versions of this document
- Authors and Maintainers
- Related documents
- Definitions
- Translations
Authors and Maintainers
- Early history
- Current process
- Improvements
The Debian Archive
- The Debian Free Software Guidelines
- Archive areas
- Copyright considerations
- Sections
- Priorities
Archive areas
- The main archive area
- The contrib archive area
- The non-free archive area
Binary packages
- The package name
- The version of a package
- The maintainer of a package
- The description of a package
- Dependencies
- Virtual packages
- Base system
- Essential packages
- Maintainer Scripts
The package name
- Packages with potentially offensive content
The version of a package
- Version numbers based on dates
- Uniqueness of version numbers
The description of a package
- The single line synopsis
- The extended description
Maintainer Scripts
- Prompting in maintainer scripts
Source packages
- Standards conformance
- Package relationships
- Changes to the upstream sources
- Debian changelog; debian/changelog
- Debian changelog debian/changelog.
- Copyright; debian/copyright
- Copyright debian/copyright.
- Error trapping in makefiles
- Time Stamps
- Restrictions on objects in source packages
- Main building script; debian/rules
- Main building script debian/rules.
- Variable substitutions; debian/substvars
- Variable substitutions debian/substvars.
- Optional upstream source location; debian/watch
- Optional upstream source location debian/watch.
- Generated files list; debian/files
- Generated files list debian/files.
- Convenience copies of code
- Source package handling; debian/README.source
- Source package handling debian/README source.
- Reproducibility
- Missing sources; debian/missing-sources
- Missing sources debian/missing-sources.
- Vendor-specific patch series
Main building script: debian/rules
- debian/rules and DEB_BUILD_OPTIONS
- debian/rules and Rules-Requires-Root
Control files and their fields
- Syntax of control files
- Source package control files – debian/control
- Binary package control files – DEBIAN/control
- Debian source control files – .dsc
- Debian source control files – dsc.
- Debian changes files – .changes
- Debian changes files – changes.
- List of fields
- User-defined fields
- Obsolete fields
List of fields
- Source
- Maintainer
- Uploaders
- Changed-By
- Section
- Priority
- Package
- Architecture
- Essential
- Package interrelationship fields; Depends, Pre-Depends, Recommends, Suggests, Breaks, Conflicts, Provides, Replaces, Enhances
- Package interrelationship fields Depends Pre-Depends Recommends Suggests Breaks Conflicts Provides Replaces Enhances.
- Standards-Version
- Version
- Description
- Distribution
- Date
- Format
- Urgency
- Changes
- Binary
- Installed-Size
- Files
- Closes
- Homepage
- Checksums-Sha1 and Checksums-Sha256
- DM-Upload-Allowed
- Version Control System (VCS) fields
- Version Control System VCS fields.
- Package-List
- Package-Type
- Dgit
- Testsuite
- Rules-Requires-Root
Version
- Epochs should be used sparingly
Rules-Requires-Root
- Remarks
- Definition of the keywords
- Provided keywords
Obsolete fields
- DM-Upload-Allowed
- DM-Upload-Allowed<2>.
Package maintainer scripts and installation procedure
- Introduction to package maintainer scripts
- Maintainer scripts idempotency
- Controlling terminal for maintainer scripts
- Exit status
- Summary of ways maintainer scripts are called
- Details of unpack phase of installation or upgrade
- Details of configuration
- Details of removal and/or configuration purging
Declaring relationships between packages
- Syntax of relationship fields
- Binary Dependencies - Depends, Recommends, Suggests, Enhances, Pre-Depends
- Binary Dependencies - Depends Recommends Suggests Enhances Pre-Depends.
- Packages which break other packages - Breaks
- Conflicting binary packages - Conflicts
- Virtual packages - Provides
- Overwriting files and replacing packages - Replaces
- Relationships between source and binary packages - Build-Depends, Build-Depends-Indep, Build-Depends-Arch, Build-Conflicts, Build-Conflicts-Indep, Build-Conflicts-Arch
- Relationships between source and binary packages - Build-Depends Build-Depends-Indep Build-Depends-Arch Build-Conflicts Build-Conflicts-Indep Build-Conflicts-Arch.
- Additional source packages used to build the binary - Built-Using
Overwriting files and replacing packages - Replaces
- Overwriting files in other packages
- Replacing whole packages, forcing their removal
- Replacing whole packages forcing their removal.
Shared libraries
- Run-time shared libraries
- Shared library support files
- Static libraries
- Development files
- Dependencies between the packages of the same library
- Dependencies between the library and other packages
Run-time shared libraries
- ldconfig
Dependencies between the library and other packages
- Generating dependencies on shared libraries
- Shared library ABI changes
- The symbols system
- The shlibs system
The symbols system
- The symbols files present on the system
- The symbols File Format
- Providing a symbols file
The shlibs system
- The shlibs files present on the system
- The shlibs File Format
- Providing a shlibs file
The Operating System
- File system hierarchy
- Users and groups
- System run levels and init.d scripts
- System run levels and init d scripts.
- Console messages from init.d scripts
- Console messages from init d scripts.
- Cron jobs
- Menus
- Multimedia handlers
- Keyboard configuration
- Environment variables
- Registering Documents using doc-base
- Alternate init systems
File system hierarchy
- File System Structure
- Site-specific programs
- The system-wide mail directory
- /run and /run/lock
Users and groups
- Introduction
- UID and GID classes
- Non-existent home directories
System run levels and init.d scripts
- Introduction
- Introduction<2>.
- Writing the scripts
- Interfacing with init systems
- Boot-time initialization
- Example
Interfacing with init systems
- Managing the links
- Running initscripts
Cron jobs
- Cron job file names
Multimedia handlers
- Registration of media type handlers with desktop entries
- Registration of media type handlers with mailcap entries
- Providing media types to files
Alternate init systems
- Event-based boot with upstart
Files
- Binaries
- Libraries
- Shared libraries
- Shared libraries<2>.
- Scripts
- Symbolic links
- Device files
- Configuration files
- Log files
- Permissions and owners
- File names
Configuration files
- Definitions
- Definitions<2>.
- Location
- Behavior
- Sharing configuration files
- User configuration files (“dotfiles”)
- User configuration files “dotfiles”.
Permissions and owners
- The use of dpkg-statoverride
Customized programs
- Architecture specification strings
- Daemons
- Using pseudo-ttys and modifying wtmp, utmp and lastlog
- Using pseudo-ttys and modifying wtmp utmp and lastlog.
- Editors and pagers
- Web servers and applications
- Mail transport, delivery and user agents
- Mail transport delivery and user agents.
- News system configuration
- Programs for the X Window System
- Perl programs and modules
- Emacs lisp programs
- Games
Architecture specification strings
- Architecture wildcards
Programs for the X Window System
- Providing X support and package priorities
- Packages providing an X server
- Packages providing a terminal emulator
- Packages providing a window manager
- Packages providing fonts
- Application defaults files
- Installation directory issues
Documentation
- Manual pages
- Info documents
- Additional documentation
- Preferred documentation formats
- Copyright information
- Examples
- Changelog files and release notes
Copyright information
- Machine-readable copyright information
Binary packages (from old Packaging Manual)
- Creating package files - dpkg-deb
- Package control information files
- The main control information file; control
- The main control information file control.
- Time Stamps
- Time Stamps<2>.
Source packages (from old Packaging Manual)
- Tools for processing source packages
- The Debian package source tree
- Source packages as archives
- Unpacking a Debian source package without dpkg-source
Tools for processing source packages
- dpkg-source - packs and unpacks Debian source packages
- dpkg-buildpackage - overall package-building control script
- dpkg-gencontrol - generates binary package control files
- dpkg-shlibdeps - calculates shared library dependencies
- dpkg-distaddfile - adds a file to debian/files
- dpkg-genchanges - generates a .changes upload control file
- dpkg-genchanges - generates a changes upload control file.
- dpkg-parsechangelog - produces parsed representation of a changelog
- dpkg-architecture - information about the build and host system
The Debian package source tree
- debian/rules - the main building script
- debian/substvars and variable substitutions
- debian/files
- debian/tmp
Unpacking a Debian source package without dpkg-source
- Restrictions on objects in source packages
- Restrictions on objects in source packages<2>.
Control files and their fields (from old Packaging Manual)
- Syntax of control files
- Syntax of control files<2>.
- List of fields
- List of fields<2>.
List of fields
- Filename and MSDOS-Filename
- Size and MD5sum
- Status
- Config-Version
- Conffiles
- Obsolete fields
- Obsolete fields<2>.
Configuration file handling (from old Packaging Manual)
- Automatic handling of configuration files by dpkg
- Fully-featured maintainer script configuration handling
Debian Policy changes process
- Introduction
- Introduction<3>.
- Change Goals
- Current Process
- Other Tags
Current Process
- State A; More information required
- State A More information required.
- State B; Discussion
- State B Discussion.
- State C; Proposal
- State C Proposal.
- State D; Wording proposed
- State D Wording proposed.
- State E; Seconded
- State E Seconded.
- State F; Accepted
- State F Accepted.
- State G; Reject
- State G Reject.
Upgrading checklist
- About the checklist
- Version 4.3.0
- Version 4 3 0.
- Version 4.2.1
- Version 4 2 1.
- Version 4.2.0
- Version 4 2 0.
- Version 4.1.5
- Version 4 1 5.
- Version 4.1.4
- Version 4 1 4.
- Version 4.1.3
- Version 4 1 3.
- Version 4.1.2
- Version 4 1 2.
- Version 4.1.1
- Version 4 1 1.
- Version 4.1.0
- Version 4 1 0.
- Version 4.0.1
- Version 4 0 1.
- Version 4.0.0
- Version 4 0 0.
- Version 3.9.8
- Version 3 9 8.
- Version 3.9.7
- Version 3 9 7.
- Version 3.9.6
- Version 3 9 6.
- Version 3.9.5
- Version 3 9 5.
- Version 3.9.4
- Version 3 9 4.
- Version 3.9.3
- Version 3 9 3.
- Version 3.9.2
- Version 3 9 2.
- Version 3.9.1
- Version 3 9 1.
- Version 3.9.0
- Version 3 9 0.
- Version 3.8.4
- Version 3 8 4.
- Version 3.8.3
- Version 3 8 3.
- Version 3.8.2
- Version 3 8 2.
- Version 3.8.1
- Version 3 8 1.
- Version 3.8.0
- Version 3 8 0.
- Version 3.7.3
- Version 3 7 3.
- Version 3.7.2.2
- Version 3 7 2 2.
- Version 3.7.2
- Version 3 7 2.
- Version 3.7.1
- Version 3 7 1.
- Version 3.7.0
- Version 3 7 0.
- Version 3.6.2
- Version 3 6 2.
- Version 3.6.1
- Version 3 6 1.
- Version 3.6.0
- Version 3 6 0.
- Version 3.5.10
- Version 3 5 10.
- Version 3.5.9
- Version 3 5 9.
- Version 3.5.8
- Version 3 5 8.
- Version 3.5.7
- Version 3 5 7.
- Version 3.5.6
- Version 3 5 6.
- Version 3.5.5
- Version 3 5 5.
- Version 3.5.4
- Version 3 5 4.
- Version 3.5.3
- Version 3 5 3.
- Version 3.5.2
- Version 3 5 2.
- Version 3.5.1
- Version 3 5 1.
- Version 3.5.0
- Version 3 5 0.
- Version 3.2.1.1
- Version 3 2 1 1.
- Version 3.2.1
- Version 3 2 1.
- Version 3.2.0
- Version 3 2 0.
- Version 3.1.1
- Version 3 1 1.
- Version 3.1.0
- Version 3 1 0.
- Version 3.0.1
- Version 3 0 1.
- Version 3.0.0
- Version 3 0 0.
- Version 2.5.0
- Version 2 5 0.
- Version 2.4.1
- Version 2 4 1.
- Version 2.4.0
- Version 2 4 0.
- Version 2.3.0
- Version 2 3 0.
- Version 2.2.0
- Version 2 2 0.
- Version 2.1.3
- Version 2 1 3.
- Version 2.1.2
- Version 2 1 2.
- Version 2.1.1
- Version 2 1 1.
- Version 2.1.0
- Version 2 1 0.
automatically generated by info2www version 1.2.2.9