(debian-policy.info)Top


Next: About this manual Up: (dir)
Enter node , (file) or (file)node

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