chiark / gitweb /
man: don't do more reloads than necessary in spec files
[elogind.git] / man / daemon.xml
index 007ec95b97e96a82bba5980c8f98138494dbe184..ea0e6d27f58f665045fe761b1a909e0edd6390a1 100644 (file)
 
                                 <listitem><para>In the child, call
                                 <function>fork()</function> again, to
 
                                 <listitem><para>In the child, call
                                 <function>fork()</function> again, to
-                                ensure the daemon can never re-aquire
+                                ensure the daemon can never re-acquire
                                 a terminal again.</para></listitem>
 
                                 <listitem><para>Call <function>exit()</function> in the
                                 a terminal again.</para></listitem>
 
                                 <listitem><para>Call <function>exit()</function> in the
                         activation of daemons. However, the primary
                         advantage of this scheme is that all providers
                         and all consumers of the sockets can be
                         activation of daemons. However, the primary
                         advantage of this scheme is that all providers
                         and all consumers of the sockets can be
-                        started in parallel as soon als all sockets
+                        started in parallel as soon as all sockets
                         are established. In addition to that daemons
                         can be restarted with losing only a minimal
                         number of client transactions or even any
                         are established. In addition to that daemons
                         can be restarted with losing only a minimal
                         number of client transactions or even any
                         to the CPU and IO schedulers. If a process
                         executed by the init system shall not
                         negatively impact the amount of CPU or IO
                         to the CPU and IO schedulers. If a process
                         executed by the init system shall not
                         negatively impact the amount of CPU or IO
-                        bandwith available to other processes, it
+                        bandwidth available to other processes, it
                         should be configured with
                         <varname>CPUSchedulingPolicy=idle</varname>
                         and/or
                         should be configured with
                         <varname>CPUSchedulingPolicy=idle</varname>
                         and/or
                         --variable=systemdsystemunitdir</command> (for
                         system services), resp. <command>pkg-config
                         systemd
                         --variable=systemdsystemunitdir</command> (for
                         system services), resp. <command>pkg-config
                         systemd
-                        --variable=systemdsessionunitdir</command>
-                        (for session services). This will make the
+                        --variable=systemduserunitdir</command>
+                        (for user services). This will make the
                         services available in the system on explicit
                         request but not activate them automatically
                         during boot. Optionally, during package
                         services available in the system on explicit
                         request but not activate them automatically
                         during boot. Optionally, during package
 AC_ARG_WITH([systemdsystemunitdir],
         AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
         [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
 AC_ARG_WITH([systemdsystemunitdir],
         AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
         [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
-AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
-AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"])</programlisting>
+if test "x$with_systemdsystemunitdir" != xno; then
+        AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+fi
+AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])</programlisting>
 
                         <para>This snippet allows automatic
                         installation of the unit files on systemd
                         machines, and optionally allows their
                         installation even on machines lacking
                         systemd. (Modification of this snippet for the
 
                         <para>This snippet allows automatic
                         installation of the unit files on systemd
                         machines, and optionally allows their
                         installation even on machines lacking
                         systemd. (Modification of this snippet for the
-                        session unit directory is left as excercise to the
+                        user unit directory is left as excercise to the
                         reader.)</para>
 
                         <para>Additionally, to ensure that
                         reader.)</para>
 
                         <para>Additionally, to ensure that
@@ -826,26 +828,29 @@ endif</programlisting>
 
                         <programlisting>%post
 if [ $1 -eq 1 ]; then
 
                         <programlisting>%post
 if [ $1 -eq 1 ]; then
-        # Enable (but don't start) the units by default
+        # On install (not upgrade), enable (but don't start) the
+        # units by default
         /bin/systemctl enable foobar.service foobar.socket >/dev/null 2>&amp;1 || :
 
         /bin/systemctl enable foobar.service foobar.socket >/dev/null 2>&amp;1 || :
 
-        # Alternatively, just call /bin/systemctl daemon-reload here,
-        # if the daemon should not be enabled by default on package
+        # Alternatively, just call
+        # /bin/systemctl daemon-reload >/dev/null 2>&amp;1 || :
+        # here, if the daemon should not be enabled by default on
         # installation
 fi
 
 %preun
 if [ $1 -eq 0 ]; then
         # installation
 fi
 
 %preun
 if [ $1 -eq 0 ]; then
-        # Disable and stop the units
-        /bin/systemctl disable foobar.service foobar.socket >/dev/null 2>&amp;1 || :
+        # On uninstall (not upgrade), disable and stop the units
+        /bin/systemctl --no-reload disable foobar.service foobar.socket >/dev/null 2>&amp;1 || :
         /bin/systemctl stop foobar.service foobar.socket >/dev/null 2>&amp;1 || :
 fi
 
 %postun
         /bin/systemctl stop foobar.service foobar.socket >/dev/null 2>&amp;1 || :
 fi
 
 %postun
+# Reload init system configuration, to make systemd honour changed
+# or deleted unit files
+/bin/systemctl daemon-reload >/dev/null 2>&amp;1 || :
 if [ $1 -ge 1 ] ; then
 if [ $1 -ge 1 ] ; then
-        # On upgrade, reload init system configuration if we changed unit files
-        /bin/systemctl daemon-reload >/dev/null 2>&amp;1 || :
-        # On upgrade, restart the daemon
+        # On upgrade (not uninstall), optionally, restart the daemon
         /bin/systemctl try-restart foobar.service >/dev/null 2>&amp;1 || :
 fi</programlisting>
 
         /bin/systemctl try-restart foobar.service >/dev/null 2>&amp;1 || :
 fi</programlisting>
 
@@ -863,9 +868,9 @@ fi</programlisting>
                         script and a native systemd service file, use
                         a fragment like the following:</para>
 
                         script and a native systemd service file, use
                         a fragment like the following:</para>
 
-                        <programlisting>%triggerin -- foobar &lt; 0.47.11-1
+                        <programlisting>%triggerun -- foobar &lt; 0.47.11-1
 if /sbin/chkconfig foobar ; then
 if /sbin/chkconfig foobar ; then
-        /bin/systemctl enable foobar.service foobar.socket >/dev/null 2>&amp;1 || :
+        /bin/systemctl --no-reload enable foobar.service foobar.socket >/dev/null 2>&amp;1 || :
 fi</programlisting>
 
                         <para>Where 0.47.11-1 is the first package
 fi</programlisting>
 
                         <para>Where 0.47.11-1 is the first package
@@ -873,10 +878,10 @@ fi</programlisting>
                         file. This fragment will ensure that the first
                         time the unit file is installed it will be
                         enabled if and only if the SysV init script is
                         file. This fragment will ensure that the first
                         time the unit file is installed it will be
                         enabled if and only if the SysV init script is
-                        enabled, thus making sure that the the enable
+                        enabled, thus making sure that the enable
                         status is not changed. Note that
                         <command>chkconfig</command> is a command
                         status is not changed. Note that
                         <command>chkconfig</command> is a command
-                        specific Fedora which can be used to check
+                        specific to Fedora which can be used to check
                         whether a SysV init script is enabled. Other
                         operating systems will have to use different
                         commands here.</para>
                         whether a SysV init script is enabled. Other
                         operating systems will have to use different
                         commands here.</para>