From 0ecff590656eb29d2a747d405fbd132f69f4cc01 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 18 Nov 2025 02:45:28 +0900 Subject: [PATCH 1/3] Revert "musl: meson: add libutmps support" This reverts commit bf9bc5beb090bb35184caf34cc641e708615e83a. libutmps does not support utmpxname(), the function always fails with ENOSYS, and always uses their own file. However, our code relies on the funtion needs to succeed. Let's revert the change now, and revisit later when musl users request to support libutmps. --- meson.build | 1 - src/login/meson.build | 1 - src/shared/meson.build | 1 - src/test/meson.build | 1 - 4 files changed, 4 deletions(-) diff --git a/meson.build b/meson.build index fc305a8565..055ee31ee4 100644 --- a/meson.build +++ b/meson.build @@ -1028,7 +1028,6 @@ threads = dependency('threads') librt = cc.find_library('rt') libm = cc.find_library('m') libdl = cc.find_library('dl') -libutmps = dependency('libutmps', required : false) # On some distributions that use musl (e.g. Alpine), libintl.h may be provided by gettext rather than musl. # In that case, we need to explicitly link with libintl.so. diff --git a/src/login/meson.build b/src/login/meson.build index e6cd002c6c..0ad9beb167 100644 --- a/src/login/meson.build +++ b/src/login/meson.build @@ -49,7 +49,6 @@ executables += [ 'include_directories' : [libexec_template['include_directories'], include_directories('.')], 'extract' : systemd_logind_extract_sources, 'dependencies' : [ - libutmps, threads, ], }, diff --git a/src/shared/meson.build b/src/shared/meson.build index eebadf6d3f..acc80d3e34 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -385,7 +385,6 @@ libshared_deps = [threads, librt, libseccomp_cflags, libselinux_cflags, - libutmps, libxenctrl_cflags, libxz_cflags, libzstd_cflags, diff --git a/src/test/meson.build b/src/test/meson.build index d51911bd5b..f5b1336884 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -473,7 +473,6 @@ executables += [ test_template + { 'sources' : files('test-utmp.c'), 'conditions' : ['ENABLE_UTMP'], - 'dependencies' : libutmps, }, test_template + { 'sources' : files('test-varlink.c'), From 1a2ba8242152ea96d6af315a2bb1efacd8353234 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 18 Nov 2025 02:52:38 +0900 Subject: [PATCH 2/3] musl: meson: gracefully disable utmp support musl only provides fake utmp functions, and these are not usable. Let's disable the feature when building with musl. --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 055ee31ee4..3f50b58578 100644 --- a/meson.build +++ b/meson.build @@ -1687,7 +1687,7 @@ foreach tuple : [ ['timesyncd'], ['tmpfiles'], ['tpm'], - ['utmp'], + ['utmp', get_option('libc') != 'musl', 'musl does not support it'], ['userdb'], ['vconsole'], ['xdg-autostart'], From bd3fc5c539496873cb6e37cee1d21f50f97d88d6 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 18 Nov 2025 03:06:02 +0900 Subject: [PATCH 3/3] Revert "musl: utmpx: add several missing definitions" This reverts commit 3ae7d8fd8731c3412df878e8d1e8af9a8e644576. Now utmp support is always disabled when building with musl, and all definitions are unused in that case. Let's remove it. --- src/include/musl/utmpx.h | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 src/include/musl/utmpx.h diff --git a/src/include/musl/utmpx.h b/src/include/musl/utmpx.h deleted file mode 100644 index d95fc8f25e..0000000000 --- a/src/include/musl/utmpx.h +++ /dev/null @@ -1,16 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.1-or-later */ -#pragma once - -#include_next - -#ifndef UTMPX_FILE -#define UTMPX_FILE "/run/utmp" -#endif - -#ifndef WTMPX_FILE -#define WTMPX_FILE "/var/log/wtmp" -#endif - -#ifndef ACCOUNTING -#define ACCOUNTING 9 -#endif