Generated by GPT-5-mini| Debian Policy | |
|---|---|
| Name | Debian Policy |
| Title | Debian Policy Manual |
| Developer | Debian Project |
| Released | 1996 |
| Latest release version | 4.7.0.0 (example) |
| Programming language | N/A |
| Operating system | Debian (operating system) |
| Genre | Packaging standard |
| License | DFSG-compatible |
Debian Policy Debian Policy is the comprehensive technical specification that defines how packages are to be structured, named, and integrated within the Debian (operating system) distribution. It guides members of the Debian Project, maintainers, and contributors from packaging to release, aligning with practices used by projects such as Ubuntu, Kali Linux, and Devuan. The manual interfaces with many organizations and standards including Filesystem Hierarchy Standard, Freedesktop.org, Linux Standard Base, and legal frameworks like Software Package Data Exchange.
The policy describes binary and source package layout, control files, versioning, and interactions with init systems like systemd and OpenRC, plus compatibility notes for kernels such as Linux kernel. It prescribes obligations for relationships with upstreams including projects like GNU Project, KDE, GNOME Project, X.Org Foundation, and Mozilla Foundation. It defines packaging behavior for licenses tied to entities like Free Software Foundation and collaborations with distributions such as Debian derivatives and ecosystems exemplified by PackageKit, apt, dpkg, and APT.
The manual is maintained by the Debian Project through workflows involving the Debian Policy Group and coordination with teams like Debian Maintainers, Debian Developers, Debian Release Team, Debian Contributors, and the Technical Committee (Debian). Changes undergo discussion on venues like the Debian mailing lists, Debian Bug Tracking System, and conferences such as DebConf and FOSDEM. The source is tracked using version control systems employed by projects like Git and hosted on infrastructure similar to salsa.debian.org-style platforms; contributions are reviewed using processes comparable to code review and patch submission models used by Linux kernel development.
Policy covers packaging formats (source and binary), dependency declaration, and file system placement consistent with Filesystem Hierarchy Standard and conventions used by GNU utilities. It details handling of shared libraries as practiced in libc coordination and soname/versioning approaches used by projects such as Glibc and libtool. It prescribes behavior for integrating with init systems (systemd, sysvinit), service scripts akin to those in Upstart or OpenRC, and for handling configuration files according to models from Debconf and packaging frameworks like dpkg and aptitude. Security-related packaging adheres to expectations aligned with teams such as Debian Security Team and agencies that follow guidelines like CVE reporting practices.
Control files (e.g., control, changelog, rules) are specified in detail; metadata fields reference relationships to projects like Upstream (software development), Maintainer (software), and organizational identities such as Software Heritage or Open Source Initiative. The policy enumerates fields used by tooling such as dpkg-shlibdeps, debuild, lintian, and pbuilder and harmonizes with metadata ecosystems like AppStream and Debian BTS. Versioning schemes interact with conventions from Semantic Versioning and historical techniques used by Linux distributions and projects like Perl and Python packaging communities.
Compliance is verified via automated QA tools exemplified by lintian and infrastructure similar to continuous integration services used by CI/CD platforms; bug triage integrates with Debian Bug Tracking System and coordination with teams like Release Team and Security Team. The release process ties to freeze and release milestones comparable to practices at Ubuntu Release Team and release engineering methods used by Fedora Project, culminating in stable, testing, and unstable suites akin to models from Linux From Scratch and other distributions. Policy nonconformance triggers workflows involving the Debian Bug Tracking System, sponsorship arrangements through Debian Maintainers, and reviews by the Debian Technical Committee or relevant maintainers.
The manual evolved from early packaging practices influenced by works such as Software Package Data Exchange and standardization efforts like Linux Standard Base. Major revisions reflect shifts introduced by systemd adoption debates, cross-team coordination with Debian Developers and interactions with projects like Canonical and Red Hat on packaging assumptions. Versioning of the policy itself follows explicit numbering tracked in the project’s version control and debated on forums such as Debian mailing lists and events like DebConf. Its history intersects with legal and community milestones involving entities like Free Software Foundation Europe and incidents logged in the Debian Bug Tracking System that shaped rules for license handling, multi-arch support, and transitions affecting components like X.Org Foundation stacks and libc updates.