Rework reboot/shutdown/poweroff/halt command 00/258400/2
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Mon, 10 May 2021 13:44:22 +0000 (15:44 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Tue, 18 May 2021 14:06:57 +0000 (16:06 +0200)
commit4c04c382919ba7365f9a728d7c87f03a56a680f8
treeaa4b6675a199c6f8a9f52b258b77512f7e61d2de
parent952ef801c50527b0ab2c65738666cdd745b09785
Rework reboot/shutdown/poweroff/halt command

The provided utilities did not support all cases in which reboot and similar
utilities needs to support, ie.
 - running when dbus service is not running (eg. in upgrade target)
 - being invoked from vip handler when system must reboot immediately

This commit drops deviced custom tools - systemd native tools should be used
instead.

To ensure deviced is used during shutdown following is added:

 - deviced-request-shutdown utility and related service files

   These are installed as dependencies of systemd-standard shutdown
   procedure, causing these to be pulled automatically.

   Separate utility is added as, eg. dbus-send might not be available on
   production images.

 - /run/systemd/reboot-param handling is added

   This file is written by standard systemd reboot tool, so we need to both
   + read this file for reboot param in deviced-shutdown (needed if deviced was not used during shutdown)
   + read this file for deviced PowerOff argument (needed for normal operation)

Change-Id: Ic013e6fa1f4848a17abc025cf99cffeea9916542
CMakeLists.txt
packaging/deviced.spec
src/core/common.c
src/core/common.h
src/power-command/command.c
src/power-shutdown/shutdown.c
systemd/deviced-request-shutdown@.service [new file with mode: 0644]