Provided by: policy-rcd-declarative_0.6_all bug

NAME

       policy-rc.d-declarative - define system service policies declaratively

SYNOPSIS

       policy-rc.d

DESCRIPTION

       Debian policy states that packages providing system services need to start those services
       by default, and that the starting of the service should be done by way of the
       /usr/sbin/invoke-rc.d script. This script will execute a program /usr/sbin/policy-rc.d if
       it exists, allowing the local system administrator to override behaviour if wanted by
       creating a policy script according to the interface specified and installing it as
       /usr/sbin/policy-rc.d.

       This interface, however, has some downsides:

       •   While the definition of the policy-rc.d interface specifies that policy scripts should
           be installed by way of the alternatives system, there are various cases (e.g., the
           initial installation of Debian from the Debian installer) where installing a policy
           script is desirable before the alternatives system is available for use. The result is
           that the installer creates a policy-rc.d script without going through the alternatives
           system, which it then removes at the end of the installation. A side effect of this is
           that any creation of a policy script in the installer will be blown away at the end of
           an installation.

           As a result of this, at least one derivative distribution believed they were
           installing a policy script into all their installations when in fact they weren't.

       •   Because the default state is for there to be no policy script on the system, the fact
           that the interface exists in the first place is something that is unknown to many
           long-time Debian users. Having something that can be configured through a (set of)
           configuration files in /etc instead makes the system discoverable, and allows for
           better documentation of the interface.

       Moreover, a scripted interface is far more powerful than necessary; in most cases, all
       that is needed is a default policy for all services, which does not require a turing-
       complete language.

       This policy script attempts to solve these issues by allowing system administrators to
       provide init script policies by way of a declarative interface, rather than a scripted
       one. It does this by way of a directory /etc/service-policy.d in which packages and/or
       system administrators may place files describing the policy to be followed. For more
       information on how these files should be structured, please see the service-policy.d(5)
       man page.

BUGS

       The policy script interface definition states that policy scripts must support "--quiet"
       and "--list" arguments. This policy script does not (yet) implement those.

       The list of allowed actions may be somewhat small at present. Future versions of this
       policy script are likely to add more, or to add a way to create custom actions. Wishlist
       bugs (or patches) welcome!

       The policy script interface also specifies a runlevel argument to the script. This policy
       script does not currently use or read that argument, because it is believed to be not
       helpful. This may change in the future.

SEE ALSO

       /usr/share/doc/init-system-helpers/README.policy-rc.d.gz, invoke-rc.d(8),
       service-policy.d(5)

                                            2020-11-23                 POLICY-RC.D-DECLARATIVE(8)