mirror of
https://github.com/morgan9e/systemd
synced 2026-04-15 00:47:10 +09:00
core/swap: /sbin -> /usr/sbin
I noticed in our NixOS packaging that we were working around the fact
that core/swap.c looks for swapon and swapoff in /sbin
Lets make it configurable just like all the other util-linux binaries
through meson and make it default to /usr/sbin/{swapon,swapoff}
This way mounts work on a systemd without the /sbin -> /usr/sbin
compatibility symlink. (And as a side-effect has NixOS be able
to have it in /nix/store too like the other util-linux tools).
This commit is contained in:
@@ -634,6 +634,8 @@ progs = [['quotaon', '/usr/sbin/quotaon' ],
|
||||
['kmod', '/usr/bin/kmod' ],
|
||||
['kexec', '/usr/sbin/kexec' ],
|
||||
['sulogin', '/usr/sbin/sulogin' ],
|
||||
['swapon', '/usr/sbin/swapon' ],
|
||||
['swapoff', '/usr/sbin/swapoff' ],
|
||||
['mount', '/usr/bin/mount', 'MOUNT_PATH'],
|
||||
['umount', '/usr/bin/umount', 'UMOUNT_PATH'],
|
||||
['loadkeys', '/usr/bin/loadkeys', 'KBD_LOADKEYS'],
|
||||
|
||||
@@ -57,6 +57,8 @@ option('quotacheck-path', type : 'string', description : 'path to quotacheck')
|
||||
option('kmod-path', type : 'string', description : 'path to kmod')
|
||||
option('kexec-path', type : 'string', description : 'path to kexec')
|
||||
option('sulogin-path', type : 'string', description : 'path to sulogin')
|
||||
option('swapon-path', type : 'string', description : 'path to swapon')
|
||||
option('swapoff-path', type : 'string', description : 'path to swapoff')
|
||||
option('mount-path', type : 'string', description : 'path to mount')
|
||||
option('umount-path', type : 'string', description : 'path to umount')
|
||||
option('loadkeys-path', type : 'string', description : 'path to loadkeys')
|
||||
|
||||
@@ -781,7 +781,7 @@ static void swap_enter_activating(Swap *s) {
|
||||
}
|
||||
}
|
||||
|
||||
r = exec_command_set(s->control_command, "/sbin/swapon", "--fixpgsz", NULL);
|
||||
r = exec_command_set(s->control_command, SWAPON, "--fixpgsz", NULL);
|
||||
if (r < 0) {
|
||||
log_unit_warning_errno(UNIT(s), r, "Failed to initialize swapon command line: %m");
|
||||
goto fail;
|
||||
@@ -826,7 +826,7 @@ static void swap_enter_deactivating(Swap *s) {
|
||||
s->control_command = s->exec_command + SWAP_EXEC_DEACTIVATE;
|
||||
|
||||
r = exec_command_set(s->control_command,
|
||||
"/sbin/swapoff",
|
||||
SWAPOFF,
|
||||
s->what,
|
||||
NULL);
|
||||
if (r < 0) {
|
||||
|
||||
Reference in New Issue
Block a user