From: Arian van Putten Date: Sun, 24 Aug 2025 11:24:26 +0000 (+0200) Subject: core/swap: /sbin -> /usr/sbin X-Git-Tag: v259-rc1~572^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef8517f024740cd9fce26e0f97eb63e30cd30c1c;p=thirdparty%2Fsystemd.git 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). --- diff --git a/meson.build b/meson.build index f3d0a4b5153..fc3748c1340 100644 --- a/meson.build +++ b/meson.build @@ -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'], diff --git a/meson_options.txt b/meson_options.txt index d8dec33ec42..abcdc279a25 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -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') diff --git a/src/core/swap.c b/src/core/swap.c index 9146ae91069..26a934013a1 100644 --- a/src/core/swap.c +++ b/src/core/swap.c @@ -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) {