# dh_installinit

## NAME



           dh_installinit - install service init files into package build
           directories
    


## SYNOPSIS



           **dh_installinit**[_debhelper options_] [**--name=**_name_] [**-n**] [**-R**] [**-r**]
           [**-d**] [**--**_params_]
    


## DESCRIPTION



           **dh_installinit** is a debhelper program that is responsible for
           installing init scripts with associated defaults files.  In
           compatibility levels up to and including 10, **dh_installinit** will
           also install some systemd related files provided by the debian
           packaging (see the "FILES" section below).  In compatibility
           levels up to and including 11, **dh_installinit** will also handle
           upstart jobs provided in the debian packaging (see the "FILES" for
           more information on this as well).
    
           It also automatically generates the _postinst_ and _postrm_ and _prerm_
           commands needed to set up the symlinks in _/etc/rc*.d/_ to start and
           stop the init scripts.
    
           In compat 10 or earlier: If a package only ships a systemd service
           file and no sysvinit script is provided, you may want to exclude
           the call to dh_installinit for that package (e.g. via **-N**).
           Otherwise, you may get warnings from lintian about init.d scripts
           not being included in the package.
    


## FILES



           debian/_package_.init
               If this exists, it is installed into etc/init.d/_package_ in the
               package build directory.
    
           debian/_package_.default
               If this exists, it is installed into etc/default/_package_ in
               the package build directory.
    
           debian/_package_.upstart
               In compatibility level 11, this file will trigger an error
               with a reminder about ensuring the proper removal of the
               upstart file in the previous package version.  Please consider
               using the "rm_conffile" feature from dh_installdeb(1) to
               ensure the proper removal of previous upstart files.
    
               In compatibility level 10, if this file exists, it is
               installed into etc/init/_package_.conf in the package build
               directory.
    
           debian/_package_.service
               If this exists, it is installed into
               _usr/lib/systemd/system/package.service_ in the package build
               directory. Only used in compat levels 10 and below.
    
           debian/_package_.tmpfile
               If this exists, it is installed into
               usr/lib/tmpfiles.d/_package_.conf in the package build
               directory. Only used in compat levels 10 and below.
    


## OPTIONS



           **-n** , **--no-scripts**
               Do not modify _postinst_ /_postrm_ /_prerm_ scripts.
    
           **-o** , **--only-scripts**
               Only modify _postinst_ /_postrm_ /_prerm_ scripts, do not actually
               install any init script, default files, upstart job or systemd
               service file. May be useful if the file is shipped and/or
               installed by upstream in a way that doesn't make it easy to
               let **dh_installinit** find it.
    
               **Caveat** : This will bypass all the regular checks and
               _unconditionally_ modify the scripts.  You will almost certainly
               want to use this with **-p** to limit, which packages are affected
               by the call.  Example:
    
                override_dh_installinit:
                       dh_installinit -pfoo --only-scripts
                       dh_installinit --remaining
    
           **-R** , **--restart-after-upgrade**
               Do not stop the init script until after the package upgrade
               has been completed.  This is the default behaviour in compat
               10.
    
               In early compat levels, the default was to stop the script in
               the _prerm_ , and starts it again in the _postinst_.
    
               This can be useful for daemons that should not have a possibly
               long downtime during upgrade. But you should make sure that
               the daemon will not get confused by the package being upgraded
               while it's running before using this option.
    
           **--no-restart-after-upgrade**
               Undo a previous **--restart-after-upgrade**(or the default of
               compat 10).  If no other options are given, this will cause
               the service to be stopped in the _prerm_ script and started
               again in the _postinst_ script.
    
           **-r** , **--no-stop-on-upgrade** , **--no-restart-on-upgrade**
               Do not stop init script on upgrade.  This has the side-effect
               of not restarting the service as a part of the upgrade.
    
               If you want to restart the service with minimal downtime,
               please use **--restart-after-upgrade**(default in compat 10 or
               later).  If you want the service to be restarted but be
               stopped during the upgrade, then please use
               **--no-restart-after-upgrade**(note the "after-upgrade").
    
               Note that the **--no-restart-on-upgrade** alias is deprecated and
               will be removed in compat 12.  This is to avoid confusion with
               the **--no-restart-after-upgrade** option.  The
               **--no-stop-on-upgrade** variant was introduced in debhelper 10.2
               (included in Debian stretch).
    
           **--no-start**
               Do not start the init script on install or upgrade, or stop it
               on removal.  Only call **update-rc.d**. Useful for rcS scripts.
    
           **--no-enable**
               Disable the init script on purge, but do not enable them on
               install.  This implies a versioned dependency on
               **init-system-helpers ( >= 1.51) **as it is the first (functional)
               version that supports **update-rc.d <script> defaults-disabled**.
    
               **Note** that this option does not affect whether the services are
               started.  Please remember to also use **--no-start** if the
               service should not be started.
    
               Cannot be combined with **-u** _params_ , **--update-rcd-params=**_params_ ,
               or **--**_params_.
    
           **-d** , **--remove-d**
               Remove trailing **d** from the name of the package, and use the
               result for the filename the upstart job file is installed as
               in _etc/init/_ , and for the filename the init script is
               installed as in etc/init.d and the default file is installed
               as in _etc/default/_. This may be useful for daemons with names
               ending in **d**. (Note: this takes precedence over the
               **--init-script** parameter described below.)
    
           **-u** _params_ **--update-rcd-params=**_params_
           **--**_params_
               Pass _params_ to **update-rc.d**(8). If not specified, **defaults**(or
               **defaults-disabled** with **--no-enable**) will be passed to
               **update-rc.d**(8).
    
               Cannot be combined with **--no-enable**.
    
           **--name=**_name_
               Install the init script (and default file) as well as upstart
               job file using the filename _name_ instead of the default
               filename, which is the package name. When this parameter is
               used, **dh_installinit** looks for and installs files named
               _debian/package.name.init_ , _debian/package.name.default_ and
               _debian/package.name.upstart_ instead of the usual
               _debian/package.init_ , _debian/package.default_ and
               _debian/package.upstart_.
    
           **--init-script=**_scriptname_
               Use _scriptname_ as the filename the init script is installed as
               in _etc/init.d/_ (and also use it as the filename for the
               defaults file, if it is installed). If you use this parameter,
               **dh_installinit** will look to see if a file in the _debian/_
               directory exists that looks like _package.scriptname_ and if so
               will install it as the init script in preference to the files
               it normally installs.
    
               This parameter is deprecated, use the **--name** parameter
               instead. This parameter is incompatible with the use of
               upstart jobs.
    
           **--error-handler=**_function_
               Call the named shell _function_ if running the init script
               fails. The function should be provided in the _prerm_ and
               _postinst_ scripts, before the **#DEBHELPER#** token.
    


## NOTES



           Note that this command is not idempotent. dh_prep(1) should be
           called between invocations of this command. Otherwise, it may
           cause multiple instances of the same text to be added to
           maintainer scripts.
    


* * *