From ee5762e3780c048b230e8c1e7659e40fc1f443bf Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 24 Jul 2010 00:53:33 +0200 Subject: systemctl: fold systemd-install into systemctl --- man/daemon.xml | 49 +++++++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 18 deletions(-) (limited to 'man/daemon.xml') diff --git a/man/daemon.xml b/man/daemon.xml index fb22e6c616..30d39d7be1 100644 --- a/man/daemon.xml +++ b/man/daemon.xml @@ -543,10 +543,10 @@ the hardware of the respective kind is plugged in or otherwise becomes available. In a new-style init system it is possible to bind - activation to hardware plug/unplug events. In systemd, - kernel devices appearing in the sysfs/udev - device tree can be exposed as units if they - are tagged with the string + activation to hardware plug/unplug events. In + systemd, kernel devices appearing in the + sysfs/udev device tree can be exposed as units + if they are tagged with the string "systemd". Like any other kind of unit they may then pull in other units when activated (i.e. Plugged in) and thus @@ -570,8 +570,9 @@ bluetoothd.service via controlling a bluetooth.target.wants/ - symlink uniformly with a tool like - systemd-install1 + symlink uniformly with a command like + enable of + systemctl1 instead of manipulating the udev ruleset. @@ -756,9 +757,9 @@ install their systemd unit files in the directory returned by pkg-config systemd - --variable=systemdsystemunitdir - (for system services), - resp. pkg-config systemd + --variable=systemdsystemunitdir (for + system services), resp. pkg-config + systemd --variable=systemdsessionunitdir (for session services). This will make the services available in the system on explicit @@ -767,8 +768,9 @@ installation (e.g. rpm -i by the administrator) symlinks should be created in the systemd configuration - directories via the - systemd-install1 + directories via the enable + command of the + systemctl1 tool, to activate them automatically on boot. @@ -823,20 +825,32 @@ endif package managers: %post -/usr/bin/systemd-install --realize enable foobar.service foobar.socket >/dev/null 2>&1 || : +if [ $1 -eq 1 ]; then + # Enable (but don't start) the units by default + /bin/systemctl enable foobar.service foobar.socket >/dev/null 2>&1 || : +fi %preun -if [ "$1" -eq 0 ]; then - /usr/bin/systemd-install --realize disable foobar.service foobar.socket >/dev/null 2>&1 || : +if [ $1 -eq 0 ]; then + # Disable and stop the units + /bin/systemctl disable foobar.service foobar.socket >/dev/null 2>&1 || : + /bin/systemctl stop foobar.service foobar.socket >/dev/null 2>&1 || : +fi + +%postun +if [ $1 -ge 1 ] ; then + # On upgrade, reload init system configuration if we changed unit files + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + # On upgrade, restart the daemon + /bin/systemctl try-restart foobar.service >/dev/null 2>&1 || : fi Depending on whether your service should or should not be started/stopped/restarted during package installation, deinstallation or - upgrade, a different argument to - may be + upgrade, a different set of commands may be specified. See - systemd-install1 + systemctl1 for details. @@ -909,7 +923,6 @@ fi See Also systemd1, - systemd-install1, sd-daemon7, sd_listen_fds3, sd_notify3, -- cgit v1.2.3