[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#697039: debian-policy: cron scripts should obey similar rules as init scripts



Package: debian-policy
Severity: wishlist

I have installed ikiwiki and configured it sometime ago.  I removed its
package recently but did not purge it.... I got noisy cron error
messages.  If the cron script was written in the way most other packages
checking the existence of the executable, this did not happen.  I do not
know where were the original cause (my error?) but this let me look into
the policy :-)

Some parts of the rules described under "9.3.2 Writing the scripts"
 http://www.debian.org/doc/debian-policy/ch-opersys.html#s-writing-init
for init scripts such as the requirement to check the existence of
executables before their execution *must* be applied also to any
automatically starting scripts provided as conffile.  

Example of such conffiles of automatically starting scripts provided as
a part of a package are:
 * init scripts
 * cron scripts
 * power control scripts
 * pluggable device control scripts
 * ...

Also, this rule for the automatically starting scripts should also be
applied to ones generated by the package configuration helper.  Such
helper *should* generate scripts with the same care.

This prevents un-needed error log after the package removal without
purging.

In this respect, inserting a section just before 9.3 as new 9.3 "Writing
the automatic scripts" while copying most of the 9.3.2 contents except
for the parts of the start, stop, restart, and force-reload options
while mentioning "The following rules for automatically starting scripts
provided as conffile must be followed." at the top or something similar,
will be a good idea.

The old "9.3.2 Writing the scripts" and old "9.5 Cron jobs" should be
updated to point to additional requirement for such scripts.

Osamu

-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (10, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.7-trunk-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


Reply to: