Merge in changes committed by rra to the main repo.
Patches applied:
* debian-policy@lists.debian.org--lenny/debian-policy--devel--3.7--patch-1
merge rra@debian.org--lenny/debian-policy--devel--3.7
* rra@debian.org--lenny/debian-policy--devel--3.7--base-0
tag of debian-policy@lists.debian.org--lenny/debian-policy--devel--3.7--base-0
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-1
Document ~ behavior in version numbers
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-2
Add test -a/-o and local to shell policy, update wording
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-3
Substantial updates to the menu structure
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-4
Typo fix for writability of maintainer scripts
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-5
Recommend ${binary:Version} instead of ${Source-Version}
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-6
Remove stray [fillme] from menu policy
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-7
Formatting and alphabetization of the virtual package list
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-8
Add new virtual package dictd-dictionary
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-9
Rename inetd-superserver to inet-superserver
* rra@debian.org--lenny/debian-policy--devel--3.7--patch-10
Fix a/an misuse and other minor wording issues
git-archimport-id: srivasta@debian.org--lenny/debian-policy--devel--3.7--patch-2
+debian-policy (3.7.3.0) UNRELEASED; urgency=low
+
+ * Bug fix: "[PROPOSAL] Document ~ behavior in version numbers", thanks
+ to Nicolas François and Marc Brockschmidt (Closes: #382612).
+ * Bug fix: "Please add 'local' to list of supra-POSIX features that
+ /bin/sh can be expected to offer". Also add test -a/-o binary logical
+ operators and change references from POSIX to SUSv3 (Closes: #294962).
+ * Bug fix: "[Proposal] new Debian menu structure", thanks to Bill
+ Allombert (Closes: #361418).
+ * Bug fix: "typo: "must not be not world-writable"", thanks to Sam
+ Hocevar (Closes: #392594).
+ * Bug fix: "debian-policy: recommend binary:Version substvar instead",
+ thanks to Guillem Jover (Closes: #418444).
+ * Bug fix: "New virtual package: dictd-dictionary", thanks to Tatsuya
+ Kinoshita (Closes: #413575).
+ * The virtual package in use is inet-superserver, not inetd-superserver.
+ Adjust the virtual package list to match. Thanks, Tatsuya Kinoshita
+ and Marco d'Itri.
+ * Wrapped, cleaned up trailing whitespace, and alphabetized the list of
+ virtual packages.
+ * Bug fix: "Small spelling errors and erratic sentences in debian-policy",
+ thanks to Michiel de Boer. (Closes: #435207).
+
+ --
+
debian-policy (3.7.2.2) unstable; urgency=low
* Bug fix: "clarify 12.3 Additional documentation", thanks to Peter
<heading>Preferred menu structure</heading>
<p>
Here is the authoritative list of Debian's menu
- structure. Please do not put your packages into any other
- sections without asking for permission first!
- </p>
+ structure. Packages must be placed in leaf sections.
+ </p>
<p><taglist>
- <tag>Apps</tag>
+ <tag>Applications</tag>
<item>
- <p>normal applications</p>
+ <p>Normal applications</p>
<p><taglist>
- <tag>Databases</tag>
- <item>
- <p>interactive database programs</p>
- </item>
+ <tag>Accessibility</tag>
+ <item>
+ <p>Tools to aid people with disabilities or for machines
+ lacking usual input devices.</p>
+ <p>Examples: gok, yasr, dasher.</p>
+ </item>
+ <tag>Amateur Radio</tag>
+ <item>
+ <p>Anything relating to HAM radio.</p>
+ <p>Examples: baken, hamsoft, twlog</p>
+ </item>
+ <tag>Data Management</tag>
+ <item>
+ <p>Interactive database programs, collection managers,
+ address books, bibliography tools, etc.</p>
+ <p>gaby, alexandria, mdbtools</p>
+ </item>
<tag>Editors</tag>
<item>
- <p>text editors, word processors</p>
+ <p>Editors, other than office word processors, for
+ text-based information.</p>
+ <p>Examples: ksubtile, nano, hexedit</p>
</item>
<tag>Education</tag>
<item>
- <p>educational and training programs</p>
+ <p>Educational and training softwares.</p>
+ <p>Examples: gtypist, gcompris, quiz</p>
</item>
<tag>Emulators</tag>
<item>
- <p>wine, dosemu, etc.</p>
+ <p>Software that allows you to run non-native
+ software or more than one OS at a time.</p>
+ <p>Examples: wine, dosemu, qemu</p>
</item>
+ <tag>File Management</tag>
+ <item>
+ <p>Tools for file management, archiving,
+ searching, CD/DVD burning, backup, etc.</p>
+ <p>Examples: file-roller, mc, baobab</p>
+ </item>
<tag>Graphics</tag>
<item>
- <p>image manipulation</p>
- </item>
- <tag>Hamradio</tag>
- <item>
- <p>anything relating to ham radio</p>
- </item>
- <tag>Math</tag>
- <item>
- <p>math related programs</p>
- </item>
- <tag>Net</tag>
- <item>
- <p>network programs that don't fit elsewhere</p>
+ <p>2D and 3D graphics manipulation software.</p>
+ <p>Examples: gimp, inkscape, imagemagick</p>
</item>
+ <tag>Mobile Devices</tag>
+ <item>
+ <p>Software that allows you to interface with mobile
+ devices (phones, PDAs, etc.).</p>
+ <p>Examples: kandy, gnokii, gnome-pilot</p>
+ </item>
+ <tag>Network</tag>
+ <item>
+ Network related software. This is a three-level
+ section, do not put entries directly here.
+ <taglist>
+ <tag>Communication</tag>
+ <item>
+ <p>Mail, USENET news, chat, instant messaging,
+ IP telephony, video conferencing software, etc.</p>
+ <p>Examples: xchat, gaim, mutt</p>
+ </item>
+ <tag>File Transfer</tag>
+ <item>
+ <p>File transfer software such as download
+ managers, FTP clients, P2P clients, etc.</p>
+ <p>Examples: amule, gftp, d4x</p>
+ </item>
+ <tag>Monitoring</tag>
+ <item>
+ <p>Network monitoring software</p>
+ <p>Examples: gip, ettercap, iptstate</p>
+ </item>
+ <tag>Web Browsing</tag>
+ <item>
+ <p>Web browsers, tools for offline browsing, etc.</p>
+ <p>Examples: elinks, epiphany-browser, webhttrack</p>
+ </item>
+ <tag>Web News</tag>
+ <item>
+ <p>Web feed (RSS, Atom, etc.) and podcast aggregators.
+ </p>
+ <p>Examples: akregator, kitty, liferea</p>
+ </item>
+ </taglist>
+ </item>
+ <tag>Office</tag>
+ <item>
+ <p>Office suites, word processors, spreadsheets,
+ CRM, ERP, financial sofware, etc.</p>
+ <p>Examples: openoffice.org, tinyerp-client, gnucash</p>
+ </item>
<tag>Programming</tag>
<item>
- <p>debuggers, etc.</p>
- </item>
- <tag>Science</tag>
- <item>
- <p>scientific programs</p>
- </item>
- <tag>Tools</tag>
- <item>
- <p>simple apps, like clocks, that perform only one task</p>
- </item>
- <tag>Technical</tag>
- <item>
- <p>technical stuff</p>
- </item>
- <tag>Text</tag>
- <item>
- <p>text oriented tools other than editors</p>
- </item>
- <tag>Shells</tag>
- <item>
- <p>bash, ksh, zsh, etc.</p>
- </item>
- <tag>Sound</tag>
- <item>
- <p>sound players and editors</p>
- </item>
- <tag>Viewers</tag>
- <item>
- <p>image viewers</p>
- </item>
- <tag>System</tag>
- <item>
- <p>system administration and monitoring tools</p>
+ <p>IDEs, debuggers, etc.</p>
+ <p>Examples: anjuta, gdb, eclipse</p>
</item>
+ <tag>Project Management</tag>
+ <item>
+ <p>Timetable managers, group task trackers,
+ bug tracking software, etc.</p>
+ <p>Examples: planner, bugzilla, gnotime</p>
+ </item>
+ <tag>Science</tag>
+ <item>
+ Scientific and engineering-related software.
+ <taglist>
+ <tag>Astronomy</tag>
+ <item>
+ <p>Astronomy-related software.</p>
+ <p>Examples: celestia, spacechart, stellarium</p>
+ </item>
+ <tag>Biology</tag>
+ <item>
+ <p>Biology-related software.</p>
+ <p>Examples: arb, ncbi-tools-x11, seaview</p>
+ </item>
+ <tag>Chemistry</tag>
+ <item>
+ <p>Chemistry-related software.</p>
+ <p>Examples: chemtool, kalzium, xdrawchem</p>
+ </item>
+ <tag>Data Analysis</tag>
+ <item>
+ <p>Software designed for processing, extracting,
+ and presenting generic scientific data.</p>
+ <p>Examples: fityk, ygraph, mn-fit</p>
+ </item>
+ <tag>Electronics</tag>
+ <item>
+ <p>Circuit design tools, simulators and
+ assemblers for microprocessors, etc</p>
+ <p>Examples: geda, gnucap, tkgate</p>
+ </item>
+ <tag>Engineering</tag>
+ <item>
+ <p>CAD, UML tools, diagram-drawing and
+ other engineering-related software.</p>
+ <p>Examples: tcm, dia, qcad</p>
+ </item>
+ <tag>Geoscience</tag>
+ <item>
+ <p>Geoscience-related software.</p>
+ <p>Examples: earth3d, qgis, therion</p>
+ </item>
+ <tag>Mathematics</tag>
+ <item>
+ <p>Mathematics-related software.</p>
+ <p>Examples: gcalctool, snappea, xeukleides</p>
+ </item>
+ <tag>Medicine</tag>
+ <item>
+ <p>Medicine-related software.</p>
+ <p>Examples: mssstest, gnumed-client, xmedcon</p>
+ </item>
+ <tag>Physics</tag>
+ <item>
+ <p>Physics-related software.</p>
+ <p>Examples: kxterm, ifrit, paw</p>
+ </item>
+ <tag>Social</tag>
+ <item>
+ <p>Social sciences-related software.</p>
+ <p>Examples: gnomesword, hanzim, bibletime</p>
+ </item>
+ </taglist>
+ </item>
+ <tag>Shells</tag>
+ <item>
+ <p>Various shells to be used inside a terminal emulator.</p>
+ <p>Examples: bash, ksh, zsh</p>
+ </item>
+ <tag>Sound</tag>
+ <item>
+ <p>Sound players, editors, and rippers/recorders.</p>
+ <p>Examples: beep-media-player, grip, audacity</p>
+ </item>
+ <tag>System</tag>
+ <item>
+ System related software.
+ <taglist>
+ <tag>Administration</tag>
+ <item>
+ <p>Administrative and system configuration utilities,
+ also tools for personal user settings.</p>
+ <p>Examples: gnome-control-center, configure-debian, gksu</p>
+ </item>
+ <tag>Hardware</tag>
+ <item>
+ <p>Tools for manipulating specific hardware,
+ especially non-standard laptop hardware.</p>
+ <p>Examples: toshutils, nvclock-gtk, nvtv</p>
+ </item>
+ <tag>Language Environment</tag>
+ <item>
+ <p>This section is reserved for language-env as a
+ special case.</p>
+ </item>
+ <tag>Monitoring</tag>
+ <item>
+ <p>System information and monitoring tools, log viewers,
+ etc.</p>
+ <p>Examples: top, hal-device-manager, gtkdiskfree</p>
+ </item>
+ <tag>Package Management</tag>
+ <item>
+ <p>Package managers and related tools.</p>
+ <p>Examples: aptitude, deborphan, smartpm</p>
+ </item>
+ <tag>Security</tag>
+ <item>
+ <p>Security, cryptography and privacy related software,
+ antiviruses, tools to track and report bugs, etc.</p>
+ <p>Examples: gpgkeys, bastille, avscan</p>
+ </item>
+ </taglist>
+ </item>
+ <tag>Terminal Emulators</tag>
+ <item>
+ <p>Graphical terminal emulators.</p>
+ <p>Examples: xterm, gnome-terminal, rxvt</p>
+ </item>
+ <tag>Text</tag>
+ <item>
+ <p>Text oriented tools like dictionaries, OCR,
+ translation, text analysis software, etc.</p>
+ <p>Examples: kdrill, stardict, turkey</p>
+ </item>
+ <tag>TV and Radio</tag>
+ <item>
+ <p>TV-in, TV-out, FM radio, teletext browsers, etc.</p>
+ <p>Examples: gradio, gatos, alevt</p>
+ </item>
+ <tag>Viewers</tag>
+ <item>
+ <p>Software for viewing images, documents
+ and other (non-video) media.</p>
+ <p>Examples: gqview, evince, gthumb</p>
+ </item>
+ <tag>Video</tag>
+ <item>
+ <p>Video players, editors, and rippers/recorders.</p>
+ <p>Examples: istanbul, totem, kino</p>
+ </item>
+ <tag>Web Development</tag>
+ <item>
+ <p>Software for web site editing, web
+ programming, and site administration.</p>
+ <p>Examples: bluefish, screem, gphpedit</p>
+ </item>
</taglist>
</p>
</item>
<tag>Games</tag>
<item>
- <p>games and recreations</p>
- <p><taglist>
- <tag>Adventure</tag>
- <item>
- <p>walk around virtual space, zork, MOO's, etc</p>
- </item>
- <tag>Arcade</tag>
- <item>
- <p>any game where reflexes count</p>
- </item>
- <tag>Board</tag>
- <item>
- <p>games played on a board</p>
- </item>
- <tag>Card</tag>
- <item>
- <p>games involving a deck of cards</p>
- </item>
- <tag>Puzzles</tag>
- <item>
- <p>tests of ingenuity and logic</p>
- </item>
- <tag>Simulation</tag>
- <item>
- <p>Simulations of the real world (Flight
- Simulators, for example)</p>
- </item>
- <tag>Sports</tag>
- <item>
- <p>games derived from "real world" sports</p>
- </item>
- <tag>Strategy</tag>
- <item>
- <p>games involving long term strategic thinking</p>
- </item>
- <tag>Tetris-like</tag>
- <item>
- <p>games involving falling blocks</p>
- </item>
- <tag>Toys</tag>
- <item>
- <p>amusements, eye-candy, etc.</p>
- </item>
- </taglist>
- </p>
+ Games and recreations
+ <taglist>
+ <tag>Action</tag>
+ <item>
+ <p>Games that involve a lot of action
+ and require fast reflexes.</p>
+ <p>Examples: xsoldier, supertux, xmoto</p>
+ </item>
+ <tag>Adventure</tag>
+ <item>
+ <p>Role playing and adventure games,
+ interactive movies and stories, etc.</p>
+ <p>Examples: beneath-a-steel-sky, egoboo, kq</p>
+ </item>
+ <tag>Blocks</tag>
+ <item>
+ <p>Tetris-like games involving falling blocks.</p>
+ <p>Examples: crack-attack, frozen-bubble, netris</p>
+ </item>
+ <tag>Board</tag>
+ <item>
+ <p>Games played on a board.</p>
+ <p>Examples: phalanx, xshogi, xboard</p>
+ </item>
+ <tag>Card</tag>
+ <item>
+ <p>Games involving a deck of cards.</p>
+ <p>Examples: pysol, ace-of-penguins, xpat2</p>
+ </item>
+ <tag>Puzzles</tag>
+ <item>
+ <p>Tests of ingenuity and logic.</p>
+ <p>Examples: xmpuzzles, sgt-puzzles, enigma</p>
+ </item>
+ <tag>Simulation</tag>
+ <item>
+ <p>Simulations of the real world
+ in all detail and complexity.</p>
+ <p>Examples: flightgear, torcs</p>
+ </item>
+ <tag>Strategy</tag>
+ <item>
+ <p>Games involving long-term strategic thinking.</p>
+ <p>Examples: wesnoth, widelands, netpanzer</p>
+ </item>
+ <tag>Tools</tag>
+ <item>
+ <p>Server browsers, configurators, editors, and other
+ game-related tools that are not games themselves.</p>
+ <p>Examples: xqf, crystalspace</p>
+ </item>
+ <tag>Toys</tag>
+ <item>
+ <p>Amusements, eye-candy, entertaining
+ demos, screen hacks (screensavers), etc.</p>
+ <p>Examples: xdesktopwaves, xphoon, xpenguins</p>
+ </item>
+ </taglist>
</item>
<tag>Help</tag>
<item>
<p>programs that provide user documentation</p>
+ <p>Examples: debian-reference, apt-howto, dhelp</p>
</item>
- <tag>Screen</tag>
- <item>
- <p>programs that affect the whole screen</p>
- <p>
- <taglist>
- <tag>Lock</tag>
- <item>
- <p>programs to lock the screen</p>
- </item>
- <tag>Save</tag>
- <item>
- <p>screen savers</p>
- </item>
- <tag>Root-window</tag>
- <item>
- <p>things that fill the root window</p>
- </item>
- </taglist>
- </p>
- </item>
- <tag>WindowManagers</tag>
- <item>
- <p>X window managers</p>
- <p>
- <taglist>
- <tag>Modules</tag>
- <item>
- <p>window manager modules</p>
- </item>
- </taglist>
- </p>
- </item>
- <tag>XShells</tag>
- <item>
- <p>xterm and its brethren</p>
- </item>
+ <tag>Screen</tag>
+ <item>
+ Programs that affect the whole screen.
+ <taglist>
+ <tag>Saving</tag>
+ <item>
+ <p>Tools for blanking the screen. Entries of screen hacks and
+ configuration GUIs should go to other appropriate sections.
+ </p>
+ <p>Examples: xscreensaver, xlockmore</p>
+ </item>
+ <tag>Locking</tag>
+ <item>
+ <p>Tools for locking the screen.</p>
+ <p>Examples: xscreensaver, xlockmore</p>
+ </item>
+ </taglist>
+ </item>
+ <tag>Window Managers</tag>
+ <item>
+ <p>X window managers.</p>
+ <p>Examples: fluxbox, metacity, waimea</p>
+ </item>
+ <tag>FVWM Modules</tag>
+ <item>
+ <p>FVWM-based window manager modules. As only modules related to
+ the running window-manager are displayed, do not create
+ subsections for specific window-managers.</p>
+ <p>Examples: fvwm, fvwm-gnome, fvwm95</p>
+ </item>
+ <tag>Window Maker</tag>
+ <item>
+ <p>This section is reserved for wmaker as a special case.</p>
+ <p>All wmaker specific entries must go here.</p>
+ </item>
</taglist>
</p>
</sect>
Packages which are necessary for the proper
functioning of the system (usually, this means that
dpkg functionality depends on these packages).
- Removing an <tt>required</tt> package may cause your
+ Removing a <tt>required</tt> package may cause your
system to become totally broken and you may not even
be able to use <prgn>dpkg</prgn> to put things back,
so only do so if you know what you are doing. Systems
Alphanumerics are <tt>A-Za-z0-9</tt> only.
</footnote>
and the characters <tt>.</tt> <tt>+</tt> <tt>-</tt>
- <tt>:</tt> (full stop, plus, hyphen, colon) and should
- start with a digit. If there is no
+ <tt>:</tt> <tt>~</tt> (full stop, plus, hyphen, colon,
+ tilde) and should start with a digit. If there is no
<var>debian_revision</var> then hyphens are not allowed;
if there is no <var>epoch</var> then colons are not
allowed.
This part of the version number specifies the version of
the Debian package based on the upstream version. It
may contain only alphanumerics and the characters
- <tt>+</tt> and <tt>.</tt> (plus and full stop) and is
- compared in the same way as the
+ <tt>+</tt> <tt>.</tt> <tt>~</tt> (plus, full stop,
+ tilde) and is compared in the same way as the
<var>upstream_version</var> is.
</p>
which may be empty) are compared lexically. If a difference
is found it is returned. The lexical comparison is a
comparison of ASCII values modified so that all the letters
- sort earlier than all the non-letters.
+ sort earlier than all the non-letters and so that a tilde
+ sorts before anything, even the end of a part. For example,
+ the following parts are in sorted order from earliest to
+ latest: <tt>~~</tt>, <tt>~~a</tt>, <tt>~</tt>, the empty part,
+ <tt>a</tt>.<footnote>
+ One common use of <tt>~</tt> is for upstream pre-releases.
+ For example, <tt>1.0~beta1~svn1245</tt> sorts earlier than
+ <tt>1.0~beta1</tt>, which sorts earlier than <tt>1.0</tt>.
+ </footnote>
</p>
<p>
They must be proper executable files; if they are scripts
(which is recommended), they must start with the usual
<tt>#!</tt> convention. They should be readable and
- executable by anyone, and must not be not world-writable.
+ executable by anyone, and must not be world-writable.
</p>
<p>
<prgn>start-stop-daemon</prgn>, <prgn>install-info</prgn>,
and <prgn>update-rc.d</prgn> can be found via the
<tt>PATH</tt> environment variable. Those programs, and any
- other program that one would expect to be on the
+ other program that one would expect to be in the
<tt>PATH</tt>, should thus be invoked without an absolute
pathname. Maintainer scripts should also not reset the
<tt>PATH</tt>, though they might choose to modify it by
<example compact="compact">
<var>new-postrm</var> abort-install
</example>
- If the error-unwind fails, the package is in an
+ If the error-unwind fails, the package is in a
"Half Installed" phase, and requires a
reinstall. If the error unwind works, the
- package is in an not installed state.
+ package is in a not installed state.
</item>
</enumlist>
</item>
list of Debian architecture names separated by whitespace.
Exclamation marks may be prepended to each of the names.
(It is not permitted for some names to be prepended with
- exclamation marks and others not.) If the current Debian
+ exclamation marks while others aren't.) If the current Debian
host architecture is not in this list and there are no
exclamation marks in the list, or it is in the list with a
prepended exclamation mark, the package name and the
Typically the development version should have an exact
version dependency on the runtime library, to make sure that
compilation and linking happens correctly. The
- <tt>${Source-Version}</tt> substitution variable can be
+ <tt>${binary:Version}</tt> substitution variable can be
useful for this purpose.
+ <footnote>
+ Previously, <tt>${Source-Version}</tt> was used, but its name
+ was confusing and it has been deprecated since dpkg 1.13.19.
+ </footnote>
</p>
</sect>
<file>/etc/default</file>, which typically will have the same
base name as the <file>init.d</file> script. This extra file
should be sourced by the script when the script runs. It
- must contain only variable settings and comments in POSIX
+ must contain only variable settings and comments in SUSv3
<prgn>sh</prgn> format. It may either be a
<tt>conffile</tt> or a configuration file maintained by
the package maintainer scripts. See <ref id="config-files">
</p>
<p>
- The standard shell interpreter <file>/bin/sh</file> can be a
- symbolic link to any POSIX compatible shell, if <tt>echo
- -n</tt> does not generate a newline.<footnote>
- Debian policy specifies POSIX behavior for
- <file>/bin/sh</file>, but <tt>echo -n</tt> has widespread
- use in the Linux community (in particular including this
- policy, the Linux kernel source, many Debian scripts,
- etc.). This <tt>echo -n</tt> mechanism is valid but not
- required under POSIX, hence this explicit addition.
- Also, rumour has it that this shall be mandated under
- the LSB anyway.
+ Scripts may assume that <file>/bin/sh</file> implements the
+ SUSv3 Shell Command Language<footnote>
+ Single UNIX Specification, version 3, which is also IEEE
+ 1003.1-2004 (POSIX), and is available on the World Wide Web
+ from <url id="http://www.unix.org/version3/online.html"
+ name="The Open Group"> after free
+ registration.</footnote>
+ plus the following additional features not mandated by
+ SUSv3:<footnote>
+ These features are in widespread use in the Linux community
+ and are implemented in all of bash, dash, and ksh, the most
+ common shells users may wish to use as <file>/bin/sh</file>.
</footnote>
- Thus, shell scripts specifying <file>/bin/sh</file> as
- interpreter must only use POSIX features. If a script
- requires non-POSIX features from the shell interpreter, the
- appropriate shell must be specified in the first line of the
- script (e.g., <tt>#!/bin/bash</tt>) and the package must
- depend on the package providing the shell (unless the shell
- package is marked "Essential", as in the case of
- <prgn>bash</prgn>).
- </p>
-
- <p>
- You may wish to restrict your script to POSIX features when
- possible so that it may use <file>/bin/sh</file> as its
- interpreter. If your script works with <prgn>dash</prgn>
- (originally called <prgn>ash</prgn>), it's probably POSIX
- compliant, but if you are in doubt, use
+ <list>
+ <item><tt>echo -n</tt>, if implemented as a shell built-in,
+ must not generate a newline.</item>
+ <item><tt>test</tt>, if implemented as a shell built-in, must
+ support <tt>-a</tt> and <tt>-o</tt> as binary logical
+ operators.</item>
+ <item><tt>local</tt> to create a scoped variable must be
+ supported; however, <tt>local</tt> may or may not preserve
+ the variable value from an outer scope and may or may not
+ support arguments more complex than simple variables. Only
+ uses such as:
+<example compact>
+fname () {
+ local a
+ a=''
+ # ... use a ...
+}
+</example>
+ must be supported.
+ </item>
+ </list>
+ If a shell script requires non-SUSv3 features from the shell
+ interpreter other than those listed above, the appropriate shell
+ must be specified in the first line of the script (e.g.,
+ <tt>#!/bin/bash</tt>) and the package must depend on the package
+ providing the shell (unless the shell package is marked
+ "Essential", as in the case of <prgn>bash</prgn>).
+ </p>
+
+ <p>
+ You may wish to restrict your script to SUSv3 features plus the
+ above set when possible so that it may use <file>/bin/sh</file>
+ as its interpreter. If your script works with <prgn>dash</prgn>
+ (originally called <prgn>ash</prgn>), it probably complies with
+ the above requirements, but if you are in doubt, use
<file>/bin/bash</file>.
</p>
</p>
<p>
- Such package should check for the existence of this file
+ Such a package should check for the existence of this file
when it is being configured. If it exists, it should be
used without comment, although an MTA's configuration script
may wish to prompt the user even if it finds that this file
<h2>The checklist</h2>
<pre>
+3.7.3.0 unreleased
+ * Package version numbers may contain tildes, which sort before
+ anything, even the end of a part. [5.6.12]
+ * Scripts may assume that /bin/sh supports local (at a basic level)
+ and that its test builtin (if any) supports -a and -o binary
+ logical operators. [10.4]
+ * The substitution variable ${binary:Version} should be used in place
+ of ${Source-Version} for dependencies between packages of the same
+ library. [8.5]
+ * Substantial reorganization and renaming of sections in the Debian
+ menu structure. Packages with menu entries should be reviewed to
+ see if the menu section has been renamed or if one of the new
+ sections would be more appropriate. [menu policy]
3.7.2.2 Oct 2006
* Maintainer scripts must not be world writeable (up from a
should to a must) [6.1]
AUTHORITATIVE LIST OF VIRTUAL PACKAGE NAMES
- September 2002
+ July 2007
Below is an authoritative list of virtual package names currently
c-shell a suitable /bin/csh (*)
dotfile-module a module for the Dotfile Generator
emacsen the GNU emacs or a compatible editor
+ lzh-archiver an LZH archiver package
tclsh a /usr/bin/tclsh (*)
wish a /usr/bin/wish (*)
- lzh-archiver an LZH archiver package
+
Development
-----------
c-compiler a C compiler
System
------
+ flexmem anything that can access flexible memory via the
+ OBEX Protocol
foomatic-data PPD printer description files
linux-kernel-log-daemon a daemon to facilitate logging for the Linux kernel
system-log-daemon a daemon that provides a logging facility for
other applications
time-daemon anything that serves as a time daemon
ups-monitor anything that is capable of controlling an UPS
- flexmem anything that can access flexible memory via the OBEX Protocol
Documentation
-------------
dict-client clients for the Dictionary Server
dict-server the Dictionary Server
+ dictd-dictionary a dictionary for the dictd Dictionary Server
info-browser something that can browse GNU Info files
ispell-dictionary a dictionary for the ispell system
myspell-dictionary a dictionary for the myspell system
man-browser something that can read man pages
stardict-dictionary a dictionary for stardict
- stardict application capable of reading stardict-dictdata
+ stardict application capable of reading stardict-dictdata
stardict-dictdata dictionary data which can be read from stardict
wordlist a /usr/share/dict/words (*)
www-browser something that can browse HTML files
httpd a HTTP server
httpd-cgi A CGI capable HTTP server
ident-server an identd daemon
- inetd-superserver an inetd server
+ inet-superserver an inetd server
lambdamoo-core a lambdamoo-compatible database package
lambdamoo-server anything running a moo using a lambdamoo-core
radius-server a RADIUS server for acct/auth
X Window System
---------------
+ x-display-manager an X client which manages a collection of X servers
+ x-session-manager a program which starts a desktop environment
+ or launches a general X session
x-terminal-emulator an X client which emulates a terminal with a
terminfo description in the ncurses-base package
x-window-manager an X client which provides window management
services
xserver an X server that (directly or indirectly) manages
physical input and display hardware
- x-session-manager a program which starts a desktop environment
- or launches a general X session
- x-display-manager an X client which manages a collection of X servers
Graphics and MultiMedia
-----------------------
- mp3-encoder an MP3 encoder package
- mp3-decoder an MP3 decoder package
audio-mixer a utility to control the input and output levels
of a sound card, with a tty interface
x-audio-mixer a utility to control the input and output levels
of a sound card, X Window System interface
+ mp3-encoder an MP3 encoder package
+ mp3-decoder an MP3 decoder package
+ mpd-client a client that can control the Music Player Daemon
pdf-preview a preprocessor that creates PDF output
pdf-viewer anything that can display PDF files
postscript-preview a preprocessor that creates Postscript output
postscript-viewer anything that can display Postscript files
- mpd-client A client that can control the Music Player Daemon
Java and virtual machines
-------------------------
Scheme and interpreters
-------------------------
- scheme-r4rs Scheme interpreter with the R4RS environment
- scheme-r5rs Scheme interpreter with the R5RS environment
- scheme-ieee-11878-1900 Scheme interpreter with the IEEE-11878-1900 environment
- scheme-srfi-0 Scheme interpreter accepting the SRFI 0 language extension
- scheme-srfi-7 Scheme interpreter accepting the SRFI 7 language
- scheme-srfi-55 Scheme interpreter accepting the SRFI 55 language extension
+ scheme-r4rs Scheme interpreter with the R4RS environment
+ scheme-r5rs Scheme interpreter with the R5RS environment
+ scheme-ieee-11878-1900 Scheme interpreter with the IEEE-11878-1900
+ environment
+ scheme-srfi-0 Scheme interpreter accepting the SRFI 0 language
+ extension
+ scheme-srfi-7 Scheme interpreter accepting the SRFI 7 language
+ extension
+ scheme-srfi-55 Scheme interpreter accepting the SRFI 55 language
+ extension
Old and obsolete virtual package names
--------------------------------------
02 October 2006 Added stardict
Added stardict-dictdata
Added lzh-archiver
+
+Russ Allbery:
+ 8 Jul 2007 Added dictd-dictionary
+ Rename inetd-superserver to inet-superserver