X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=0bdc891608cf1f8615ab36fbd157b8ac51fc5719;hb=6c56ff3f4978001b8d14d7d28ac26c665a8ad6ae;hp=bfd39d59ab60f0a2770f8839f563ace730a07af4;hpb=5973f6595ef445db0c170f65b12cf0030d0f8888;p=debian%2Fdebian-policy.git
diff --git a/policy.sgml b/policy.sgml
index bfd39d5..0bdc891 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -258,7 +258,6 @@
-
@@ -488,9 +487,9 @@
In addition, the packages in main
-
- must not require a package outside of main
- for compilation or execution (thus, the package must
- not declare a "Depends", "Recommends", or
+ must not require or recommend a package outside
+ of main for compilation or execution (thus, the
+ package must not declare a "Depends", "Recommends", or
"Build-Depends" relationship on a non-main
package),
@@ -709,12 +708,13 @@
list of sections. At present, they are:
admin, cli-mono, comm, database,
devel, debug, doc, editors,
- electronics, embedded, fonts,
- games, gnome, graphics, gnu-r,
- gnustep, hamradio, haskell,
- httpd, interpreters, java, kde,
- kernel, libs, libdevel, lisp,
- localization, mail, math, misc,
+ education, electronics, embedded,
+ fonts, games, gnome, graphics,
+ gnu-r, gnustep, hamradio, haskell,
+ httpd, interpreters, introspection,
+ java, kde, kernel, libs,
+ libdevel, lisp, localization,
+ mail, math, metapackages, misc,
net, news, ocaml, oldlibs,
otherosfs, perl, php, python,
ruby, science, shells, sound,
@@ -6246,6 +6246,25 @@ install -m644 debian/shlibs.package debian/package/DEBIAN/
symlinked there, is relaxed to a recommendation.
+ -
+
+ The additional directory /run in the root
+ file system is allowed. /run
+ replaces /var/run, and the
+ subdirectory /run/lock
+ replaces /var/lock, with
+ the /var directories replaced by symlinks
+ for backwards compatibility. /run
+ and /run/lock must follow all of the
+ requirements in the FHS for /var/run
+ and /var/lock, respectively, such as file
+ naming conventions, file format requirements, or the
+ requirement that files be cleared during the boot
+ process. Files and directories residing
+ in /run should be stored on a temporary
+ file system.
+
+
-
The following directories in the root filesystem are
@@ -6388,6 +6407,35 @@ rmdir /usr/local/share/emacs 2>/dev/null || true
though the spool may still be physically located there.
+
+
+ /run and /run/lock
+
+
+ The directory /run is cleared at boot, normally
+ by being a mount point for a temporary file system. Packages
+ therefore must not assume that any files or directories
+ under /run other than /run/lock
+ exist unless the package has arranged to create those files or
+ directories since the last reboot. Normally, this is done by
+ the package via an init script. See [
+ for more information.
+ ]
+
+
+ Packages must not include files or directories
+ under /run, or under the
+ older /var/run and /var/lock paths.
+ The latter paths will normally be symlinks or other
+ redirections to /run for backwards compatibility.
+
+
+
+ Packages should use /run in preference
+ to /var/run and /run/lock in
+ preference to /var/lock.
+
+
@@ -6762,15 +6810,14 @@ test -f program-executed-later-in-script || exit 0
- /var/run and /var/lock may be mounted
- as temporary filesystems
- For example, using the RAMRUN and RAMLOCK
- options in /etc/default/rcS.
- , so the init.d scripts must handle this
- correctly. This will typically amount to creating any required
- subdirectories dynamically when the init.d script
- is run, rather than including them in the package and relying on
- dpkg to create them.
+ Files and directories under /run, including ones
+ referred to via the compatibility paths /var/run
+ and /var/lock, are normally stored on a temporary
+ filesystem and are normally not persistent across a reboot.
+ The init.d scripts must handle this correctly.
+ This will typically mean creating any required subdirectories
+ dynamically when the init.d script is run.
+ See [ for more information.
]
@@ -7139,18 +7186,20 @@ Reloading description configuration...done.
-
+
Cron jobs
Packages must not modify the configuration file
/etc/crontab, and they must not modify the files in
- /var/spool/cron/crontabs.
+ /var/spool/cron/crontabs.
+
- If a package wants to install a job that has to be executed
- via cron, it should place a file with the name of the
- package in one or more of the following directories:
+ If a package wants to install a job that has to be executed via
+ cron, it should place a file named as specified
+ in [ into one or more of the following
+ directories:
/etc/cron.hourly
/etc/cron.daily
@@ -7160,7 +7209,8 @@ Reloading description configuration...done.
As these directory names imply, the files within them are
executed on an hourly, daily, weekly, or monthly basis,
respectively. The exact times are listed in
- /etc/crontab.]
+ /etc/crontab.
+
All files installed in any of these directories must be
@@ -7171,15 +7221,18 @@ Reloading description configuration...done.
If a certain job has to be executed at some other frequency or
- at a specific time, the package should install a file
- /etc/cron.d/package. This file uses the
- same syntax as /etc/crontab and is processed by
- cron automatically. The file must also be
+ at a specific time, the package should install a file in
+ /etc/cron.d with a name as specified
+ in [. This file uses the same syntax
+ as /etc/crontab and is processed
+ by cron automatically. The file must also be
treated as a configuration file. (Note that entries in the
/etc/cron.d directory are not handled by
anacron. Thus, you should only use this
directory for jobs which may be skipped if the system is not
- running.)]
+ running.)
+
+
Unlike crontab files described in the IEEE Std
1003.1-2008 (POSIX.1) available from
@@ -7222,6 +7275,30 @@ Reloading description configuration...done.
execute scripts in
/etc/cron.{hourly,daily,weekly,monthly}.
+
+
+ Cron job file names
+
+
+ The file name of a cron job file should normally match the
+ name of the package from which it comes.
+
+
+
+ If a package supplies multiple cron job files files in the
+ same directory, the file names should all start with the name
+ of the package (possibly modified as described below) followed
+ by a hyphen (-) and a suitable suffix.
+
+
+
+ A cron job file name must not include any period or plus
+ characters (. or +) characters as this will
+ cause cron to ignore the file. Underscores (_)
+ should be used instead of . and +
+ characters.
+
+
@@ -7923,8 +8014,8 @@ fname () {
directory is a sub-directory of the root
directory /.) For example, a symbolic link
from /usr/lib/foo to /usr/share/bar
- should be relative (../bar), but a symbolic link
- from /var/run to /run should be
+ should be relative (../share/bar), but a symbolic
+ link from /var/run to /run should be
absolute.
This is necessary to allow top-level directories to be
symlinks. If linking /var/run
@@ -8186,22 +8277,6 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
Sharing configuration files
-
- Packages which specify the same file as a
- conffile must be tagged as conflicting
- with each other. (This is an instance of the general rule
- about not sharing files. Note that neither alternatives
- nor diversions are likely to be appropriate in this case;
- in particular, dpkg does not handle diverted
- conffiles well.)
-
-
-
- The maintainer scripts must not alter a conffile
- of any package, including the one the scripts
- belong to.
-
-
If two or more packages use the same configuration file
and it is reasonable for both to be installed at the same
@@ -8251,6 +8326,34 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
and which manages the shared configuration files. (The
sgml-base package is a good example.)
+
+
+ If the configuration file cannot be shared as described above,
+ the packages must be marked as conflicting with each other.
+ Two packages that specify the same file as
+ a conffile must conflict. This is an instance of the
+ general rule about not sharing files. Neither alternatives
+ nor diversions are likely to be appropriate in this case; in
+ particular, dpkg does not handle diverted
+ conffiles well.
+
+
+
+ When two packages both declare the same conffile, they
+ may see left-over configuration files from each other even
+ though they conflict with each other. If a user removes
+ (without purging) one of the packages and installs the other,
+ the new package will take over the conffile from the
+ old package. If the file was modified by the user, it will be
+ treated the same as any other locally
+ modified conffile during an upgrade.
+
+
+
+ The maintainer scripts must not alter a conffile
+ of any package, including the one the scripts
+ belong to.
+
@@ -9756,9 +9859,8 @@ END-INFO-DIR-ENTRY
In addition, the copyright file must say where the upstream
- sources (if any) were obtained. It should name the original
- authors of the package and the Debian maintainer(s) who were
- involved with its creation.
+ sources (if any) were obtained, and should name the original
+ authors.