summaryrefslogtreecommitdiffstats
path: root/src/shared/reboot-util.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* license: LGPL-2.1+ -> LGPL-2.1-or-laterYu Watanabe2020-11-091-1/+1
|
* shared/reboot-util: indentation updateZbigniew Jędrzejewski-Szmek2020-04-161-7/+6
|
* util-lib: move shall_restore_state() to shared/reboot-utilZbigniew Jędrzejewski-Szmek2019-09-161-0/+12
| | | | | It's just a small function, but it is higher-level functionality. I don't see a good place for it, reboot-util.[ch] seems least bad
* logind: Add support for RebootParameterVesa Jääskeläinen2019-03-221-0/+12
| | | | | | | | | This adds support for user to set & get reboot parameter for reboot. As callee would be next issuing Reboot call same policy checks are being used. If unit file issuing the reboot action defines RebootArgument (or similar) that setting takes precedence.
* systemctl: restore "systemctl reboot ARG" functionalityVesa Jääskeläinen2019-03-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | Commit d85515edcf9700dc068201ab9f7103f04f3b25b2 changed logic how reboot is executed. That commit changed behavior to use emergency action reboot code path to perform the reboot. This inadvertently broke rebooting with argument: $ systemctl reboot custom-reason Restore original behavior so that if reboot service unit similar to systemd-reboot.service is executed it is possible to override reboot reason with "systemctl reboot ARG". When "systemctl reboot ARG" is executed ARG is placed in file /run/systemd/reboot-param and reboot is issued using logind's Reboot dbus-service. If RebootArgument is specified in systemd-reboot.service it takes precedence over what systemctl sets. Fixes: #11828
* Move various files that don't need to be in basic/ to shared/Zbigniew Jędrzejewski-Szmek2018-11-201-0/+83
This doesn't have much effect on the final build, because we link libbasic.a into libsystemd-shared.so, so in the end, all the object built from basic/ end up in libsystemd-shared. And when the static library is linked into binaries, any objects that are included in it but are not used are trimmed. Hence, the size of output artifacts doesn't change: $ du -sb /var/tmp/inst* 54181861 /var/tmp/inst1 (old) 54207441 /var/tmp/inst1s (old split-usr) 54182477 /var/tmp/inst2 (new) 54208041 /var/tmp/inst2s (new split-usr) (The negligible change in size is because libsystemd-shared.so is bigger by a few hundred bytes. I guess it's because symbols are named differently or something like that.) The effect is on the build process, in particular partial builds. This change effectively moves the requirements on some build steps toward the leaves of the dependency tree. Two effects: - when building items that do not depend on libsystemd-shared, we build less stuff for libbasic.a (which wouldn't be used anyway, so it's a net win). - when building items that do depend on libshared, we reduce libbasic.a as a synchronization point, possibly allowing better parallelism. Method: 1. copy list of .h files from src/basic/meson.build to /tmp/basic 2. $ for i in $(grep '.h$' /tmp/basic); do echo $i; git --no-pager grep "include \"$i\"" src/basic/ 'src/lib*' 'src/nss-*' 'src/journal/sd-journal.c' |grep -v "${i%.h}.c";echo ;done | less