X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=1743552e0f16e5d104fc99c8b7ed6221b9b9dee4;hb=f545dfd88c291812520adee2147723a47e16f220;hp=050c688438db4cb9e95731c6e71106debbd6584a;hpb=55b89aacf0291dd3fea8771d8bef75efb8e64b4d;p=debian%2Fdebian-policy.git diff --git a/policy.sgml b/policy.sgml index 050c688..1743552 100644 --- a/policy.sgml +++ b/policy.sgml @@ -158,6 +158,14 @@ distributed in some other way or is intended for local use only.
+ +
+ udebs (stripped-down binary packages used by the Debian Installer) do
+ not comply with all of the requirements discussed here. See the
+
Essential is defined as the minimal set of functionality that
must be available and usable on the system at all times, even
- when packages are in an unconfigured (but unpacked) state.
+ when packages are in the "Unpacked" state.
Packages are tagged essential for a system using the
Essential control field. The format of the
Essential control field is described in dpkg to stave off boredom on
- the part of a user installing many packages. This means,
- amongst other things, using the --quiet option on
-
@@ -1353,7 +1361,7 @@ zope.
installed together. If
The following targets are required and must be implemented
by
- A package may also provide one or both of the targets - build-arch and build-indep. - The build-arch target, if provided, should + The build-arch target must perform all the configuration and compilation required for producing all architecture-dependant binary packages (those packages for which the body of the Architecture field in debian/control is not all). Similarly, the build-indep - target, if provided, should perform all the configuration + target must perform all the configuration and compilation required for producing all architecture-independent binary packages (those packages for which the body of the Architecture field in debian/control is all). -
- -
- If build-arch or build-indep targets are
- provided in the rules file, the build target
+ The build target
should either depend on those targets or take the same
actions as invoking those targets would perform.
- If one or both of the targets build-arch and
- build-indep are not provided, then invoking
-
The build-arch and build-indep targets must not do anything that might require root privilege. @@ -2171,7 +2162,7 @@ zope.
The architectures we build on and build for are determined
by
@@ -2667,7 +2658,6 @@ Package: libc6
- In the
- Indicates that Debian Maintainers may upload this package to
- the Debian archive. The only valid value is yes. If
- the field DM-Upload-Allowed: yes is present in the
- source section of the source control file of the most recent
- version of a package in unstable or experimental, the Debian
- archive will accept uploads of this package signed with a key
- in the Debian Maintainer keyring. See the General
- Resolution
+ Multiline field listing all the packages that can be built from
+ the source package, considering every architecture. The first line
+ of the field value is empty. Each one of the next lines describes
+ one binary package, by listing its name, type, section and priority
+ separated by spaces. Fifth and subsequent space-separated items
+ may be present and parsers must allow them. See the
+
+ Simple field containing a word indicating the type of package: + deb for binary packages and udeb for micro binary + packages. Other types not defined here may be indicated. In + source package control files, the Package-Type field + should be omitted instead of giving it a value of deb, as + this value is assumed for paragraphs lacking this field. +
++ Folded field containing a single git commit hash, presented in + full, followed optionally by whitespace and other data to be + defined in future extensions. +
+ +
+ Declares that the source package corresponds exactly to a
+ referenced commit in a Git repository available at the canonical
+ location called dgit-repos, used by
+ The following fields have been obsoleted and may be found in packages + conforming with previous versions of the Policy. +
+ +
+ Indicates that Debian Maintainers may upload this package to
+ the Debian archive. The only valid value is yes. This
+ field was used to regulate uploads by Debian Maintainers, See the
+ General Resolution
The new package's status is now sane, and recorded as - "unpacked". + "Unpacked".
@@ -4565,7 +4617,7 @@ fi
No attempt is made to unwind after errors during configuration. If the configuration fails, the package is in - a "Failed Config" state, and an error message is generated. + a "Half-Configured" state, and an error message is generated.
@@ -4685,8 +4737,8 @@ fi dependencies on other packages, the package names listed may also include lists of alternative package names, separated by vertical bar (pipe) symbols |. In such a case, - if any one of the alternative packages is installed, that - part of the dependency is considered to be satisfied. + that part of the dependency can be satisfied by any one of + the alternative packages.
@@ -5017,11 +5069,11 @@ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any] be unpacked the pre-dependency can be satisfied if the depended-on package is either fully configured, or even if the depended-on - package(s) are only unpacked or in the "Half-Configured" + package(s) are only in the "Unpacked" or the "Half-Configured" state, provided that they have been configured correctly at some point in the past (and not removed or partially removed since). In this case, both the - previously-configured and currently unpacked or + previously-configured and currently "Unpacked" or "Half-Configured" versions must satisfy any version clause in the Pre-Depends field.
@@ -5376,7 +5428,7 @@ Depends: foo-data (>= 1.2-3)
-
- The shlibs system is an simpler alternative to
+ The shlibs system is a simpler alternative to
the symbols system for declaring dependencies for
shared libraries. It may be more appropriate for C++
libraries and other cases where tracking individual symbols is
@@ -6712,7 +6764,7 @@ Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1)
The
In our example, if the last change to the zlib1g
package that could change behavior for a client of that
- library was in version 1:1.2.3.3.dfsg-2, then
+ library was in version 1:1.2.3.3.dfsg-1, then
the shlibs entry for this library could say:
+ Packages must not assume the
+ The
- The following directories in the root filesystem are
- additionally allowed:
On GNU/Hurd systems, the following additional
@@ -7997,38 +8054,75 @@ Reloading description configuration...done.
- The Debian menu package provides a standard
- interface between packages providing applications and
- menu programs (either X window managers or
- text-based menu programs such as
- All packages that provide applications that need not be
- passed any special command line arguments for normal
- operation should register a menu entry for those
- applications, so that users of the menu package
- will automatically get menu entries in their window
- managers, as well in shells like pdmenu.
+ The desktop entry files are installed by the packages in the
+ directory
- Menu entries should follow the current menu policy.
+ Entries displayed in the FreeDesktop menu should conform to the
+ following minima for relevance and visual integration.
+
+
+
- The menu policy can be found in the menu-policy
- files in the debian-policy package.
- It is also available from the Debian web mirrors at
-
- Please also refer to the Debian Menu System
- documentation that comes with the
+ Packages can, to be compatible with Debian additions to some window
+ managers that do not support the FreeDesktop standard, also provide a
+ Debian menu file, following the Debian menu policy,
+ which can be found in the menu-policy files in the
+ debian-policy package. It is also available from the Debian
+ web mirrors at
- MIME (Multipurpose Internet Mail Extensions, RFCs 2045-2049) - is a mechanism for encoding files and data streams and - providing meta-information about them, in particular their - type (e.g. audio or video) and format (e.g. PNG, HTML, - MP3). + Media types (formerly known as MIME types, Multipurpose Internet Mail + Extensions, RFCs 2045-2049) is a mechanism for encoding files and + data streams and providing meta-information about them, in particular + their type and format (e.g. image/png, text/html, + audio/ogg).
- Registration of MIME type handlers allows programs like mail + Registration of media type handlers allows programs like mail user agents and web browsers to invoke these handlers to - view, edit or display MIME types they don't support directly. + view, edit or display media types they don't support directly.
- Packages which provide the ability to view/show/play, - compose, edit or print MIME types should register themselves - as such following the current MIME support policy. + There are two overlapping systems to associate media types to programs + which can handle them. The mailcap system is found on a + large number of Unix systems. The FreeDesktop system is + aimed at Desktop environments. In Debian, FreeDesktop entries are + automatically translated in mailcap entries, therefore packages + already using desktop entries should not use the mailcap system + directly.
-
- The
- Packages containing such programs must register them
- with
+ Packages shipping an application able to view, edit or point to
+ files of a given media type, or open links with a given URI scheme,
+ should list it in the MimeType key of the application's
+
+ Packages that are not using desktop entries for registration should
+ install a file in
+ The
+ Packages installing desktop entries should not install mailcap
+ entries for the same program, because the
+
+ Packages using these facilities should not depend on,
+ recommend, or suggest
+ The media type of a file is discovered by inspecting the file's
+ extension or its
+ To support new associations between media types and files, their
+ characteristic file extensions and magic patterns should be
+ registered to the IANA (Internet Assigned Numbers Authority). See
+
+ For files that are produced and read by a single application, it
+ is also possible to declare this association to the
+ Shared MIME Info system by installing in the directory
+
+ A number of other init systems are available now in Debian that
+ can be used in place of
+ Packages may integrate with these replacement init systems by
+ providing implementation-specific configuration information about
+ how and when to start a service or in what order to run certain
+ tasks at boot time. However, any package integrating with other
+ init systems must also be backwards-compatible with
+
+ Packages may integrate with the
+ Because packages shipping upstart jobs may be installed on
+ systems that are not using upstart, maintainer scripts must
+ still use the common
+ Dependency-based boot managers for SysV init scripts, such as
+
- A symbolic link pointing to a compressed file should always
+ A symbolic link pointing to a compressed file (in the sense
+ that it is meant to be uncompressed with
@@ -9371,6 +9599,23 @@ done
+ ++ The name of the files installed by binary packages in the system PATH + (namely /bin, /sbin, /usr/bin, + /usr/sbin and /usr/games) must be encoded in + ASCII. +
+ ++ The name of the files and directories installed by binary packages + outside the system PATH must be encoded in UTF-8 and should be + restricted to ASCII when it is possible to do so. +
+Access to HTML documents
- -
- HTML documents for a package are stored in
-
- The web server should restrict access to the document - tree so that only clients on the same host can read - the documents. If the web server does not support such - access controls, then it should not provide access at - all, or ask about providing access during installation. -
+(Deleted)
The
+
+ Info readers requiring the
@@ -10775,12 +11008,6 @@ END-INFO-DIR-ENTRY
- It also documents the interaction between
-
This manual does not go into detail about the options and usage of the package building and installation tools. It @@ -10790,10 +11017,7 @@ END-INFO-DIR-ENTRY
The utility programs which are provided with
@@ -10813,25 +11037,9 @@ END-INFO-DIR-ENTRY
- The binary package has two main sections. The first part
- consists of various control information files and scripts used
- by
- The second part is an archive containing the files and
- directories to be installed.
+ See
- In the future binary packages may also contain other
- components, such as checksums and digital signatures. The
- format for the archive is described in full in the
-
-
- It is usually invoked by hand from the top level of the
- built or unbuilt source directory. It may be invoked with
- no arguments; useful arguments include:
-
- Do not sign the .changes file or the
- source package .dsc file, respectively.
- Invoke sign-command instead of finding
- gpg or pgp on the
- When root privilege is required, invoke the command
- root-command. root-command
- should invoke its first argument as a command, from
- the
- Two types of binary-only build and upload - see
-
- This program is usually called by package-independent
- automatic building scripts such as
-
- It is usually called in the top level of a built source
- tree, and when invoked with no arguments will print out a
- straightforward
- This program is used internally by
-
- This program can be used manually, but is also invoked by
- dpkg-buildpackage or
+ Do not attempt to divert a conffile, as