From c034915cb63e52a00288db2b055e20faf60e8cdf Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Tue, 6 May 2025 13:33:49 +0200 Subject: [PATCH 1/9] af-list: Remove transitive includes --- src/basic/af-list.c | 15 +++++++++++++++ src/basic/af-list.h | 22 ++++------------------ src/shared/parse-helpers.c | 2 ++ 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/basic/af-list.c b/src/basic/af-list.c index 91a20b2e0c..60da592e3f 100644 --- a/src/basic/af-list.c +++ b/src/basic/af-list.c @@ -6,6 +6,7 @@ #include "af-list.h" #include "macro.h" +#include "string-util.h" static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len); @@ -23,6 +24,20 @@ const char* af_to_name(int id) { return af_names[id]; } +const char* af_to_name_short(int id) { + const char *f; + + if (id == AF_UNSPEC) + return "*"; + + f = af_to_name(id); + if (!f) + return "unknown"; + + assert(startswith(f, "AF_")); + return f + 3; +} + int af_from_name(const char *name) { const struct af_name *sc; diff --git a/src/basic/af-list.h b/src/basic/af-list.h index e17762a35c..07f5056458 100644 --- a/src/basic/af-list.h +++ b/src/basic/af-list.h @@ -1,26 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include +#include "macro.h" -#include "string-util.h" +const char* af_to_name(int id) _const_; +int af_from_name(const char *name) _pure_; -const char* af_to_name(int id); -int af_from_name(const char *name); - -static inline const char* af_to_name_short(int id) { - const char *f; - - if (id == AF_UNSPEC) - return "*"; - - f = af_to_name(id); - if (!f) - return "unknown"; - - assert(startswith(f, "AF_")); - return f + 3; -} +const char* af_to_name_short(int id) _const_; const char* af_to_ipv4_ipv6(int id); int af_from_ipv4_ipv6(const char *af); diff --git a/src/shared/parse-helpers.c b/src/shared/parse-helpers.c index 63f592d18e..348dce5059 100644 --- a/src/shared/parse-helpers.c +++ b/src/shared/parse-helpers.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "af-list.h" #include "extract-word.h" #include "ip-protocol-list.h" From fda652117ef1832823c0fe67c0e6d26851d61b6a Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 5 May 2025 10:50:25 +0200 Subject: [PATCH 2/9] fs-util: Reduce transitive includes --- src/basic/btrfs.c | 1 + src/basic/cgroup-util.c | 1 + src/basic/chase.c | 1 + src/basic/fs-util.c | 19 +++++++++++++++ src/basic/fs-util.h | 23 ++++--------------- src/basic/lock-util.c | 1 + src/basic/mkdir.c | 1 + src/basic/mountpoint-util.c | 1 + src/basic/os-util.c | 1 + src/basic/path-util.c | 1 + src/basic/sync-util.c | 1 + src/basic/time-util.c | 1 + src/basic/tmpfile-util.c | 1 + src/binfmt/binfmt.c | 1 + src/core/exec-credential.c | 1 + src/core/exec-invoke.c | 1 + src/delta/delta.c | 1 + src/factory-reset/factory-reset-tool.c | 1 + src/libsystemd/sd-journal/catalog.c | 1 + src/libsystemd/sd-json/json-util.c | 1 + src/libsystemd/sd-network/sd-network.c | 1 + src/locale/localed-util.c | 1 + src/network/generator/main.c | 1 + src/pcrlock/pcrlock.c | 1 + src/random-seed/random-seed.c | 1 + src/shared/chown-recursive.c | 1 + src/shared/creds-util.c | 1 + src/shared/devnode-acl.c | 1 + src/shared/edit-util.c | 1 + src/shared/fstab-util.c | 1 + src/shared/label-util.c | 1 + src/shared/portable-util.c | 1 + src/shared/tpm2-util.c | 1 + src/shutdown/umount.c | 1 + src/sysupdate/sysupdate-instance.c | 1 + src/test/test-chase.c | 1 + src/test/test-conf-parser.c | 1 + src/test/test-socket-util.c | 1 + src/udev/udev-error.c | 3 +++ src/udev/udev-node.c | 1 + src/udev/udev-watch.c | 1 + src/update-done/update-done.c | 1 + src/validatefs/validatefs.c | 1 + src/vmspawn/vmspawn.c | 1 + .../test-xdg-autostart.c | 1 + 45 files changed, 68 insertions(+), 19 deletions(-) diff --git a/src/basic/btrfs.c b/src/basic/btrfs.c index bb07374def..dc2d6a5ddb 100644 --- a/src/basic/btrfs.c +++ b/src/basic/btrfs.c @@ -4,6 +4,7 @@ #include #include "btrfs.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "path-util.h" diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 8db7f07ba2..aa88975bd9 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -16,6 +16,7 @@ #include "cgroup-util.h" #include "constants.h" #include "dirent-util.h" +#include "errno-util.h" #include "extract-word.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/basic/chase.c b/src/basic/chase.c index 776c50ad18..954586dbf0 100644 --- a/src/basic/chase.c +++ b/src/basic/chase.c @@ -4,6 +4,7 @@ #include "alloc-util.h" #include "chase.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c index 3b619a15ac..d306cc6d11 100644 --- a/src/basic/fs-util.c +++ b/src/basic/fs-util.c @@ -12,6 +12,7 @@ #include "btrfs.h" #include "chattr-util.h" #include "dirent-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" @@ -376,6 +377,10 @@ int fd_warn_permissions(const char *path, int fd) { return stat_warn_permissions(path, &st); } +int access_nofollow(const char *path, mode_t mode) { + return RET_NERRNO(faccessat(AT_FDCWD, path, mode, AT_SYMLINK_NOFOLLOW)); +} + int touch_fd(int fd, usec_t stamp) { assert(fd >= 0); @@ -425,6 +430,10 @@ int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gi return RET_GATHER(ret, touch_fd(fd, stamp)); } +int touch(const char *path) { + return touch_file(path, false, USEC_INFINITY, UID_INVALID, GID_INVALID, MODE_INVALID); +} + int symlinkat_idempotent(const char *from, int atfd, const char *to, bool make_relative) { _cleanup_free_ char *relpath = NULL; int r; @@ -676,6 +685,16 @@ int unlink_or_warn(const char *filename) { return 0; } +char *rmdir_and_free(char *p) { + PROTECT_ERRNO; + + if (!p) + return NULL; + + (void) rmdir(p); + return mfree(p); +} + int access_fd(int fd, int mode) { assert(fd >= 0); diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h index b2c0107990..9f2b37a2d6 100644 --- a/src/basic/fs-util.h +++ b/src/basic/fs-util.h @@ -10,11 +10,9 @@ #include #include -#include "alloc-util.h" -#include "errno-util.h" #include "lock-util.h" +#include "memory-util.h" #include "time-util.h" -#include "user-util.h" #define MODE_INVALID ((mode_t) -1) @@ -51,16 +49,11 @@ int futimens_opath(int fd, const struct timespec ts[2]); int fd_warn_permissions(const char *path, int fd); int stat_warn_permissions(const char *path, const struct stat *st); -#define access_nofollow(path, mode) \ - RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)) +int access_nofollow(const char *path, mode_t mode); int touch_fd(int fd, usec_t stamp); - int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); - -static inline int touch(const char *path) { - return touch_file(path, false, USEC_INFINITY, UID_INVALID, GID_INVALID, MODE_INVALID); -} +int touch(const char *path); int symlinkat_idempotent(const char *from, int atfd, const char *to, bool make_relative); static inline int symlink_idempotent(const char *from, const char *to, bool make_relative) { @@ -90,15 +83,7 @@ int var_tmp_dir(const char **ret); int unlink_or_warn(const char *filename); /* Useful for usage with _cleanup_(), removes a directory and frees the pointer */ -static inline char *rmdir_and_free(char *p) { - PROTECT_ERRNO; - - if (!p) - return NULL; - - (void) rmdir(p); - return mfree(p); -} +char *rmdir_and_free(char *p); DEFINE_TRIVIAL_CLEANUP_FUNC(char*, rmdir_and_free); static inline char* unlink_and_free(char *p) { diff --git a/src/basic/lock-util.c b/src/basic/lock-util.c index ea0dcf720e..f87ebb05c4 100644 --- a/src/basic/lock-util.c +++ b/src/basic/lock-util.c @@ -10,6 +10,7 @@ #include #include "alloc-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "lock-util.h" diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c index 90c06681bc..a44add67de 100644 --- a/src/basic/mkdir.c +++ b/src/basic/mkdir.c @@ -7,6 +7,7 @@ #include "alloc-util.h" #include "btrfs.h" #include "chase.h" +#include "errno-util.h" #include "fd-util.h" #include "format-util.h" #include "fs-util.h" diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c index 23653160a0..a66b9169d0 100644 --- a/src/basic/mountpoint-util.c +++ b/src/basic/mountpoint-util.c @@ -6,6 +6,7 @@ #include "alloc-util.h" #include "chase.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "filesystems.h" diff --git a/src/basic/os-util.c b/src/basic/os-util.c index bde36a9d4d..cc6b0a7f51 100644 --- a/src/basic/os-util.c +++ b/src/basic/os-util.c @@ -5,6 +5,7 @@ #include "dirent-util.h" #include "env-file.h" #include "env-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/basic/path-util.c b/src/basic/path-util.c index dbde364eff..dff1b0ebe4 100644 --- a/src/basic/path-util.c +++ b/src/basic/path-util.c @@ -9,6 +9,7 @@ #include "alloc-util.h" #include "chase.h" +#include "errno-util.h" #include "extract-word.h" #include "fd-util.h" #include "fs-util.h" diff --git a/src/basic/sync-util.c b/src/basic/sync-util.c index aaae53529b..4f0d41848a 100644 --- a/src/basic/sync-util.c +++ b/src/basic/sync-util.c @@ -3,6 +3,7 @@ #include #include +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "log.h" diff --git a/src/basic/time-util.c b/src/basic/time-util.c index 17850c7e16..59fb371e9f 100644 --- a/src/basic/time-util.c +++ b/src/basic/time-util.c @@ -12,6 +12,7 @@ #include #include "alloc-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/basic/tmpfile-util.c b/src/basic/tmpfile-util.c index 371f2ae3a8..9d2c0b71b9 100644 --- a/src/basic/tmpfile-util.c +++ b/src/basic/tmpfile-util.c @@ -3,6 +3,7 @@ #include #include "alloc-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c index 76c0056212..eb91e916de 100644 --- a/src/binfmt/binfmt.c +++ b/src/binfmt/binfmt.c @@ -14,6 +14,7 @@ #include "build.h" #include "conf-files.h" #include "constants.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "log.h" diff --git a/src/core/exec-credential.c b/src/core/exec-credential.c index bed7ff3672..1608e4c9b0 100644 --- a/src/core/exec-credential.c +++ b/src/core/exec-credential.c @@ -20,6 +20,7 @@ #include "recurse-dir.h" #include "rm-rf.h" #include "tmpfile-util.h" +#include "user-util.h" ExecSetCredential* exec_set_credential_free(ExecSetCredential *sc) { if (!sc) diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c index d0c69d98ec..b0bf502576 100644 --- a/src/core/exec-invoke.c +++ b/src/core/exec-invoke.c @@ -64,6 +64,7 @@ #include "string-table.h" #include "strv.h" #include "terminal-util.h" +#include "user-util.h" #include "utmp-wtmp.h" #include "vpick.h" diff --git a/src/delta/delta.c b/src/delta/delta.c index 89815758b3..eb53999da9 100644 --- a/src/delta/delta.c +++ b/src/delta/delta.c @@ -9,6 +9,7 @@ #include "build.h" #include "chase.h" #include "dirent-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "glyph-util.h" diff --git a/src/factory-reset/factory-reset-tool.c b/src/factory-reset/factory-reset-tool.c index b32839656a..73f37e7490 100644 --- a/src/factory-reset/factory-reset-tool.c +++ b/src/factory-reset/factory-reset-tool.c @@ -9,6 +9,7 @@ #include "build.h" #include "device-util.h" #include "efivars.h" +#include "errno-util.h" #include "factory-reset.h" #include "fs-util.h" #include "json-util.h" diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c index 4e3733ce2e..1ecf335fb8 100644 --- a/src/libsystemd/sd-journal/catalog.c +++ b/src/libsystemd/sd-journal/catalog.c @@ -14,6 +14,7 @@ #include "alloc-util.h" #include "catalog.h" #include "conf-files.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/libsystemd/sd-json/json-util.c b/src/libsystemd/sd-json/json-util.c index 83c098b0ce..9bc12febe7 100644 --- a/src/libsystemd/sd-json/json-util.c +++ b/src/libsystemd/sd-json/json-util.c @@ -3,6 +3,7 @@ #include "alloc-util.h" #include "devnum-util.h" #include "env-util.h" +#include "errno-util.h" #include "fd-util.h" #include "glyph-util.h" #include "in-addr-util.h" diff --git a/src/libsystemd/sd-network/sd-network.c b/src/libsystemd/sd-network/sd-network.c index a7d860c8ba..a4b432b6ee 100644 --- a/src/libsystemd/sd-network/sd-network.c +++ b/src/libsystemd/sd-network/sd-network.c @@ -8,6 +8,7 @@ #include "alloc-util.h" #include "env-file.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "inotify-util.h" diff --git a/src/locale/localed-util.c b/src/locale/localed-util.c index 76383589c0..bc0b2b9878 100644 --- a/src/locale/localed-util.c +++ b/src/locale/localed-util.c @@ -9,6 +9,7 @@ #include "env-file.h" #include "env-file-label.h" #include "env-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "kbd-util.h" diff --git a/src/network/generator/main.c b/src/network/generator/main.c index c15dfa16cd..78389ba319 100644 --- a/src/network/generator/main.c +++ b/src/network/generator/main.c @@ -4,6 +4,7 @@ #include "build.h" #include "creds-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "generator.h" diff --git a/src/pcrlock/pcrlock.c b/src/pcrlock/pcrlock.c index 8e3a38929c..8dcea20520 100644 --- a/src/pcrlock/pcrlock.c +++ b/src/pcrlock/pcrlock.c @@ -53,6 +53,7 @@ #include "tpm2-util.h" #include "unaligned.h" #include "unit-name.h" +#include "user-util.h" #include "utf8.h" #include "varlink-io.systemd.PCRLock.h" #include "varlink-util.h" diff --git a/src/random-seed/random-seed.c b/src/random-seed/random-seed.c index 3ddaea04a3..8ba359c93a 100644 --- a/src/random-seed/random-seed.c +++ b/src/random-seed/random-seed.c @@ -13,6 +13,7 @@ #include "alloc-util.h" #include "build.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "io-util.h" diff --git a/src/shared/chown-recursive.c b/src/shared/chown-recursive.c index 06c5adb1e5..1bd2bb5705 100644 --- a/src/shared/chown-recursive.c +++ b/src/shared/chown-recursive.c @@ -6,6 +6,7 @@ #include "chown-recursive.h" #include "dirent-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "macro.h" diff --git a/src/shared/creds-util.c b/src/shared/creds-util.c index a4284075ad..67707dee1e 100644 --- a/src/shared/creds-util.c +++ b/src/shared/creds-util.c @@ -18,6 +18,7 @@ #include "creds-util.h" #include "efi-api.h" #include "env-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "find-esp.h" diff --git a/src/shared/devnode-acl.c b/src/shared/devnode-acl.c index 2015bd7641..81961c5b05 100644 --- a/src/shared/devnode-acl.c +++ b/src/shared/devnode-acl.c @@ -9,6 +9,7 @@ #include "device-util.h" #include "devnode-acl.h" #include "dirent-util.h" +#include "errno-util.h" #include "fd-util.h" #include "format-util.h" #include "fs-util.h" diff --git a/src/shared/edit-util.c b/src/shared/edit-util.c index 56c6133db7..becb9c54b7 100644 --- a/src/shared/edit-util.c +++ b/src/shared/edit-util.c @@ -6,6 +6,7 @@ #include "alloc-util.h" #include "copy.h" #include "edit-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c index 6cfff21743..b59e4838d8 100644 --- a/src/shared/fstab-util.c +++ b/src/shared/fstab-util.c @@ -6,6 +6,7 @@ #include "alloc-util.h" #include "device-nodes.h" +#include "errno-util.h" #include "fstab-util.h" #include "initrd-util.h" #include "libmount-util.h" diff --git a/src/shared/label-util.c b/src/shared/label-util.c index 2c482daaf6..a772343866 100644 --- a/src/shared/label-util.c +++ b/src/shared/label-util.c @@ -5,6 +5,7 @@ #include #include "btrfs-util.h" +#include "errno-util.h" #include "fs-util.h" #include "label.h" #include "label-util.h" diff --git a/src/shared/portable-util.c b/src/shared/portable-util.c index 1766171164..c472c2fea6 100644 --- a/src/shared/portable-util.c +++ b/src/shared/portable-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "fs-util.h" #include "log.h" #include "nulstr-util.h" diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c index f14e9eeae4..afef7abc4e 100644 --- a/src/shared/tpm2-util.c +++ b/src/shared/tpm2-util.c @@ -38,6 +38,7 @@ #include "sync-util.h" #include "time-util.h" #include "tpm2-util.h" +#include "user-util.h" #include "virt.h" #if HAVE_OPENSSL diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c index ba87a992bc..9b083d2492 100644 --- a/src/shutdown/umount.c +++ b/src/shutdown/umount.c @@ -28,6 +28,7 @@ #include "random-util.h" #include "signal-util.h" #include "umount.h" +#include "user-util.h" #include "virt.h" static void mount_point_free(MountPoint **head, MountPoint *m) { diff --git a/src/sysupdate/sysupdate-instance.c b/src/sysupdate/sysupdate-instance.c index aef16c35dc..b06fe9bc96 100644 --- a/src/sysupdate/sysupdate-instance.c +++ b/src/sysupdate/sysupdate-instance.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "log.h" #include "sysupdate-instance.h" diff --git a/src/test/test-chase.c b/src/test/test-chase.c index 09baae64fd..469e0b5a39 100644 --- a/src/test/test-chase.c +++ b/src/test/test-chase.c @@ -15,6 +15,7 @@ #include "string-util.h" #include "tests.h" #include "tmpfile-util.h" +#include "user-util.h" static const char *arg_test_dir = NULL; diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c index 6989d470b1..d00444e24f 100644 --- a/src/test/test-conf-parser.c +++ b/src/test/test-conf-parser.c @@ -12,6 +12,7 @@ #include "strv.h" #include "tests.h" #include "tmpfile-util.h" +#include "user-util.h" static void test_config_parse_path_one(const char *rvalue, const char *expected) { _cleanup_free_ char *path = NULL; diff --git a/src/test/test-socket-util.c b/src/test/test-socket-util.c index acf11f3639..ba2b4470d1 100644 --- a/src/test/test-socket-util.c +++ b/src/test/test-socket-util.c @@ -25,6 +25,7 @@ #include "string-util.h" #include "tests.h" #include "tmpfile-util.h" +#include "user-util.h" assert_cc(SUN_PATH_LEN == 108); diff --git a/src/udev/udev-error.c b/src/udev/udev-error.c index fea14e3ffe..bc438dfaf8 100644 --- a/src/udev/udev-error.c +++ b/src/udev/udev-error.c @@ -1,7 +1,10 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ +#include + #include "device-private.h" #include "errno-list.h" +#include "errno-util.h" #include "signal-util.h" #include "udev-error.h" diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index 673f723ff2..2df5d54fee 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -9,6 +9,7 @@ #include "device-util.h" #include "devnum-util.h" #include "dirent-util.h" +#include "errno-util.h" #include "escape.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/udev/udev-watch.c b/src/udev/udev-watch.c index 2d3127eee9..003f61293f 100644 --- a/src/udev/udev-watch.c +++ b/src/udev/udev-watch.c @@ -9,6 +9,7 @@ #include "daemon-util.h" #include "device-util.h" #include "dirent-util.h" +#include "errno-util.h" #include "event-util.h" #include "fd-util.h" #include "fs-util.h" diff --git a/src/update-done/update-done.c b/src/update-done/update-done.c index cb6822bddd..b39b9c4458 100644 --- a/src/update-done/update-done.c +++ b/src/update-done/update-done.c @@ -7,6 +7,7 @@ #include "alloc-util.h" #include "chase.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "log.h" diff --git a/src/validatefs/validatefs.c b/src/validatefs/validatefs.c index 2499a7e20f..db32fe3c23 100644 --- a/src/validatefs/validatefs.c +++ b/src/validatefs/validatefs.c @@ -7,6 +7,7 @@ #include "build.h" #include "chase.h" #include "device-util.h" +#include "errno-util.h" #include "fd-util.h" #include "initrd-util.h" #include "main-func.h" diff --git a/src/vmspawn/vmspawn.c b/src/vmspawn/vmspawn.c index 1034349e87..7c12b5e612 100644 --- a/src/vmspawn/vmspawn.c +++ b/src/vmspawn/vmspawn.c @@ -74,6 +74,7 @@ #include "time-util.h" #include "tmpfile-util.h" #include "unit-name.h" +#include "user-util.h" #include "utf8.h" #include "vmspawn-mount.h" #include "vmspawn-register.h" diff --git a/src/xdg-autostart-generator/test-xdg-autostart.c b/src/xdg-autostart-generator/test-xdg-autostart.c index 81f85d6b15..edad2452be 100644 --- a/src/xdg-autostart-generator/test-xdg-autostart.c +++ b/src/xdg-autostart-generator/test-xdg-autostart.c @@ -7,6 +7,7 @@ #include "strv.h" #include "tests.h" #include "tmpfile-util.h" +#include "user-util.h" #include "xdg-autostart-service.h" TEST(translate_name) { From d9ccf6b349bde6a96ea52a26bc3a023090e8069b Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 5 May 2025 12:18:39 +0200 Subject: [PATCH 3/9] path-util: Reduce transitive includes --- src/basic/btrfs.c | 2 ++ src/basic/capsule-util.c | 1 + src/basic/chase.c | 1 + src/basic/devnum-util.c | 1 + src/basic/fileio.c | 1 + src/basic/path-util.c | 31 ++++++++++++++++ src/basic/path-util.h | 35 +++---------------- src/basic/sync-util.c | 2 ++ src/basic/sysctl-util.c | 1 + src/basic/unit-name.c | 1 + src/basic/virt.c | 1 + src/bless-boot/bless-boot.c | 1 + src/core/ipe-setup.c | 1 + src/creds/creds.c | 1 + src/journal/journalctl-catalog.c | 1 + src/journal/journalctl-filter.c | 1 + src/journal/journalctl-misc.c | 2 ++ src/journal/journald-native.c | 1 + src/libsystemd/sd-device/device-filter.c | 1 + src/libsystemd/sd-event/sd-event.c | 1 + src/libsystemd/sd-json/json-util.c | 2 ++ src/login/user-runtime-dir.c | 1 + src/network/networkctl-config-file.c | 1 + src/nsresourced/userns-registry.c | 1 + src/pcrlock/pcrlock.c | 1 + src/shared/boot-entry.c | 2 ++ src/shared/bus-util.c | 2 ++ src/shared/dev-setup.c | 1 + src/shared/format-table.c | 1 + src/shared/journal-file-util.c | 1 + src/shared/numa-util.c | 1 + src/shared/open-file.c | 1 + src/shared/parse-argument.c | 1 + src/shared/parse-helpers.c | 2 ++ src/shared/selinux-util.c | 1 + src/shared/shift-uid.c | 1 + src/shared/vpick.c | 2 ++ src/shared/wall.c | 1 + src/shared/watchdog.c | 1 + .../system-update-generator.c | 1 + src/test/test-cgroup.c | 1 + src/test/test-mountpoint-util.c | 1 + src/test/test-terminal-util.c | 1 + src/tmpfiles/offline-passwd.c | 2 ++ src/udev/udevadm-util.c | 1 + src/varlinkctl/varlinkctl.c | 1 + src/veritysetup/veritysetup-generator.c | 1 + src/vmspawn/vmspawn-mount.c | 1 + 48 files changed, 90 insertions(+), 31 deletions(-) diff --git a/src/basic/btrfs.c b/src/basic/btrfs.c index dc2d6a5ddb..7d5c35605d 100644 --- a/src/basic/btrfs.c +++ b/src/basic/btrfs.c @@ -3,11 +3,13 @@ #include #include +#include "alloc-util.h" #include "btrfs.h" #include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "path-util.h" +#include "string-util.h" int btrfs_validate_subvolume_name(const char *name) { diff --git a/src/basic/capsule-util.c b/src/basic/capsule-util.c index 3689a78a8b..d2d6b19448 100644 --- a/src/basic/capsule-util.c +++ b/src/basic/capsule-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "capsule-util.h" #include "path-util.h" #include "user-util.h" diff --git a/src/basic/chase.c b/src/basic/chase.c index 954586dbf0..88cd840544 100644 --- a/src/basic/chase.c +++ b/src/basic/chase.c @@ -12,6 +12,7 @@ #include "log.h" #include "path-util.h" #include "string-util.h" +#include "strv.h" #include "user-util.h" bool unsafe_transition(const struct stat *a, const struct stat *b) { diff --git a/src/basic/devnum-util.c b/src/basic/devnum-util.c index 652740cea7..ab4da865f2 100644 --- a/src/basic/devnum-util.c +++ b/src/basic/devnum-util.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "chase.h" #include "devnum-util.h" #include "parse-util.h" diff --git a/src/basic/fileio.c b/src/basic/fileio.c index c5eedc312b..509514512d 100644 --- a/src/basic/fileio.c +++ b/src/basic/fileio.c @@ -29,6 +29,7 @@ #include "socket-util.h" #include "stdio-util.h" #include "string-util.h" +#include "strv.h" #include "sync-util.h" #include "terminal-util.h" #include "tmpfile-util.h" diff --git a/src/basic/path-util.c b/src/basic/path-util.c index dff1b0ebe4..64e42b2a23 100644 --- a/src/basic/path-util.c +++ b/src/basic/path-util.c @@ -22,6 +22,13 @@ #include "strv.h" #include "time-util.h" +bool is_path(const char *p) { + if (!p) /* A NULL pointer is definitely not a path */ + return false; + + return strchr(p, '/'); +} + int path_split_and_make_absolute(const char *p, char ***ret) { _cleanup_strv_free_ char **l = NULL; int r; @@ -345,6 +352,10 @@ char** path_strv_resolve_uniq(char **l, const char *root) { return strv_uniq(l); } +char* skip_leading_slash(const char *p) { + return skip_leading_chars(p, "/"); +} + char* path_simplify_full(char *path, PathSimplifyFlags flags) { bool add_slash = false, keep_trailing_slash, absolute, beginning = true; char *f = path; @@ -406,6 +417,22 @@ char* path_simplify_full(char *path, PathSimplifyFlags flags) { return path; } +int path_simplify_alloc(const char *path, char **ret) { + assert(ret); + + if (!path) { + *ret = NULL; + return 0; + } + + char *t = strdup(path); + if (!t) + return -ENOMEM; + + *ret = path_simplify(t); + return 0; +} + char* path_startswith_full(const char *path, const char *prefix, bool accept_dot_dot) { assert(path); assert(prefix); @@ -1361,6 +1388,10 @@ bool empty_or_root(const char *path) { return path_equal(path, "/"); } +const char* empty_to_root(const char *path) { + return isempty(path) ? "/" : path; +} + bool path_strv_contains(char * const *l, const char *path) { assert(path); diff --git a/src/basic/path-util.h b/src/basic/path-util.h index 74406d7698..647a884e39 100644 --- a/src/basic/path-util.h +++ b/src/basic/path-util.h @@ -1,14 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include #include #include #include "macro.h" -#include "stat-util.h" -#include "string-util.h" -#include "strv.h" #include "time-util.h" #define PATH_SPLIT_BIN(x) x "sbin:" x "bin" @@ -32,12 +28,7 @@ static inline const char* default_user_PATH(void) { #endif } -static inline bool is_path(const char *p) { - if (!p) /* A NULL pointer is definitely not a path */ - return false; - - return strchr(p, '/'); -} +bool is_path(const char *p) _pure_; static inline bool path_is_absolute(const char *p) { if (!p) /* A NULL pointer is definitely not an absolute path */ @@ -76,9 +67,7 @@ char* path_extend_internal(char **x, ...); #define path_extend(x, ...) path_extend_internal(x, __VA_ARGS__, POINTER_MAX) #define path_join(...) path_extend_internal(NULL, __VA_ARGS__, POINTER_MAX) -static inline char* skip_leading_slash(const char *p) { - return skip_leading_chars(p, "/"); -} +char* skip_leading_slash(const char *p) _pure_; typedef enum PathSimplifyFlags { PATH_SIMPLIFY_KEEP_TRAILING_SLASH = 1 << 0, @@ -89,21 +78,7 @@ static inline char* path_simplify(char *path) { return path_simplify_full(path, 0); } -static inline int path_simplify_alloc(const char *path, char **ret) { - assert(ret); - - if (!path) { - *ret = NULL; - return 0; - } - - char *t = strdup(path); - if (!t) - return -ENOMEM; - - *ret = path_simplify(t); - return 0; -} +int path_simplify_alloc(const char *path, char **ret); /* Note: the search terminates on the first NULL item. */ #define PATH_IN_SET(p, ...) path_strv_contains(STRV_MAKE(__VA_ARGS__), p) @@ -195,9 +170,7 @@ static inline const char* skip_dev_prefix(const char *p) { } bool empty_or_root(const char *path); -static inline const char* empty_to_root(const char *path) { - return isempty(path) ? "/" : path; -} +const char* empty_to_root(const char *path) _pure_; bool path_strv_contains(char * const *l, const char *path); bool prefixed_path_strv_contains(char * const *l, const char *path); diff --git a/src/basic/sync-util.c b/src/basic/sync-util.c index 4f0d41848a..eb9c9f1a6e 100644 --- a/src/basic/sync-util.c +++ b/src/basic/sync-util.c @@ -3,11 +3,13 @@ #include #include +#include "alloc-util.h" #include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "log.h" #include "path-util.h" +#include "string-util.h" #include "sync-util.h" int fsync_directory_of_file(int fd) { diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c index da6e4c58d4..5ffb31ec01 100644 --- a/src/basic/sysctl-util.c +++ b/src/basic/sysctl-util.c @@ -6,6 +6,7 @@ #include #include "af-list.h" +#include "alloc-util.h" #include "fd-util.h" #include "fileio.h" #include "log.h" diff --git a/src/basic/unit-name.c b/src/basic/unit-name.c index 5554f04bb7..f38f6386c1 100644 --- a/src/basic/unit-name.c +++ b/src/basic/unit-name.c @@ -9,6 +9,7 @@ #include "alloc-util.h" #include "glob-util.h" +#include "hash-funcs.h" #include "hexdecoct.h" #include "log.h" #include "memory-util.h" diff --git a/src/basic/virt.c b/src/basic/virt.c index dbb035a94a..e07cee72cf 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -13,6 +13,7 @@ #include "dirent-util.h" #include "env-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "log.h" diff --git a/src/bless-boot/bless-boot.c b/src/bless-boot/bless-boot.c index 61b882c505..b3205dec36 100644 --- a/src/bless-boot/bless-boot.c +++ b/src/bless-boot/bless-boot.c @@ -18,6 +18,7 @@ #include "parse-util.h" #include "path-util.h" #include "pretty-print.h" +#include "strv.h" #include "sync-util.h" #include "terminal-util.h" #include "verbs.h" diff --git a/src/core/ipe-setup.c b/src/core/ipe-setup.c index 60396f7bdd..b6ae89e03a 100644 --- a/src/core/ipe-setup.c +++ b/src/core/ipe-setup.c @@ -8,6 +8,7 @@ #include "log.h" #include "nulstr-util.h" #include "path-util.h" +#include "strv.h" #define IPE_SECFS_DIR "/sys/kernel/security/ipe" #define IPE_SECFS_NEW_POLICY IPE_SECFS_DIR "/new_policy" diff --git a/src/creds/creds.c b/src/creds/creds.c index 343030b5fb..7295bb7bd1 100644 --- a/src/creds/creds.c +++ b/src/creds/creds.c @@ -29,6 +29,7 @@ #include "process-util.h" #include "stat-util.h" #include "string-table.h" +#include "strv.h" #include "terminal-util.h" #include "tpm2-pcr.h" #include "tpm2-util.h" diff --git a/src/journal/journalctl-catalog.c b/src/journal/journalctl-catalog.c index 55a8c3d26d..a35b0a64a3 100644 --- a/src/journal/journalctl-catalog.c +++ b/src/journal/journalctl-catalog.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "catalog.h" #include "journalctl.h" #include "journalctl-catalog.h" diff --git a/src/journal/journalctl-filter.c b/src/journal/journalctl-filter.c index 2d8981ac77..ba7ec5a310 100644 --- a/src/journal/journalctl-filter.c +++ b/src/journal/journalctl-filter.c @@ -14,6 +14,7 @@ #include "logs-show.h" #include "missing_sched.h" #include "path-util.h" +#include "strv.h" #include "unit-name.h" static int add_invocation(sd_journal *j) { diff --git a/src/journal/journalctl-misc.c b/src/journal/journalctl-misc.c index 4e8ecda33b..e8dc135e77 100644 --- a/src/journal/journalctl-misc.c +++ b/src/journal/journalctl-misc.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "dirent-util.h" #include "fd-util.h" #include "format-table.h" @@ -11,6 +12,7 @@ #include "journalctl-util.h" #include "log.h" #include "logs-show.h" +#include "strv.h" #include "syslog-util.h" int action_print_header(void) { diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c index 0600102d32..2cb6e9e988 100644 --- a/src/journal/journald-native.c +++ b/src/journal/journald-native.c @@ -27,6 +27,7 @@ #include "process-util.h" #include "selinux-util.h" #include "socket-util.h" +#include "stat-util.h" #include "string-util.h" #include "strv.h" #include "unaligned.h" diff --git a/src/libsystemd/sd-device/device-filter.c b/src/libsystemd/sd-device/device-filter.c index 4101e7d2ba..579c944015 100644 --- a/src/libsystemd/sd-device/device-filter.c +++ b/src/libsystemd/sd-device/device-filter.c @@ -4,6 +4,7 @@ #include "device-filter.h" #include "path-util.h" +#include "strv.h" int update_match_strv(Hashmap **match_strv, const char *key, const char *value, bool clear_on_null) { char **strv; diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index 3f9e21505a..5e055330e0 100644 --- a/src/libsystemd/sd-event/sd-event.c +++ b/src/libsystemd/sd-event/sd-event.c @@ -38,6 +38,7 @@ #include "stat-util.h" #include "string-table.h" #include "string-util.h" +#include "strv.h" #include "strxcpyx.h" #include "time-util.h" diff --git a/src/libsystemd/sd-json/json-util.c b/src/libsystemd/sd-json/json-util.c index 9bc12febe7..0fb5e87df7 100644 --- a/src/libsystemd/sd-json/json-util.c +++ b/src/libsystemd/sd-json/json-util.c @@ -14,7 +14,9 @@ #include "parse-util.h" #include "path-util.h" #include "process-util.h" +#include "stat-util.h" #include "string-util.h" +#include "strv.h" #include "syslog-util.h" #include "user-util.h" diff --git a/src/login/user-runtime-dir.c b/src/login/user-runtime-dir.c index 0b3e977d5c..63a0a166c0 100644 --- a/src/login/user-runtime-dir.c +++ b/src/login/user-runtime-dir.c @@ -26,6 +26,7 @@ #include "rm-rf.h" #include "selinux-util.h" #include "smack-util.h" +#include "stat-util.h" #include "stdio-util.h" #include "string-util.h" #include "strv.h" diff --git a/src/network/networkctl-config-file.c b/src/network/networkctl-config-file.c index 782cc6a4e8..7a57b3ff29 100644 --- a/src/network/networkctl-config-file.c +++ b/src/network/networkctl-config-file.c @@ -25,6 +25,7 @@ #include "path-util.h" #include "pretty-print.h" #include "selinux-util.h" +#include "stat-util.h" #include "string-table.h" #include "strv.h" #include "virt.h" diff --git a/src/nsresourced/userns-registry.c b/src/nsresourced/userns-registry.c index c898dbe76e..5e39c3844e 100644 --- a/src/nsresourced/userns-registry.c +++ b/src/nsresourced/userns-registry.c @@ -13,6 +13,7 @@ #include "path-util.h" #include "recurse-dir.h" #include "rm-rf.h" +#include "strv.h" #include "user-util.h" #include "userns-registry.h" diff --git a/src/pcrlock/pcrlock.c b/src/pcrlock/pcrlock.c index 8dcea20520..a5cf892953 100644 --- a/src/pcrlock/pcrlock.c +++ b/src/pcrlock/pcrlock.c @@ -49,6 +49,7 @@ #include "recovery-key.h" #include "sort-util.h" #include "string-table.h" +#include "strv.h" #include "terminal-util.h" #include "tpm2-util.h" #include "unaligned.h" diff --git a/src/shared/boot-entry.c b/src/shared/boot-entry.c index ea474d0dca..cbade699a2 100644 --- a/src/shared/boot-entry.c +++ b/src/shared/boot-entry.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "boot-entry.h" #include "chase.h" #include "fd-util.h" @@ -10,6 +11,7 @@ #include "path-util.h" #include "string-table.h" #include "string-util.h" +#include "strv.h" #include "utf8.h" bool boot_entry_token_valid(const char *p) { diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c index 764548339d..82153b1451 100644 --- a/src/shared/bus-util.c +++ b/src/shared/bus-util.c @@ -14,6 +14,7 @@ #include "sd-event.h" #include "sd-id128.h" +#include "alloc-util.h" #include "bus-common-errors.h" #include "bus-internal.h" #include "bus-label.h" @@ -31,6 +32,7 @@ #include "socket-util.h" #include "stdio-util.h" #include "string-table.h" +#include "strv.h" #include "uid-classification.h" static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { diff --git a/src/shared/dev-setup.c b/src/shared/dev-setup.c index eb72793c04..e0e0f7aac1 100644 --- a/src/shared/dev-setup.c +++ b/src/shared/dev-setup.c @@ -14,6 +14,7 @@ #include "mkdir-label.h" #include "nulstr-util.h" #include "path-util.h" +#include "stat-util.h" #include "terminal-util.h" #include "umask-util.h" #include "user-util.h" diff --git a/src/shared/format-table.c b/src/shared/format-table.c index 42dd583fcd..7c3539abaa 100644 --- a/src/shared/format-table.c +++ b/src/shared/format-table.c @@ -30,6 +30,7 @@ #include "sort-util.h" #include "stat-util.h" #include "string-util.h" +#include "strv.h" #include "strxcpyx.h" #include "terminal-util.h" #include "time-util.h" diff --git a/src/shared/journal-file-util.c b/src/shared/journal-file-util.c index 43ebe0a12f..74f85fadce 100644 --- a/src/shared/journal-file-util.c +++ b/src/shared/journal-file-util.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "chattr-util.h" #include "copy.h" #include "errno-util.h" diff --git a/src/shared/numa-util.c b/src/shared/numa-util.c index b479e5f776..8cc315061d 100644 --- a/src/shared/numa-util.c +++ b/src/shared/numa-util.c @@ -15,6 +15,7 @@ #include "parse-util.h" #include "stdio-util.h" #include "string-table.h" +#include "string-util.h" bool numa_policy_is_valid(const NUMAPolicy *policy) { assert(policy); diff --git a/src/shared/open-file.c b/src/shared/open-file.c index a9c2a11032..a06a78a4a7 100644 --- a/src/shared/open-file.c +++ b/src/shared/open-file.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "escape.h" #include "extract-word.h" #include "fd-util.h" diff --git a/src/shared/parse-argument.c b/src/shared/parse-argument.c index 288b68ceed..701802ec0c 100644 --- a/src/shared/parse-argument.c +++ b/src/shared/parse-argument.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "format-table.h" #include "log.h" #include "parse-argument.h" diff --git a/src/shared/parse-helpers.c b/src/shared/parse-helpers.c index 348dce5059..c6ee92afc5 100644 --- a/src/shared/parse-helpers.c +++ b/src/shared/parse-helpers.c @@ -3,6 +3,7 @@ #include #include "af-list.h" +#include "alloc-util.h" #include "extract-word.h" #include "ip-protocol-list.h" #include "log.h" @@ -10,6 +11,7 @@ #include "parse-helpers.h" #include "parse-util.h" #include "path-util.h" +#include "string-util.h" #include "utf8.h" static bool validate_api_vfs(const char *path, PathSimplifyWarnFlags flags) { diff --git a/src/shared/selinux-util.c b/src/shared/selinux-util.c index bf97dcf53e..c0c0e332e2 100644 --- a/src/shared/selinux-util.c +++ b/src/shared/selinux-util.c @@ -27,6 +27,7 @@ #include "path-util.h" #include "selinux-util.h" #include "stdio-util.h" +#include "string-util.h" #include "time-util.h" #if HAVE_SELINUX diff --git a/src/shared/shift-uid.c b/src/shared/shift-uid.c index d723fa911b..96f22cdf50 100644 --- a/src/shared/shift-uid.c +++ b/src/shared/shift-uid.c @@ -3,6 +3,7 @@ #include #include "acl-util.h" +#include "alloc-util.h" #include "dirent-util.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/shared/vpick.c b/src/shared/vpick.c index 2652633f37..ccde661ca5 100644 --- a/src/shared/vpick.c +++ b/src/shared/vpick.c @@ -11,6 +11,8 @@ #include "parse-util.h" #include "path-util.h" #include "recurse-dir.h" +#include "string-util.h" +#include "strv.h" #include "vpick.h" void pick_result_done(PickResult *p) { diff --git a/src/shared/wall.c b/src/shared/wall.c index 11048f39aa..eed7c652dd 100644 --- a/src/shared/wall.c +++ b/src/shared/wall.c @@ -12,6 +12,7 @@ #include "io-util.h" #include "path-util.h" #include "string-util.h" +#include "strv.h" #include "terminal-util.h" #include "user-util.h" #include "utmp-wtmp.h" diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c index 3466d1aa07..815eb158e8 100644 --- a/src/shared/watchdog.c +++ b/src/shared/watchdog.c @@ -17,6 +17,7 @@ #include "path-util.h" #include "ratelimit.h" #include "string-util.h" +#include "strv.h" #include "time-util.h" #include "watchdog.h" diff --git a/src/system-update-generator/system-update-generator.c b/src/system-update-generator/system-update-generator.c index 8be8879dec..d76437745b 100644 --- a/src/system-update-generator/system-update-generator.c +++ b/src/system-update-generator/system-update-generator.c @@ -11,6 +11,7 @@ #include "proc-cmdline.h" #include "special.h" #include "string-util.h" +#include "strv.h" #include "unit-file.h" /* diff --git a/src/test/test-cgroup.c b/src/test/test-cgroup.c index 363a7beeaf..8ca6eb1b9d 100644 --- a/src/test/test-cgroup.c +++ b/src/test/test-cgroup.c @@ -8,6 +8,7 @@ #include "fd-util.h" #include "path-util.h" #include "process-util.h" +#include "stat-util.h" #include "string-util.h" #include "tests.h" diff --git a/src/test/test-mountpoint-util.c b/src/test/test-mountpoint-util.c index 32a3b927e5..51d3e69be7 100644 --- a/src/test/test-mountpoint-util.c +++ b/src/test/test-mountpoint-util.c @@ -14,6 +14,7 @@ #include "mountpoint-util.h" #include "path-util.h" #include "rm-rf.h" +#include "stat-util.h" #include "string-util.h" #include "tests.h" #include "tmpfile-util.h" diff --git a/src/test/test-terminal-util.c b/src/test/test-terminal-util.c index 907a6c5c73..4b7f23cf51 100644 --- a/src/test/test-terminal-util.c +++ b/src/test/test-terminal-util.c @@ -15,6 +15,7 @@ #include "macro.h" #include "path-util.h" #include "process-util.h" +#include "stat-util.h" #include "strv.h" #include "terminal-util.h" #include "tests.h" diff --git a/src/tmpfiles/offline-passwd.c b/src/tmpfiles/offline-passwd.c index b4b16fcd52..48244d18b8 100644 --- a/src/tmpfiles/offline-passwd.c +++ b/src/tmpfiles/offline-passwd.c @@ -1,10 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "chase.h" #include "fd-util.h" #include "log.h" #include "offline-passwd.h" #include "path-util.h" +#include "strv.h" #include "user-util.h" DEFINE_PRIVATE_HASH_OPS_WITH_KEY_DESTRUCTOR(uid_gid_hash_ops, char, string_hash_func, string_compare_func, free); diff --git a/src/udev/udevadm-util.c b/src/udev/udevadm-util.c index ed69dd1795..5bede0e4da 100644 --- a/src/udev/udevadm-util.c +++ b/src/udev/udevadm-util.c @@ -12,6 +12,7 @@ #include "log.h" #include "path-util.h" #include "string-table.h" +#include "strv.h" #include "udev-ctrl.h" #include "udev-rules.h" #include "udev-varlink.h" diff --git a/src/varlinkctl/varlinkctl.c b/src/varlinkctl/varlinkctl.c index 75c656d13c..e5ce16d1cd 100644 --- a/src/varlinkctl/varlinkctl.c +++ b/src/varlinkctl/varlinkctl.c @@ -19,6 +19,7 @@ #include "path-util.h" #include "pretty-print.h" #include "process-util.h" +#include "strv.h" #include "terminal-util.h" #include "varlink-idl-util.h" #include "varlink-util.h" diff --git a/src/veritysetup/veritysetup-generator.c b/src/veritysetup/veritysetup-generator.c index 6335775d43..5ec9970529 100644 --- a/src/veritysetup/veritysetup-generator.c +++ b/src/veritysetup/veritysetup-generator.c @@ -20,6 +20,7 @@ #include "proc-cmdline.h" #include "specifier.h" #include "string-util.h" +#include "strv.h" #include "unit-name.h" static const char *arg_dest = NULL; diff --git a/src/vmspawn/vmspawn-mount.c b/src/vmspawn/vmspawn-mount.c index 1845a872f2..a57baaa3e8 100644 --- a/src/vmspawn/vmspawn-mount.c +++ b/src/vmspawn/vmspawn-mount.c @@ -5,6 +5,7 @@ #include "macro.h" #include "parse-argument.h" #include "path-util.h" +#include "stat-util.h" #include "string-util.h" #include "vmspawn-mount.h" From 6553db6063b6419c0bb157ca1148ad999aaa26a0 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 5 May 2025 13:27:39 +0200 Subject: [PATCH 4/9] strv: Reduce transitive includes --- src/analyze/analyze-calendar.c | 1 + src/analyze/analyze-chid.c | 1 + src/analyze/analyze-dot.c | 1 + src/analyze/analyze-fdstore.c | 1 + src/analyze/analyze-filesystems.c | 1 + src/analyze/analyze-inspect-elf.c | 1 + src/analyze/analyze-plot.c | 1 + src/analyze/analyze-smbios11.c | 1 + src/analyze/analyze-syscall-filter.c | 1 + src/analyze/analyze-time-data.c | 1 + src/analyze/analyze-time.c | 1 + src/analyze/analyze-unit-files.c | 3 +++ src/basic/conf-files.c | 1 + src/basic/glyph-util.c | 2 ++ src/basic/log-context.c | 1 + src/basic/log.c | 1 + src/basic/nulstr-util.c | 1 + src/basic/strv.c | 22 +++++++++++++++ src/basic/strv.h | 27 +++++-------------- src/basic/terminal-util.c | 1 + src/basic/time-util.c | 1 + src/basic/user-util.c | 1 + src/bootctl/bootctl-status.c | 1 + src/core/apparmor-setup.c | 1 + src/core/ipe-setup.c | 2 ++ src/core/manager-dump.c | 2 ++ src/core/taint.c | 1 + src/core/unit.c | 1 + src/cryptenroll/cryptenroll.c | 1 + src/cryptsetup/cryptsetup-keyfile.c | 1 + src/cryptsetup/cryptsetup.c | 1 + src/delta/delta.c | 1 + src/dissect/dissect.c | 1 + src/fstab-generator/fstab-generator.c | 1 + src/fuzz/fuzz-bootspec.c | 1 + src/getty-generator/getty-generator.c | 1 + src/home/home-util.c | 1 + src/home/homectl-fido2.c | 1 + src/home/homectl.c | 1 + src/home/homed-bus.c | 1 + src/home/homed-home-bus.c | 1 + src/home/homed-operation.c | 1 + src/home/homework-password-cache.c | 1 + src/home/homework-pkcs11.c | 1 + src/home/pam_systemd_home.c | 1 + src/home/user-record-password-quality.c | 1 + src/home/user-record-util.c | 1 + src/import/import-generator.c | 1 + src/journal/journalctl-filter.c | 1 + src/journal/journalctl-util.c | 2 ++ src/journal/journald-client.c | 1 + src/kernel-install/kernel-install.c | 1 + src/libsystemd-network/sd-dns-resolver.c | 1 + src/libsystemd/sd-daemon/sd-daemon.c | 1 + src/libsystemd/sd-device/device-enumerator.c | 1 + src/libsystemd/sd-device/device-filter.c | 1 + src/libsystemd/sd-device/device-util.c | 20 ++++++++++++++ src/libsystemd/sd-device/device-util.h | 20 +------------- src/libsystemd/sd-network/network-util.c | 1 + src/libsystemd/sd-network/sd-network.c | 1 + src/libsystemd/sd-varlink/sd-varlink-idl.c | 1 + src/locale/localed-util.c | 2 ++ src/login/pam_systemd.c | 1 + src/login/pam_systemd_loadkey.c | 1 + src/network/generator/network-generator.c | 1 + src/network/networkctl-config-file.c | 2 ++ src/network/networkctl-dump-util.c | 1 + src/network/networkctl-status-link.c | 1 + src/network/networkctl-status-system.c | 1 + src/network/networkctl-util.c | 1 + src/nspawn/nspawn-bind-user.c | 1 + src/nspawn/nspawn-network.c | 1 + src/nspawn/nspawn-setuid.c | 1 + src/nss-systemd/nss-systemd.c | 1 + src/resolve/resolved-util.c | 1 + src/shared/acl-util.c | 1 + src/shared/bootspec.c | 1 + src/shared/bus-object.c | 1 + src/shared/bus-print-properties.c | 1 + src/shared/bus-wait-for-units.c | 1 + src/shared/clean-ipc.c | 1 + src/shared/dissect-image.c | 2 ++ src/shared/fdisk-util.c | 1 + src/shared/fstab-util.c | 1 + src/shared/group-record.c | 1 + src/shared/install-printf.c | 1 + src/shared/journal-util.c | 1 + src/shared/kbd-util.c | 1 + src/shared/libfido2-util.c | 1 + src/shared/locale-setup.c | 1 + src/shared/net-condition.c | 1 + src/shared/password-quality-util-pwquality.c | 2 ++ src/shared/pcrextend-util.c | 1 + src/shared/sleep-config.c | 1 + src/shared/tests.h | 1 + src/shared/unit-file.c | 1 + src/shared/user-record-nss.c | 1 + src/shared/user-record.c | 1 + src/shared/userdb-dropin.c | 1 + src/shared/userdb.c | 1 + src/shared/varlink-io.systemd.service.c | 1 + src/shared/vconsole-util.c | 2 ++ src/shared/verb-log-control.c | 1 + src/shared/vpick.c | 1 + src/shared/wall.c | 1 + src/shared/watchdog.c | 1 + src/ssh-generator/ssh-generator.c | 1 + src/systemctl/systemctl-list-jobs.c | 2 ++ src/systemctl/systemctl-list-machines.c | 1 + src/systemctl/systemctl-list-unit-files.c | 2 ++ src/systemctl/systemctl-mount.c | 1 + src/systemctl/systemctl-util.c | 1 + src/sysupdate/sysupdate-transfer.c | 1 + src/test/test-execute.c | 1 + src/test/test-hostname-setup.c | 1 + src/test/test-strv.c | 2 ++ src/test/test-unit-name.c | 1 + src/udev/iocost/iocost.c | 1 + src/udev/udev-builtin.c | 1 + src/udev/udev-rules.c | 2 ++ src/udev/udev-spawn.c | 1 + src/udev/udevadm-info.c | 1 + src/veritysetup/veritysetup.c | 1 + src/vmspawn/vmspawn-util.c | 1 + .../xdg-autostart-condition.c | 1 + .../xdg-autostart-service.c | 2 ++ 126 files changed, 187 insertions(+), 40 deletions(-) diff --git a/src/analyze/analyze-calendar.c b/src/analyze/analyze-calendar.c index b3afa1d4b0..21e7c79c80 100644 --- a/src/analyze/analyze-calendar.c +++ b/src/analyze/analyze-calendar.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-calendar.h" #include "calendarspec.h" diff --git a/src/analyze/analyze-chid.c b/src/analyze/analyze-chid.c index 43ca408af0..01e49965f8 100644 --- a/src/analyze/analyze-chid.c +++ b/src/analyze/analyze-chid.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-chid.h" #include "chid-fundamental.h" diff --git a/src/analyze/analyze-dot.c b/src/analyze/analyze-dot.c index b93bf4a9a5..4a87c0c1f1 100644 --- a/src/analyze/analyze-dot.c +++ b/src/analyze/analyze-dot.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-dot.h" #include "bus-error.h" diff --git a/src/analyze/analyze-fdstore.c b/src/analyze/analyze-fdstore.c index 01ee241fc9..8eb09dbd15 100644 --- a/src/analyze/analyze-fdstore.c +++ b/src/analyze/analyze-fdstore.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-fdstore.h" #include "bus-error.h" diff --git a/src/analyze/analyze-filesystems.c b/src/analyze/analyze-filesystems.c index 8ec542ec7a..4ba12ad3e3 100644 --- a/src/analyze/analyze-filesystems.c +++ b/src/analyze/analyze-filesystems.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-filesystems.h" #include "fileio.h" diff --git a/src/analyze/analyze-inspect-elf.c b/src/analyze/analyze-inspect-elf.c index 0f78729c3a..df12f3b36f 100644 --- a/src/analyze/analyze-inspect-elf.c +++ b/src/analyze/analyze-inspect-elf.c @@ -2,6 +2,7 @@ #include "sd-json.h" +#include "alloc-util.h" #include "analyze.h" #include "analyze-inspect-elf.h" #include "chase.h" diff --git a/src/analyze/analyze-plot.c b/src/analyze/analyze-plot.c index 0dc562b596..5e0df52aaf 100644 --- a/src/analyze/analyze-plot.c +++ b/src/analyze/analyze-plot.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-plot.h" #include "analyze-time-data.h" diff --git a/src/analyze/analyze-smbios11.c b/src/analyze/analyze-smbios11.c index e9d82bbbd3..8deffe90f1 100644 --- a/src/analyze/analyze-smbios11.c +++ b/src/analyze/analyze-smbios11.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-smbios11.h" #include "escape.h" diff --git a/src/analyze/analyze-syscall-filter.c b/src/analyze/analyze-syscall-filter.c index b9522ca49d..593d6afb20 100644 --- a/src/analyze/analyze-syscall-filter.c +++ b/src/analyze/analyze-syscall-filter.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-syscall-filter.h" #include "fd-util.h" diff --git a/src/analyze/analyze-time-data.c b/src/analyze/analyze-time-data.c index 89198dff2d..ccc7dadbc1 100644 --- a/src/analyze/analyze-time-data.c +++ b/src/analyze/analyze-time-data.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-time-data.h" #include "bus-error.h" diff --git a/src/analyze/analyze-time.c b/src/analyze/analyze-time.c index 8135112dec..390b1d8e7e 100644 --- a/src/analyze/analyze-time.c +++ b/src/analyze/analyze-time.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-time.h" #include "analyze-time-data.h" diff --git a/src/analyze/analyze-unit-files.c b/src/analyze/analyze-unit-files.c index e0c4867c78..e00c157abc 100644 --- a/src/analyze/analyze-unit-files.c +++ b/src/analyze/analyze-unit-files.c @@ -1,5 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + +#include "alloc-util.h" #include "analyze.h" #include "analyze-unit-files.h" #include "path-lookup.h" diff --git a/src/basic/conf-files.c b/src/basic/conf-files.c index 85db567a5b..552b03a0d0 100644 --- a/src/basic/conf-files.c +++ b/src/basic/conf-files.c @@ -5,6 +5,7 @@ #include #include +#include "alloc-util.h" #include "chase.h" #include "conf-files.h" #include "constants.h" diff --git a/src/basic/glyph-util.c b/src/basic/glyph-util.c index 330872bad3..87944a13d4 100644 --- a/src/basic/glyph-util.c +++ b/src/basic/glyph-util.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "env-util.h" #include "glyph-util.h" #include "locale-util.h" diff --git a/src/basic/log-context.c b/src/basic/log-context.c index 4ad0864ef7..8ab468ed9d 100644 --- a/src/basic/log-context.c +++ b/src/basic/log-context.c @@ -6,6 +6,7 @@ #include "iovec-util.h" #include "log.h" #include "log-context.h" +#include "string-util.h" #include "strv.h" static int saved_log_context_enabled = -1; diff --git a/src/basic/log.c b/src/basic/log.c index 3d2346f686..982b247326 100644 --- a/src/basic/log.c +++ b/src/basic/log.c @@ -21,6 +21,7 @@ #include "argv-util.h" #include "env-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "format-util.h" #include "iovec-util.h" diff --git a/src/basic/nulstr-util.c b/src/basic/nulstr-util.c index 7097a2cc12..3a98c5e444 100644 --- a/src/basic/nulstr-util.c +++ b/src/basic/nulstr-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "nulstr-util.h" #include "string-util.h" #include "strv.h" diff --git a/src/basic/strv.c b/src/basic/strv.c index 76b86cbec8..67e3d4f4cc 100644 --- a/src/basic/strv.c +++ b/src/basic/strv.c @@ -405,6 +405,15 @@ int strv_split_newlines_full(char ***ret, const char *s, ExtractFlags flags) { return n; } +char** strv_split_newlines(const char *s) { + char **ret; + + if (strv_split_newlines_full(&ret, s, 0) < 0) + return NULL; + + return ret; +} + int strv_split_full(char ***t, const char *s, const char *separators, ExtractFlags flags) { _cleanup_strv_free_ char **l = NULL; size_t n = 0; @@ -440,6 +449,15 @@ int strv_split_full(char ***t, const char *s, const char *separators, ExtractFla return (int) n; } +char** strv_split(const char *s, const char *separators) { + char **ret; + + if (strv_split_full(&ret, s, separators, EXTRACT_RETAIN_ESCAPE) < 0) + return NULL; + + return ret; +} + int strv_split_and_extend_full(char ***t, const char *s, const char *separators, bool filter_duplicates, ExtractFlags flags) { char **l; int r; @@ -458,6 +476,10 @@ int strv_split_and_extend_full(char ***t, const char *s, const char *separators, return (int) strv_length(*t); } +int strv_split_and_extend(char ***t, const char *s, const char *separators, bool filter_duplicates) { + return strv_split_and_extend_full(t, s, separators, filter_duplicates, 0); +} + int strv_split_colon_pairs(char ***t, const char *s) { _cleanup_strv_free_ char **l = NULL; size_t n = 0; diff --git a/src/basic/strv.h b/src/basic/strv.h index 0f2c251fe1..08bcaea8b9 100644 --- a/src/basic/strv.h +++ b/src/basic/strv.h @@ -1,17 +1,16 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include #include #include #include #include #include "alloc-util.h" -#include "extract-word.h" #include "hashmap.h" -#include "macro.h" -#include "string-util.h" +#include "memory-util.h" + +typedef enum ExtractFlags ExtractFlags; char* strv_find(char * const *l, const char *name) _pure_; char* strv_find_case(char * const *l, const char *name) _pure_; @@ -113,27 +112,13 @@ static inline bool strv_isempty(char * const *l) { } int strv_split_full(char ***t, const char *s, const char *separators, ExtractFlags flags); -static inline char** strv_split(const char *s, const char *separators) { - char **ret; - - if (strv_split_full(&ret, s, separators, EXTRACT_RETAIN_ESCAPE) < 0) - return NULL; - - return ret; -} +char** strv_split(const char *s, const char *separators); int strv_split_and_extend_full(char ***t, const char *s, const char *separators, bool filter_duplicates, ExtractFlags flags); -#define strv_split_and_extend(t, s, sep, dup) strv_split_and_extend_full(t, s, sep, dup, 0) +int strv_split_and_extend(char ***t, const char *s, const char *separators, bool filter_duplicates); int strv_split_newlines_full(char ***ret, const char *s, ExtractFlags flags); -static inline char** strv_split_newlines(const char *s) { - char **ret; - - if (strv_split_newlines_full(&ret, s, 0) < 0) - return NULL; - - return ret; -} +char** strv_split_newlines(const char *s); /* Given a string containing white-space separated tuples of words themselves separated by ':', * returns a vector of strings. If the second element in a tuple is missing, the corresponding diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c index 6f1f17b77d..e59c8c2efe 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c @@ -27,6 +27,7 @@ #include "devnum-util.h" #include "env-util.h" #include "errno-list.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/basic/time-util.c b/src/basic/time-util.c index 59fb371e9f..86c8d71a4a 100644 --- a/src/basic/time-util.c +++ b/src/basic/time-util.c @@ -13,6 +13,7 @@ #include "alloc-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/basic/user-util.c b/src/basic/user-util.c index 96b8fb270c..eed4bac895 100644 --- a/src/basic/user-util.c +++ b/src/basic/user-util.c @@ -16,6 +16,7 @@ #include "alloc-util.h" #include "chase.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "format-util.h" diff --git a/src/bootctl/bootctl-status.c b/src/bootctl/bootctl-status.c index 1dcb869456..6021c1a5ae 100644 --- a/src/bootctl/bootctl-status.c +++ b/src/bootctl/bootctl-status.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include #include diff --git a/src/core/apparmor-setup.c b/src/core/apparmor-setup.c index a9621995ca..2dbb63e603 100644 --- a/src/core/apparmor-setup.c +++ b/src/core/apparmor-setup.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "apparmor-setup.h" #include "apparmor-util.h" #include "errno-util.h" diff --git a/src/core/ipe-setup.c b/src/core/ipe-setup.c index b6ae89e03a..5cc8b9bccc 100644 --- a/src/core/ipe-setup.c +++ b/src/core/ipe-setup.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "conf-files.h" #include "copy.h" #include "fd-util.h" @@ -8,6 +9,7 @@ #include "log.h" #include "nulstr-util.h" #include "path-util.h" +#include "string-util.h" #include "strv.h" #define IPE_SECFS_DIR "/sys/kernel/security/ipe" diff --git a/src/core/manager-dump.c b/src/core/manager-dump.c index 9cb184b4d2..e781d19129 100644 --- a/src/core/manager-dump.c +++ b/src/core/manager-dump.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "build.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/core/taint.c b/src/core/taint.c index 541d1bd133..a6b220455c 100644 --- a/src/core/taint.c +++ b/src/core/taint.c @@ -11,6 +11,7 @@ #include "log.h" #include "os-util.h" #include "path-util.h" +#include "string-util.h" #include "strv.h" #include "taint.h" #include "uid-range.h" diff --git a/src/core/unit.c b/src/core/unit.c index 6eda7b64aa..d057b8ddc9 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include +#include #include #include #include diff --git a/src/cryptenroll/cryptenroll.c b/src/cryptenroll/cryptenroll.c index fd57f11f76..51e9b70591 100644 --- a/src/cryptenroll/cryptenroll.c +++ b/src/cryptenroll/cryptenroll.c @@ -19,6 +19,7 @@ #include "devnum-util.h" #include "env-util.h" #include "escape.h" +#include "extract-word.h" #include "fileio.h" #include "libfido2-util.h" #include "main-func.h" diff --git a/src/cryptsetup/cryptsetup-keyfile.c b/src/cryptsetup/cryptsetup-keyfile.c index 348e42b3f7..d513f5d0a9 100644 --- a/src/cryptsetup/cryptsetup-keyfile.c +++ b/src/cryptsetup/cryptsetup-keyfile.c @@ -4,6 +4,7 @@ #include "fileio.h" #include "log.h" #include "path-util.h" +#include "string-util.h" #include "strv.h" int find_key_file(const char *key_file, char **search_path, const char *bindname, struct iovec *ret_key) { diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index c591cbeeeb..f873305637 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -26,6 +26,7 @@ #include "efi-loader.h" #include "env-util.h" #include "escape.h" +#include "extract-word.h" #include "fileio.h" #include "fs-util.h" #include "fstab-util.h" diff --git a/src/delta/delta.c b/src/delta/delta.c index eb53999da9..a6c0a7c1f3 100644 --- a/src/delta/delta.c +++ b/src/delta/delta.c @@ -10,6 +10,7 @@ #include "chase.h" #include "dirent-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fs-util.h" #include "glyph-util.h" diff --git a/src/dissect/dissect.c b/src/dissect/dissect.c index 6ac292f140..09cc90cf02 100644 --- a/src/dissect/dissect.c +++ b/src/dissect/dissect.c @@ -22,6 +22,7 @@ #include "dissect-image.h" #include "env-util.h" #include "escape.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "format-table.h" diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 31c4c485c0..9f4162023b 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -14,6 +14,7 @@ #include "creds-util.h" #include "efi-loader.h" #include "env-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "fstab-util.h" diff --git a/src/fuzz/fuzz-bootspec.c b/src/fuzz/fuzz-bootspec.c index 561deb5977..e3adb394f7 100644 --- a/src/fuzz/fuzz-bootspec.c +++ b/src/fuzz/fuzz-bootspec.c @@ -4,6 +4,7 @@ #include "sd-json.h" +#include "alloc-util.h" #include "bootspec.h" #include "env-util.h" #include "escape.h" diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c index 10e50f20ad..3f00810164 100644 --- a/src/getty-generator/getty-generator.c +++ b/src/getty-generator/getty-generator.c @@ -7,6 +7,7 @@ #include "alloc-util.h" #include "creds-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "generator.h" diff --git a/src/home/home-util.c b/src/home/home-util.c index cb96a7ab4e..2e5343f096 100644 --- a/src/home/home-util.c +++ b/src/home/home-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "dns-domain.h" #include "fd-util.h" #include "home-util.h" diff --git a/src/home/homectl-fido2.c b/src/home/homectl-fido2.c index f462787595..772edcf95b 100644 --- a/src/home/homectl-fido2.c +++ b/src/home/homectl-fido2.c @@ -19,6 +19,7 @@ #include "log.h" #include "memory-util.h" #include "random-util.h" +#include "string-util.h" #include "strv.h" #if HAVE_LIBFIDO2 diff --git a/src/home/homectl.c b/src/home/homectl.c index 077fe8076a..8c22066652 100644 --- a/src/home/homectl.c +++ b/src/home/homectl.c @@ -18,6 +18,7 @@ #include "dirent-util.h" #include "dns-domain.h" #include "env-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "format-table.h" diff --git a/src/home/homed-bus.c b/src/home/homed-bus.c index 74f1fd702f..5ea50ca66c 100644 --- a/src/home/homed-bus.c +++ b/src/home/homed-bus.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "fd-util.h" #include "home-util.h" #include "homed-bus.h" diff --git a/src/home/homed-home-bus.c b/src/home/homed-home-bus.c index d7cbb7b883..732f6d5e9a 100644 --- a/src/home/homed-home-bus.c +++ b/src/home/homed-home-bus.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "bus-common-errors.h" #include "bus-polkit.h" #include "fd-util.h" diff --git a/src/home/homed-operation.c b/src/home/homed-operation.c index a0ce239615..ba6e602828 100644 --- a/src/home/homed-operation.c +++ b/src/home/homed-operation.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "fd-util.h" #include "homed-operation.h" #include "log.h" diff --git a/src/home/homework-password-cache.c b/src/home/homework-password-cache.c index 107a1db379..5ffe717e2e 100644 --- a/src/home/homework-password-cache.c +++ b/src/home/homework-password-cache.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "homework-password-cache.h" #include "keyring-util.h" #include "log.h" diff --git a/src/home/homework-pkcs11.c b/src/home/homework-pkcs11.c index b1b76015b0..42e4976bfb 100644 --- a/src/home/homework-pkcs11.c +++ b/src/home/homework-pkcs11.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "hexdecoct.h" #include "homework-pkcs11.h" #include "log.h" diff --git a/src/home/pam_systemd_home.c b/src/home/pam_systemd_home.c index f32d2fb282..3bf6ffbae8 100644 --- a/src/home/pam_systemd_home.c +++ b/src/home/pam_systemd_home.c @@ -6,6 +6,7 @@ #include "sd-bus.h" +#include "alloc-util.h" #include "bus-common-errors.h" #include "bus-locator.h" #include "bus-util.h" diff --git a/src/home/user-record-password-quality.c b/src/home/user-record-password-quality.c index c60b5f0ea4..4e480b16d2 100644 --- a/src/home/user-record-password-quality.c +++ b/src/home/user-record-password-quality.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-common-errors.h" #include "errno-util.h" #include "home-util.h" diff --git a/src/home/user-record-util.c b/src/home/user-record-util.c index 7468a72512..13c7675faf 100644 --- a/src/home/user-record-util.c +++ b/src/home/user-record-util.c @@ -4,6 +4,7 @@ #include "sd-json.h" +#include "alloc-util.h" #include "errno-util.h" #include "fd-util.h" #include "home-util.h" diff --git a/src/import/import-generator.c b/src/import/import-generator.c index ad81b72355..bee4d7262f 100644 --- a/src/import/import-generator.c +++ b/src/import/import-generator.c @@ -5,6 +5,7 @@ #include "creds-util.h" #include "discover-image.h" #include "efivars.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "generator.h" diff --git a/src/journal/journalctl-filter.c b/src/journal/journalctl-filter.c index ba7ec5a310..7e739be594 100644 --- a/src/journal/journalctl-filter.c +++ b/src/journal/journalctl-filter.c @@ -2,6 +2,7 @@ #include "sd-device.h" +#include "alloc-util.h" #include "chase.h" #include "devnum-util.h" #include "fileio.h" diff --git a/src/journal/journalctl-util.c b/src/journal/journalctl-util.c index 6f393f3ffd..0e85c520ca 100644 --- a/src/journal/journalctl-util.c +++ b/src/journal/journalctl-util.c @@ -1,7 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include +#include "alloc-util.h" #include "glob-util.h" #include "id128-util.h" #include "journal-util.h" diff --git a/src/journal/journald-client.c b/src/journal/journald-client.c index 771b51b9c1..25c6401b8f 100644 --- a/src/journal/journald-client.c +++ b/src/journal/journald-client.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "cgroup-util.h" #include "errno-util.h" #include "journald-client.h" diff --git a/src/kernel-install/kernel-install.c b/src/kernel-install/kernel-install.c index 0a62d994bc..3774a129c4 100644 --- a/src/kernel-install/kernel-install.c +++ b/src/kernel-install/kernel-install.c @@ -13,6 +13,7 @@ #include "env-file.h" #include "env-util.h" #include "exec-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "find-esp.h" diff --git a/src/libsystemd-network/sd-dns-resolver.c b/src/libsystemd-network/sd-dns-resolver.c index ef06573d15..fc6d6440be 100644 --- a/src/libsystemd-network/sd-dns-resolver.c +++ b/src/libsystemd-network/sd-dns-resolver.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "dns-resolver-internal.h" #include "log.h" #include "macro.h" diff --git a/src/libsystemd/sd-daemon/sd-daemon.c b/src/libsystemd/sd-daemon/sd-daemon.c index e867859bbe..b7635a60b6 100644 --- a/src/libsystemd/sd-daemon/sd-daemon.c +++ b/src/libsystemd/sd-daemon/sd-daemon.c @@ -16,6 +16,7 @@ #include "sd-daemon.h" #include "alloc-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fs-util.h" #include "io-util.h" diff --git a/src/libsystemd/sd-device/device-enumerator.c b/src/libsystemd/sd-device/device-enumerator.c index b72a2463da..d2faff4ae3 100644 --- a/src/libsystemd/sd-device/device-enumerator.c +++ b/src/libsystemd/sd-device/device-enumerator.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include +#include #include #include "sd-device.h" diff --git a/src/libsystemd/sd-device/device-filter.c b/src/libsystemd/sd-device/device-filter.c index 579c944015..bf7d4d4be5 100644 --- a/src/libsystemd/sd-device/device-filter.c +++ b/src/libsystemd/sd-device/device-filter.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "device-filter.h" #include "path-util.h" #include "strv.h" diff --git a/src/libsystemd/sd-device/device-util.c b/src/libsystemd/sd-device/device-util.c index 123629c356..b6887217fc 100644 --- a/src/libsystemd/sd-device/device-util.c +++ b/src/libsystemd/sd-device/device-util.c @@ -148,3 +148,23 @@ bool device_is_devtype(sd_device *device, const char *devtype) { (void) sd_device_get_devtype(device, &s); return streq_ptr(s, devtype); } + +bool device_property_can_set(const char *property) { + return property && + !STR_IN_SET(property, + /* basic properties set by kernel, only in netlink event */ + "ACTION", "SEQNUM", "SYNTH_UUID", + /* basic properties set by kernel, both in netlink event and uevent file */ + "DEVPATH", "DEVPATH_OLD", "SUBSYSTEM", "DEVTYPE", "DRIVER", "MODALIAS", + /* device node */ + "DEVNAME", "DEVMODE", "DEVUID", "DEVGID", "MAJOR", "MINOR", + /* block device */ + "DISKSEQ", "PARTN", + /* network interface (INTERFACE_OLD is set by udevd) */ + "IFINDEX", "INTERFACE", "INTERFACE_OLD", + /* basic properties set by udevd */ + "DEVLINKS", "TAGS", "CURRENT_TAGS", "USEC_INITIALIZED", "UDEV_DATABASE_VERSION") && + /* Similar to SYNTH_UUID, but set based on KEY=VALUE arguments passed by userspace. + * See kernel's f36776fafbaa0094390dd4e7e3e29805e0b82730 (v4.13) */ + !startswith(property, "SYNTH_ARG_"); +} diff --git a/src/libsystemd/sd-device/device-util.h b/src/libsystemd/sd-device/device-util.h index 070e564a52..6756f22596 100644 --- a/src/libsystemd/sd-device/device-util.h +++ b/src/libsystemd/sd-device/device-util.h @@ -107,22 +107,4 @@ char** device_make_log_fields(sd_device *device); bool device_in_subsystem(sd_device *device, const char *subsystem); bool device_is_devtype(sd_device *device, const char *devtype); -static inline bool device_property_can_set(const char *property) { - return property && - !STR_IN_SET(property, - /* basic properties set by kernel, only in netlink event */ - "ACTION", "SEQNUM", "SYNTH_UUID", - /* basic properties set by kernel, both in netlink event and uevent file */ - "DEVPATH", "DEVPATH_OLD", "SUBSYSTEM", "DEVTYPE", "DRIVER", "MODALIAS", - /* device node */ - "DEVNAME", "DEVMODE", "DEVUID", "DEVGID", "MAJOR", "MINOR", - /* block device */ - "DISKSEQ", "PARTN", - /* network interface (INTERFACE_OLD is set by udevd) */ - "IFINDEX", "INTERFACE", "INTERFACE_OLD", - /* basic properties set by udevd */ - "DEVLINKS", "TAGS", "CURRENT_TAGS", "USEC_INITIALIZED", "UDEV_DATABASE_VERSION") && - /* Similar to SYNTH_UUID, but set based on KEY=VALUE arguments passed by userspace. - * See kernel's f36776fafbaa0094390dd4e7e3e29805e0b82730 (v4.13) */ - !startswith(property, "SYNTH_ARG_"); -} +bool device_property_can_set(const char *property); diff --git a/src/libsystemd/sd-network/network-util.c b/src/libsystemd/sd-network/network-util.c index 25c6e44a77..30b3d04140 100644 --- a/src/libsystemd/sd-network/network-util.c +++ b/src/libsystemd/sd-network/network-util.c @@ -5,6 +5,7 @@ #include "alloc-util.h" #include "network-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" bool network_is_online(void) { diff --git a/src/libsystemd/sd-network/sd-network.c b/src/libsystemd/sd-network/sd-network.c index a4b432b6ee..60213c2fcf 100644 --- a/src/libsystemd/sd-network/sd-network.c +++ b/src/libsystemd/sd-network/sd-network.c @@ -9,6 +9,7 @@ #include "alloc-util.h" #include "env-file.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fs-util.h" #include "inotify-util.h" diff --git a/src/libsystemd/sd-varlink/sd-varlink-idl.c b/src/libsystemd/sd-varlink/sd-varlink-idl.c index 06062783d7..3acb5a0eb6 100644 --- a/src/libsystemd/sd-varlink/sd-varlink-idl.c +++ b/src/libsystemd/sd-varlink/sd-varlink-idl.c @@ -2,6 +2,7 @@ #include "sd-varlink-idl.h" +#include "alloc-util.h" #include "ansi-color.h" #include "json-util.h" #include "log.h" diff --git a/src/locale/localed-util.c b/src/locale/localed-util.c index bc0b2b9878..067d094020 100644 --- a/src/locale/localed-util.c +++ b/src/locale/localed-util.c @@ -5,11 +5,13 @@ #include #include +#include "alloc-util.h" #include "copy.h" #include "env-file.h" #include "env-file-label.h" #include "env-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "kbd-util.h" diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c index 7b1fd1b148..d0533fc0e2 100644 --- a/src/login/pam_systemd.c +++ b/src/login/pam_systemd.c @@ -34,6 +34,7 @@ #include "creds-util.h" #include "devnum-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "format-util.h" diff --git a/src/login/pam_systemd_loadkey.c b/src/login/pam_systemd_loadkey.c index eaaff971da..cc20820851 100644 --- a/src/login/pam_systemd_loadkey.c +++ b/src/login/pam_systemd_loadkey.c @@ -13,6 +13,7 @@ #include "missing_syscall.h" #include "nulstr-util.h" #include "pam-util.h" +#include "string-util.h" #include "strv.h" /* By default, this module retrieves the key stored by systemd-cryptsetup. diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c index ab3d2d8860..eb66038c37 100644 --- a/src/network/generator/network-generator.c +++ b/src/network/generator/network-generator.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "hostname-util.h" diff --git a/src/network/networkctl-config-file.c b/src/network/networkctl-config-file.c index 7a57b3ff29..776aa5638d 100644 --- a/src/network/networkctl-config-file.c +++ b/src/network/networkctl-config-file.c @@ -7,12 +7,14 @@ #include "sd-netlink.h" #include "sd-network.h" +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "bus-util.h" #include "bus-wait-for-jobs.h" #include "conf-files.h" #include "edit-util.h" +#include "extract-word.h" #include "log.h" #include "mkdir-label.h" #include "netlink-util.h" diff --git a/src/network/networkctl-dump-util.c b/src/network/networkctl-dump-util.c index ba554ae041..a174f87272 100644 --- a/src/network/networkctl-dump-util.c +++ b/src/network/networkctl-dump-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "format-ifname.h" #include "in-addr-util.h" #include "local-addresses.h" diff --git a/src/network/networkctl-status-link.c b/src/network/networkctl-status-link.c index ac8b067fcd..8e504a4c9b 100644 --- a/src/network/networkctl-status-link.c +++ b/src/network/networkctl-status-link.c @@ -9,6 +9,7 @@ #include "bus-error.h" #include "bus-util.h" #include "escape.h" +#include "extract-word.h" #include "format-util.h" #include "geneve-util.h" #include "glyph-util.h" diff --git a/src/network/networkctl-status-system.c b/src/network/networkctl-status-system.c index a607e89264..dcd0458677 100644 --- a/src/network/networkctl-status-system.c +++ b/src/network/networkctl-status-system.c @@ -2,6 +2,7 @@ #include "sd-network.h" +#include "alloc-util.h" #include "fs-util.h" #include "glyph-util.h" #include "log.h" diff --git a/src/network/networkctl-util.c b/src/network/networkctl-util.c index 68499fc529..08cceb44e8 100644 --- a/src/network/networkctl-util.c +++ b/src/network/networkctl-util.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "ansi-color.h" #include "log.h" #include "networkctl.h" diff --git a/src/nspawn/nspawn-bind-user.c b/src/nspawn/nspawn-bind-user.c index bb5969c425..d142ec5803 100644 --- a/src/nspawn/nspawn-bind-user.c +++ b/src/nspawn/nspawn-bind-user.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "chase.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/nspawn/nspawn-network.c b/src/nspawn/nspawn-network.c index bd6c9f1fc5..cb0ebd3225 100644 --- a/src/nspawn/nspawn-network.c +++ b/src/nspawn/nspawn-network.c @@ -15,6 +15,7 @@ #include "device-private.h" #include "device-util.h" #include "ether-addr-util.h" +#include "extract-word.h" #include "fd-util.h" #include "hexdecoct.h" #include "lock-util.h" diff --git a/src/nspawn/nspawn-setuid.c b/src/nspawn/nspawn-setuid.c index 950582b225..51db3cade3 100644 --- a/src/nspawn/nspawn-setuid.c +++ b/src/nspawn/nspawn-setuid.c @@ -7,6 +7,7 @@ #include "alloc-util.h" #include "constants.h" #include "errno.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "log.h" diff --git a/src/nss-systemd/nss-systemd.c b/src/nss-systemd/nss-systemd.c index 474b8d45cf..7b9908b89e 100644 --- a/src/nss-systemd/nss-systemd.c +++ b/src/nss-systemd/nss-systemd.c @@ -5,6 +5,7 @@ #include #include +#include "alloc-util.h" #include "env-util.h" #include "errno-util.h" #include "fd-util.h" diff --git a/src/resolve/resolved-util.c b/src/resolve/resolved-util.c index 003f07a6d5..8b7f0ed44a 100644 --- a/src/resolve/resolved-util.c +++ b/src/resolve/resolved-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "dns-def.h" #include "dns-domain.h" #include "hostname-setup.h" diff --git a/src/shared/acl-util.c b/src/shared/acl-util.c index 3c9fe0d45c..db3341d083 100644 --- a/src/shared/acl-util.c +++ b/src/shared/acl-util.c @@ -8,6 +8,7 @@ #include "acl-util.h" #include "alloc-util.h" #include "errno-util.h" +#include "extract-word.h" #include "log.h" #include "string-util.h" #include "strv.h" diff --git a/src/shared/bootspec.c b/src/shared/bootspec.c index 467fce9d6b..15021ae251 100644 --- a/src/shared/bootspec.c +++ b/src/shared/bootspec.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include #include "bootspec.h" diff --git a/src/shared/bus-object.c b/src/shared/bus-object.c index 44984a4504..1fa97a1ff2 100644 --- a/src/shared/bus-object.c +++ b/src/shared/bus-object.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-introspect.h" #include "bus-object.h" #include "log.h" diff --git a/src/shared/bus-print-properties.c b/src/shared/bus-print-properties.c index 88e83497d3..9ac6ddb3a9 100644 --- a/src/shared/bus-print-properties.c +++ b/src/shared/bus-print-properties.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-print-properties.h" #include "cap-list.h" #include "cgroup-util.h" diff --git a/src/shared/bus-wait-for-units.c b/src/shared/bus-wait-for-units.c index 260b84ada0..8cb2d8ded4 100644 --- a/src/shared/bus-wait-for-units.c +++ b/src/shared/bus-wait-for-units.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-map-properties.h" #include "bus-wait-for-units.h" diff --git a/src/shared/clean-ipc.c b/src/shared/clean-ipc.c index 1e90cc2a1c..f4afa746d5 100644 --- a/src/shared/clean-ipc.c +++ b/src/shared/clean-ipc.c @@ -13,6 +13,7 @@ #include #include +#include "alloc-util.h" #include "clean-ipc.h" #include "dirent-util.h" #include "fd-util.h" diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c index db7cbd44b3..7d04e23cd2 100644 --- a/src/shared/dissect-image.c +++ b/src/shared/dissect-image.c @@ -4,6 +4,7 @@ #include #endif +#include #include #include #include @@ -43,6 +44,7 @@ #include "env-file.h" #include "env-util.h" #include "extension-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/shared/fdisk-util.c b/src/shared/fdisk-util.c index 3414572c31..bca81b30a0 100644 --- a/src/shared/fdisk-util.c +++ b/src/shared/fdisk-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bitfield.h" #include "dissect-image.h" #include "extract-word.h" diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c index b59e4838d8..82458536c5 100644 --- a/src/shared/fstab-util.c +++ b/src/shared/fstab-util.c @@ -7,6 +7,7 @@ #include "alloc-util.h" #include "device-nodes.h" #include "errno-util.h" +#include "extract-word.h" #include "fstab-util.h" #include "initrd-util.h" #include "libmount-util.h" diff --git a/src/shared/group-record.c b/src/shared/group-record.c index 36dc1397df..f7dd3b73a4 100644 --- a/src/shared/group-record.c +++ b/src/shared/group-record.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bitfield.h" #include "group-record.h" #include "json-util.h" diff --git a/src/shared/install-printf.c b/src/shared/install-printf.c index d62e803a37..501338f188 100644 --- a/src/shared/install-printf.c +++ b/src/shared/install-printf.c @@ -4,6 +4,7 @@ #include #include +#include "alloc-util.h" #include "format-util.h" #include "install.h" #include "install-printf.h" diff --git a/src/shared/journal-util.c b/src/shared/journal-util.c index 9fea61ff82..73c582475e 100644 --- a/src/shared/journal-util.c +++ b/src/shared/journal-util.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "acl-util.h" +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "bus-util.h" diff --git a/src/shared/kbd-util.c b/src/shared/kbd-util.c index fa06d8a965..84031df784 100644 --- a/src/shared/kbd-util.c +++ b/src/shared/kbd-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "env-util.h" #include "errno-util.h" #include "kbd-util.h" diff --git a/src/shared/libfido2-util.c b/src/shared/libfido2-util.c index 4e65b13548..f01b0016d4 100644 --- a/src/shared/libfido2-util.c +++ b/src/shared/libfido2-util.c @@ -12,6 +12,7 @@ #include "glyph-util.h" #include "memory-util.h" #include "plymouth-util.h" +#include "string-util.h" #include "strv.h" #include "unistd.h" diff --git a/src/shared/locale-setup.c b/src/shared/locale-setup.c index f3a10c5d82..3f23741bd7 100644 --- a/src/shared/locale-setup.c +++ b/src/shared/locale-setup.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "env-file.h" #include "env-file-label.h" #include "env-util.h" diff --git a/src/shared/net-condition.c b/src/shared/net-condition.c index d8b0fef322..9c55be0526 100644 --- a/src/shared/net-condition.c +++ b/src/shared/net-condition.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include #include "condition.h" diff --git a/src/shared/password-quality-util-pwquality.c b/src/shared/password-quality-util-pwquality.c index 30d15fd45e..f4aabd3510 100644 --- a/src/shared/password-quality-util-pwquality.c +++ b/src/shared/password-quality-util-pwquality.c @@ -2,12 +2,14 @@ #include +#include "alloc-util.h" #include "dlfcn-util.h" #include "errno-util.h" #include "log.h" #include "macro.h" #include "memory-util.h" #include "password-quality-util.h" +#include "string-util.h" #include "strv.h" #if HAVE_PWQUALITY diff --git a/src/shared/pcrextend-util.c b/src/shared/pcrextend-util.c index 6e1f0f04f2..dcd9b4ce91 100644 --- a/src/shared/pcrextend-util.c +++ b/src/shared/pcrextend-util.c @@ -2,6 +2,7 @@ #include "sd-device.h" +#include "alloc-util.h" #include "blkid-util.h" #include "blockdev-util.h" #include "chase.h" diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c index 947ef582bd..53f90aae27 100644 --- a/src/shared/sleep-config.c +++ b/src/shared/sleep-config.c @@ -8,6 +8,7 @@ #include "device-util.h" #include "devnum-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "hibernate-util.h" diff --git a/src/shared/tests.h b/src/shared/tests.h index b19bad4395..19a8dd033f 100644 --- a/src/shared/tests.h +++ b/src/shared/tests.h @@ -9,6 +9,7 @@ #include "argv-util.h" #include "errno-util.h" +#include "extract-word.h" #include "log.h" #include "macro.h" #include "process-util.h" diff --git a/src/shared/unit-file.c b/src/shared/unit-file.c index 83a8c45032..c0f695b9bb 100644 --- a/src/shared/unit-file.c +++ b/src/shared/unit-file.c @@ -2,6 +2,7 @@ #include "sd-id128.h" +#include "alloc-util.h" #include "chase.h" #include "dirent-util.h" #include "fd-util.h" diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c index 5d8ce765e8..404003d18e 100644 --- a/src/shared/user-record-nss.c +++ b/src/shared/user-record-nss.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "errno-util.h" #include "format-util.h" #include "libcrypt-util.h" diff --git a/src/shared/user-record.c b/src/shared/user-record.c index 10b0504898..2dd590110e 100644 --- a/src/shared/user-record.c +++ b/src/shared/user-record.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "bitfield.h" #include "cap-list.h" #include "cgroup-util.h" diff --git a/src/shared/userdb-dropin.c b/src/shared/userdb-dropin.c index 20c89bb573..176cdddaaf 100644 --- a/src/shared/userdb-dropin.c +++ b/src/shared/userdb-dropin.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "errno-util.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/shared/userdb.c b/src/shared/userdb.c index 69d4ddf485..210aab641e 100644 --- a/src/shared/userdb.c +++ b/src/shared/userdb.c @@ -4,6 +4,7 @@ #include "sd-varlink.h" +#include "alloc-util.h" #include "bitfield.h" #include "conf-files.h" #include "dirent-util.h" diff --git a/src/shared/varlink-io.systemd.service.c b/src/shared/varlink-io.systemd.service.c index d130f0df51..21c44a96b7 100644 --- a/src/shared/varlink-io.systemd.service.c +++ b/src/shared/varlink-io.systemd.service.c @@ -5,6 +5,7 @@ #include "env-util.h" #include "json-util.h" #include "log.h" +#include "string-util.h" #include "strv.h" #include "utf8.h" #include "varlink-io.systemd.service.h" diff --git a/src/shared/vconsole-util.c b/src/shared/vconsole-util.c index 9451db8404..4b722faeab 100644 --- a/src/shared/vconsole-util.c +++ b/src/shared/vconsole-util.c @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "env-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "kbd-util.h" diff --git a/src/shared/verb-log-control.c b/src/shared/verb-log-control.c index 555fb9ff7c..d6748f7492 100644 --- a/src/shared/verb-log-control.c +++ b/src/shared/verb-log-control.c @@ -3,6 +3,7 @@ #include "alloc-util.h" #include "bus-error.h" #include "log.h" +#include "string-util.h" #include "strv.h" #include "syslog-util.h" #include "verb-log-control.h" diff --git a/src/shared/vpick.c b/src/shared/vpick.c index ccde661ca5..9aa1bc6d58 100644 --- a/src/shared/vpick.c +++ b/src/shared/vpick.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "architecture.h" #include "bitfield.h" #include "chase.h" diff --git a/src/shared/wall.c b/src/shared/wall.c index eed7c652dd..f936ba97d9 100644 --- a/src/shared/wall.c +++ b/src/shared/wall.c @@ -6,6 +6,7 @@ #include "sd-login.h" +#include "alloc-util.h" #include "errno-util.h" #include "fd-util.h" #include "hostname-setup.h" diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c index 815eb158e8..f00ff25ab2 100644 --- a/src/shared/watchdog.c +++ b/src/shared/watchdog.c @@ -9,6 +9,7 @@ #include "sd-messages.h" +#include "alloc-util.h" #include "devnum-util.h" #include "errno-util.h" #include "fd-util.h" diff --git a/src/ssh-generator/ssh-generator.c b/src/ssh-generator/ssh-generator.c index 8e15608f14..99ceeb667a 100644 --- a/src/ssh-generator/ssh-generator.c +++ b/src/ssh-generator/ssh-generator.c @@ -16,6 +16,7 @@ #include "socket-netlink.h" #include "socket-util.h" #include "special.h" +#include "string-util.h" #include "virt.h" /* A small generator binding potentially five or more SSH sockets: diff --git a/src/systemctl/systemctl-list-jobs.c b/src/systemctl/systemctl-list-jobs.c index 6420365bad..80696aabf3 100644 --- a/src/systemctl/systemctl-list-jobs.c +++ b/src/systemctl/systemctl-list-jobs.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "ansi-color.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/systemctl/systemctl-list-machines.c b/src/systemctl/systemctl-list-machines.c index cc053504a0..25c7c6f357 100644 --- a/src/systemctl/systemctl-list-machines.c +++ b/src/systemctl/systemctl-list-machines.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include #include "sd-login.h" diff --git a/src/systemctl/systemctl-list-unit-files.c b/src/systemctl/systemctl-list-unit-files.c index 40e0b46cfc..2b6f9ddd2d 100644 --- a/src/systemctl/systemctl-list-unit-files.c +++ b/src/systemctl/systemctl-list-unit-files.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "ansi-color.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/systemctl/systemctl-mount.c b/src/systemctl/systemctl-mount.c index 6b51983fe9..9a44fe158d 100644 --- a/src/systemctl/systemctl-mount.c +++ b/src/systemctl/systemctl-mount.c @@ -3,6 +3,7 @@ #include "bus-error.h" #include "bus-locator.h" #include "dissect-image.h" +#include "extract-word.h" #include "systemctl.h" #include "systemctl-mount.h" #include "systemctl-util.h" diff --git a/src/systemctl/systemctl-util.c b/src/systemctl/systemctl-util.c index 9a3944fcf6..f81ca267ad 100644 --- a/src/systemctl/systemctl-util.c +++ b/src/systemctl/systemctl-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include #include diff --git a/src/sysupdate/sysupdate-transfer.c b/src/sysupdate/sysupdate-transfer.c index bd54c398eb..0247864eca 100644 --- a/src/sysupdate/sysupdate-transfer.c +++ b/src/sysupdate/sysupdate-transfer.c @@ -9,6 +9,7 @@ #include "conf-parser.h" #include "dirent-util.h" #include "event-util.h" +#include "extract-word.h" #include "fd-util.h" #include "glyph-util.h" #include "gpt.h" diff --git a/src/test/test-execute.c b/src/test/test-execute.c index ef476280fa..5ba680d571 100644 --- a/src/test/test-execute.c +++ b/src/test/test-execute.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include #include #include diff --git a/src/test/test-hostname-setup.c b/src/test/test-hostname-setup.c index 9348313984..fbb7de3689 100644 --- a/src/test/test-hostname-setup.c +++ b/src/test/test-hostname-setup.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include #include "alloc-util.h" diff --git a/src/test/test-strv.c b/src/test/test-strv.c index 63d30afe8f..7c06e06bb4 100644 --- a/src/test/test-strv.c +++ b/src/test/test-strv.c @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "alloc-util.h" #include "escape.h" #include "string-util.h" diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c index b5e6f23c1b..b598eb8bc0 100644 --- a/src/test/test-unit-name.c +++ b/src/test/test-unit-name.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include #include diff --git a/src/udev/iocost/iocost.c b/src/udev/iocost/iocost.c index 2b2633e3c2..2598975cae 100644 --- a/src/udev/iocost/iocost.c +++ b/src/udev/iocost/iocost.c @@ -16,6 +16,7 @@ #include "main-func.h" #include "path-util.h" #include "pretty-print.h" +#include "string-util.h" #include "udev-util.h" #include "verbs.h" diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c index 692b244cb8..103e4a39db 100644 --- a/src/udev/udev-builtin.c +++ b/src/udev/udev-builtin.c @@ -6,6 +6,7 @@ #include "bitfield.h" #include "device-private.h" #include "device-util.h" +#include "extract-word.h" #include "string-util.h" #include "strv.h" #include "udev-builtin.h" diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index 69465984e0..506b49aa21 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ #include +#include #include "alloc-util.h" #include "architecture.h" @@ -12,6 +13,7 @@ #include "device-util.h" #include "dirent-util.h" #include "escape.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "format-util.h" diff --git a/src/udev/udev-spawn.c b/src/udev/udev-spawn.c index 62db775250..0e3ff2e104 100644 --- a/src/udev/udev-spawn.c +++ b/src/udev/udev-spawn.c @@ -7,6 +7,7 @@ #include "device-util.h" #include "event-util.h" #include "exec-util.h" +#include "extract-word.h" #include "fd-util.h" #include "path-util.h" #include "process-util.h" diff --git a/src/udev/udevadm-info.c b/src/udev/udevadm-info.c index 9735632704..c8cdb17ab2 100644 --- a/src/udev/udevadm-info.c +++ b/src/udev/udevadm-info.c @@ -20,6 +20,7 @@ #include "devnum-util.h" #include "dirent-util.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "glyph-util.h" diff --git a/src/veritysetup/veritysetup.c b/src/veritysetup/veritysetup.c index 35bf5fffb7..8f808b33e1 100644 --- a/src/veritysetup/veritysetup.c +++ b/src/veritysetup/veritysetup.c @@ -9,6 +9,7 @@ #include "alloc-util.h" #include "argv-util.h" #include "cryptsetup-util.h" +#include "extract-word.h" #include "fileio.h" #include "fstab-util.h" #include "hexdecoct.h" diff --git a/src/vmspawn/vmspawn-util.c b/src/vmspawn/vmspawn-util.c index 5700a0c893..3fb8f8405b 100644 --- a/src/vmspawn/vmspawn-util.c +++ b/src/vmspawn/vmspawn-util.c @@ -6,6 +6,7 @@ #include "sd-json.h" +#include "alloc-util.h" #include "architecture.h" #include "conf-files.h" #include "errno-util.h" diff --git a/src/xdg-autostart-generator/xdg-autostart-condition.c b/src/xdg-autostart-generator/xdg-autostart-condition.c index 2f0710060a..b822ab5aab 100644 --- a/src/xdg-autostart-generator/xdg-autostart-condition.c +++ b/src/xdg-autostart-generator/xdg-autostart-condition.c @@ -2,6 +2,7 @@ #include "log.h" #include "main-func.h" +#include "string-util.h" #include "strv.h" /* diff --git a/src/xdg-autostart-generator/xdg-autostart-service.c b/src/xdg-autostart-generator/xdg-autostart-service.c index a00b9d3063..23c6fb01ef 100644 --- a/src/xdg-autostart-generator/xdg-autostart-service.c +++ b/src/xdg-autostart-generator/xdg-autostart-service.c @@ -1,11 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include +#include #include #include #include "conf-parser.h" #include "escape.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "generator.h" From e548ca38b91888e66e7ff6e477826f1fd215a3d8 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 5 May 2025 13:32:55 +0200 Subject: [PATCH 5/9] device-util: Reduce transitive includes --- src/libsystemd/sd-device/device-util.c | 1 + src/libsystemd/sd-device/device-util.h | 3 +-- src/shared/blockdev-list.c | 1 + src/shared/netif-util.c | 1 + src/shared/udev-util.c | 1 + src/sleep/battery-capacity.c | 1 + src/storagetm/storagetm.c | 1 + src/sysupdate/sysupdate-resource.c | 1 + src/udev/iocost/iocost.c | 1 + src/udev/udev-builtin.c | 1 + src/udev/udev-dump.c | 2 ++ src/udev/udev-manager.c | 1 + src/udev/udev-node.c | 1 + src/udev/udev-worker.c | 1 + src/udev/udevadm-info.c | 1 + src/validatefs/validatefs.c | 1 + 16 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/libsystemd/sd-device/device-util.c b/src/libsystemd/sd-device/device-util.c index b6887217fc..b0475c5ca3 100644 --- a/src/libsystemd/sd-device/device-util.c +++ b/src/libsystemd/sd-device/device-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "device-private.h" #include "device-util.h" #include "devnum-util.h" diff --git a/src/libsystemd/sd-device/device-util.h b/src/libsystemd/sd-device/device-util.h index 6756f22596..0a740ede32 100644 --- a/src/libsystemd/sd-device/device-util.h +++ b/src/libsystemd/sd-device/device-util.h @@ -10,7 +10,6 @@ #include "alloc-util.h" #include "log.h" #include "macro.h" -#include "strv.h" #define device_unref_and_replace(a, b) \ unref_and_replace_full(a, b, sd_device_ref, sd_device_unref) @@ -107,4 +106,4 @@ char** device_make_log_fields(sd_device *device); bool device_in_subsystem(sd_device *device, const char *subsystem); bool device_is_devtype(sd_device *device, const char *devtype); -bool device_property_can_set(const char *property); +bool device_property_can_set(const char *property) _pure_; diff --git a/src/shared/blockdev-list.c b/src/shared/blockdev-list.c index 120f7201df..d38f1e4b2c 100644 --- a/src/shared/blockdev-list.c +++ b/src/shared/blockdev-list.c @@ -7,6 +7,7 @@ #include "blockdev-util.h" #include "device-util.h" #include "macro.h" +#include "strv.h" #include "terminal-util.h" int blockdev_list(BlockDevListFlags flags) { diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c index 978ce42341..47cf4df98d 100644 --- a/src/shared/netif-util.c +++ b/src/shared/netif-util.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "arphrd-util.h" #include "device-util.h" #include "hexdecoct.h" diff --git a/src/shared/udev-util.c b/src/shared/udev-util.c index d3dabf13eb..6b931a60d8 100644 --- a/src/shared/udev-util.c +++ b/src/shared/udev-util.c @@ -19,6 +19,7 @@ #include "signal-util.h" #include "stat-util.h" #include "string-util.h" +#include "strv.h" #include "udev-util.h" #include "utf8.h" diff --git a/src/sleep/battery-capacity.c b/src/sleep/battery-capacity.c index 5667a59223..7ddef52350 100644 --- a/src/sleep/battery-capacity.c +++ b/src/sleep/battery-capacity.c @@ -2,6 +2,7 @@ #include "sd-device.h" +#include "alloc-util.h" #include "battery-capacity.h" #include "battery-util.h" #include "device-private.h" diff --git a/src/storagetm/storagetm.c b/src/storagetm/storagetm.c index 4bc6917887..2af2ee4740 100644 --- a/src/storagetm/storagetm.c +++ b/src/storagetm/storagetm.c @@ -28,6 +28,7 @@ #include "random-util.h" #include "recurse-dir.h" #include "socket-util.h" +#include "strv.h" #include "terminal-util.h" #include "udev-util.h" diff --git a/src/sysupdate/sysupdate-resource.c b/src/sysupdate/sysupdate-resource.c index 368d4c5c97..045af007a5 100644 --- a/src/sysupdate/sysupdate-resource.c +++ b/src/sysupdate/sysupdate-resource.c @@ -24,6 +24,7 @@ #include "process-util.h" #include "sort-util.h" #include "string-table.h" +#include "strv.h" #include "sysupdate.h" #include "sysupdate-cache.h" #include "sysupdate-instance.h" diff --git a/src/udev/iocost/iocost.c b/src/udev/iocost/iocost.c index 2598975cae..58242a33e7 100644 --- a/src/udev/iocost/iocost.c +++ b/src/udev/iocost/iocost.c @@ -17,6 +17,7 @@ #include "path-util.h" #include "pretty-print.h" #include "string-util.h" +#include "strv.h" #include "udev-util.h" #include "verbs.h" diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c index 103e4a39db..5f559f5c9a 100644 --- a/src/udev/udev-builtin.c +++ b/src/udev/udev-builtin.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "bitfield.h" #include "device-private.h" #include "device-util.h" diff --git a/src/udev/udev-dump.c b/src/udev/udev-dump.c index d832989805..accca6df7f 100644 --- a/src/udev/udev-dump.c +++ b/src/udev/udev-dump.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ +#include "alloc-util.h" #include "ansi-color.h" #include "device-private.h" #include "device-util.h" @@ -8,6 +9,7 @@ #include "fs-util.h" #include "json-util.h" #include "parse-util.h" +#include "strv.h" #include "udev-builtin.h" #include "udev-dump.h" #include "udev-event.h" diff --git a/src/udev/udev-manager.c b/src/udev/udev-manager.c index d422008c3a..dc684d4b95 100644 --- a/src/udev/udev-manager.c +++ b/src/udev/udev-manager.c @@ -21,6 +21,7 @@ #include "signal-util.h" #include "socket-util.h" #include "string-util.h" +#include "strv.h" #include "syslog-util.h" #include "udev-builtin.h" #include "udev-config.h" diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index 2df5d54fee..08ce26a0c5 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -24,6 +24,7 @@ #include "smack-util.h" #include "stat-util.h" #include "string-util.h" +#include "strv.h" #include "udev-node.h" #include "user-util.h" diff --git a/src/udev/udev-worker.c b/src/udev/udev-worker.c index 82085e86c4..f6b86e5e4f 100644 --- a/src/udev/udev-worker.c +++ b/src/udev/udev-worker.c @@ -18,6 +18,7 @@ #include "process-util.h" #include "signal-util.h" #include "string-util.h" +#include "strv.h" #include "udev-error.h" #include "udev-event.h" #include "udev-rules.h" diff --git a/src/udev/udevadm-info.c b/src/udev/udevadm-info.c index c8cdb17ab2..ea66a2ad22 100644 --- a/src/udev/udevadm-info.c +++ b/src/udev/udevadm-info.c @@ -30,6 +30,7 @@ #include "static-destruct.h" #include "string-table.h" #include "string-util.h" +#include "strv.h" #include "terminal-util.h" #include "udev-util.h" #include "udevadm.h" diff --git a/src/validatefs/validatefs.c b/src/validatefs/validatefs.c index db32fe3c23..2f841aa4e6 100644 --- a/src/validatefs/validatefs.c +++ b/src/validatefs/validatefs.c @@ -16,6 +16,7 @@ #include "path-util.h" #include "pretty-print.h" #include "string-util.h" +#include "strv.h" #include "utf8.h" #include "xattr-util.h" From b78d73fa2284cf48afaa5efa251f87fd1a6543ac Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 5 May 2025 14:09:05 +0200 Subject: [PATCH 6/9] conf-parser: Reduce transitive includes --- src/analyze/analyze-image-policy.c | 1 + src/core/bpf-devices.c | 1 + src/journal-remote/journal-compression-util.c | 1 + src/journal-remote/journal-header-util.c | 1 + src/login/logind-varlink.c | 1 + src/network/generator/network-generator.c | 1 + src/network/netdev/l2tp-tunnel.c | 1 + src/network/netdev/macsec.c | 1 + src/network/netdev/tunnel.c | 1 + src/network/netdev/vlan.c | 1 + src/network/networkctl-link-info.c | 1 + src/network/networkctl-list.c | 1 + src/network/networkctl-status-link.c | 1 + src/network/networkd-address-generation.c | 1 + src/network/networkd-dhcp-common.c | 1 + src/network/networkd-dns.c | 1 + src/network/networkd-ntp.c | 1 + src/network/networkd-sysctl.c | 1 + src/network/networkd-util.c | 1 + src/network/networkd-wifi.c | 1 + src/network/networkd-wiphy.c | 1 + src/network/tc/teql.c | 1 + src/nspawn/nspawn-oci.c | 1 + src/nspawn/nspawn-register.c | 1 + src/oom/oomd-manager-bus.c | 1 + src/oom/oomd-manager.c | 1 + src/resolve/resolved-dns-stub.c | 1 + src/resolve/resolved-dnssd.c | 1 + src/resolve/resolved-etc-hosts.c | 1 + src/resolve/resolved-socket-graveyard.c | 1 + src/resolve/resolved-varlink.c | 1 + src/shared/bus-message-util.c | 1 + src/shared/conf-parser.h | 4 +--- src/shared/ethtool-util.c | 1 + src/shared/kernel-config.c | 1 + src/shared/net-condition.c | 1 + src/shared/switch-root.c | 1 + src/sysctl/sysctl.c | 1 + src/systemctl/systemctl-add-dependency.c | 1 + src/systemctl/systemctl-edit.c | 1 + src/systemctl/systemctl-enable.c | 1 + src/systemctl/systemctl-is-active.c | 1 + src/systemctl/systemctl-is-system-running.c | 1 + src/systemctl/systemctl-kill.c | 1 + src/systemctl/systemctl-list-dependencies.c | 1 + src/systemctl/systemctl-list-jobs.c | 1 + src/systemctl/systemctl-list-machines.c | 1 + src/systemctl/systemctl-list-unit-files.c | 1 + src/systemctl/systemctl-list-units.c | 1 + src/systemctl/systemctl-log-setting.c | 1 + src/systemctl/systemctl-mount.c | 1 + src/systemctl/systemctl-set-default.c | 1 + src/systemctl/systemctl-set-environment.c | 1 + src/systemctl/systemctl-start-unit.c | 1 + src/systemctl/systemctl-switch-root.c | 1 + src/systemctl/systemctl-whoami.c | 1 + src/sysupdate/sysupdate-feature.c | 1 + src/udev/udev-builtin-dissect_image.c | 1 + src/udev/udev-format.c | 1 + src/udev/udevadm-settle.c | 1 + 60 files changed, 60 insertions(+), 3 deletions(-) diff --git a/src/analyze/analyze-image-policy.c b/src/analyze/analyze-image-policy.c index ce2915d195..71ccbbc992 100644 --- a/src/analyze/analyze-image-policy.c +++ b/src/analyze/analyze-image-policy.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-image-policy.h" #include "format-table.h" diff --git a/src/core/bpf-devices.c b/src/core/bpf-devices.c index 4393e074e9..adaa929364 100644 --- a/src/core/bpf-devices.c +++ b/src/core/bpf-devices.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "bpf-devices.h" #include "bpf-program.h" #include "devnum-util.h" diff --git a/src/journal-remote/journal-compression-util.c b/src/journal-remote/journal-compression-util.c index 7e0e5a1751..2b121fd0e3 100644 --- a/src/journal-remote/journal-compression-util.c +++ b/src/journal-remote/journal-compression-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "extract-word.h" #include "journal-compression-util.h" #include "parse-util.h" diff --git a/src/journal-remote/journal-header-util.c b/src/journal-remote/journal-header-util.c index e5a94e74b3..99de7c6589 100644 --- a/src/journal-remote/journal-header-util.c +++ b/src/journal-remote/journal-header-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "escape.h" #include "journal-header-util.h" #include "string-util.h" diff --git a/src/login/logind-varlink.c b/src/login/logind-varlink.c index b8181c76f9..69a453483f 100644 --- a/src/login/logind-varlink.c +++ b/src/login/logind-varlink.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "cgroup-util.h" #include "fd-util.h" #include "format-util.h" diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c index eb66038c37..d113e1cb46 100644 --- a/src/network/generator/network-generator.c +++ b/src/network/generator/network-generator.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "extract-word.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/network/netdev/l2tp-tunnel.c b/src/network/netdev/l2tp-tunnel.c index 42d2ec8642..01741f2a69 100644 --- a/src/network/netdev/l2tp-tunnel.c +++ b/src/network/netdev/l2tp-tunnel.c @@ -5,6 +5,7 @@ #include #include +#include "alloc-util.h" #include "conf-parser.h" #include "hashmap.h" #include "l2tp-tunnel.h" diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c index 638ad7dd50..df3ae99a09 100644 --- a/src/network/netdev/macsec.c +++ b/src/network/netdev/macsec.c @@ -6,6 +6,7 @@ #include #include +#include "alloc-util.h" #include "conf-parser.h" #include "fileio.h" #include "hashmap.h" diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c index cf3a36be8f..ef47218c9f 100644 --- a/src/network/netdev/tunnel.c +++ b/src/network/netdev/tunnel.c @@ -8,6 +8,7 @@ #include #include "af-list.h" +#include "alloc-util.h" #include "conf-parser.h" #include "hexdecoct.h" #include "missing_network.h" diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c index f6b9234740..0f62fcaff3 100644 --- a/src/network/netdev/vlan.c +++ b/src/network/netdev/vlan.c @@ -5,6 +5,7 @@ #include #include +#include "alloc-util.h" #include "parse-util.h" #include "vlan.h" #include "vlan-util.h" diff --git a/src/network/networkctl-link-info.c b/src/network/networkctl-link-info.c index f356d3c231..1768688980 100644 --- a/src/network/networkctl-link-info.c +++ b/src/network/networkctl-link-info.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "bus-common-errors.h" #include "bus-error.h" #include "bus-util.h" diff --git a/src/network/networkctl-list.c b/src/network/networkctl-list.c index a23930d80e..4cb976216e 100644 --- a/src/network/networkctl-list.c +++ b/src/network/networkctl-list.c @@ -2,6 +2,7 @@ #include "sd-network.h" +#include "alloc-util.h" #include "format-table.h" #include "netif-util.h" #include "networkctl.h" diff --git a/src/network/networkctl-status-link.c b/src/network/networkctl-status-link.c index 8e504a4c9b..a2a451f6c0 100644 --- a/src/network/networkctl-status-link.c +++ b/src/network/networkctl-status-link.c @@ -4,6 +4,7 @@ #include "sd-network.h" +#include "alloc-util.h" #include "bond-util.h" #include "bridge-util.h" #include "bus-error.h" diff --git a/src/network/networkd-address-generation.c b/src/network/networkd-address-generation.c index 2663af87f6..18840e02d1 100644 --- a/src/network/networkd-address-generation.c +++ b/src/network/networkd-address-generation.c @@ -4,6 +4,7 @@ #include "sd-id128.h" +#include "alloc-util.h" #include "arphrd-util.h" #include "id128-util.h" #include "memory-util.h" diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c index 427d807356..2edc94d13e 100644 --- a/src/network/networkd-dhcp-common.c +++ b/src/network/networkd-dhcp-common.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "dhcp-option.h" diff --git a/src/network/networkd-dns.c b/src/network/networkd-dns.c index bc3bc65c20..cd0cd28739 100644 --- a/src/network/networkd-dns.c +++ b/src/network/networkd-dns.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "dns-domain.h" #include "hostname-util.h" #include "networkd-dns.h" diff --git a/src/network/networkd-ntp.c b/src/network/networkd-ntp.c index e764feacb9..41db2f4371 100644 --- a/src/network/networkd-ntp.c +++ b/src/network/networkd-ntp.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "dns-domain.h" #include "networkd-network.h" #include "networkd-ntp.h" diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c index f5aad84c3b..1f30669e2e 100644 --- a/src/network/networkd-sysctl.c +++ b/src/network/networkd-sysctl.c @@ -7,6 +7,7 @@ #include "sd-messages.h" #include "af-list.h" +#include "alloc-util.h" #include "cgroup-util.h" #include "event-util.h" #include "fd-util.h" diff --git a/src/network/networkd-util.c b/src/network/networkd-util.c index 87139ba47f..53115786c7 100644 --- a/src/network/networkd-util.c +++ b/src/network/networkd-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bitfield.h" #include "condition.h" #include "conf-parser.h" diff --git a/src/network/networkd-wifi.c b/src/network/networkd-wifi.c index 35357830be..d1b35df299 100644 --- a/src/network/networkd-wifi.c +++ b/src/network/networkd-wifi.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "ether-addr-util.h" #include "netlink-util.h" #include "networkd-link.h" diff --git a/src/network/networkd-wiphy.c b/src/network/networkd-wiphy.c index ca50c52f8e..0641fea370 100644 --- a/src/network/networkd-wiphy.c +++ b/src/network/networkd-wiphy.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "device-private.h" #include "device-util.h" #include "networkd-manager.h" diff --git a/src/network/tc/teql.c b/src/network/tc/teql.c index f4fa331f52..06640afc31 100644 --- a/src/network/tc/teql.c +++ b/src/network/tc/teql.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "macro.h" #include "networkd-link.h" #include "parse-util.h" diff --git a/src/nspawn/nspawn-oci.c b/src/nspawn/nspawn-oci.c index 1e339e0208..430af7b8a2 100644 --- a/src/nspawn/nspawn-oci.c +++ b/src/nspawn/nspawn-oci.c @@ -4,6 +4,7 @@ #include "sd-json.h" +#include "alloc-util.h" #include "bus-util.h" #include "cap-list.h" #include "cpu-set-util.h" diff --git a/src/nspawn/nspawn-register.c b/src/nspawn/nspawn-register.c index 0387e0b783..36cd2066e5 100644 --- a/src/nspawn/nspawn-register.c +++ b/src/nspawn/nspawn-register.c @@ -2,6 +2,7 @@ #include "sd-bus.h" +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "bus-unit-util.h" diff --git a/src/oom/oomd-manager-bus.c b/src/oom/oomd-manager-bus.c index b406bc94e8..f2bf6b41cb 100644 --- a/src/oom/oomd-manager-bus.c +++ b/src/oom/oomd-manager-bus.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "bus-common-errors.h" #include "bus-polkit.h" #include "fd-util.h" diff --git a/src/oom/oomd-manager.c b/src/oom/oomd-manager.c index fa48b73bb1..b494ea0c28 100644 --- a/src/oom/oomd-manager.c +++ b/src/oom/oomd-manager.c @@ -3,6 +3,7 @@ #include "sd-daemon.h" #include "sd-json.h" +#include "alloc-util.h" #include "bus-log-control-api.h" #include "bus-polkit.h" #include "bus-util.h" diff --git a/src/resolve/resolved-dns-stub.c b/src/resolve/resolved-dns-stub.c index 053365f7fa..e70902a60b 100644 --- a/src/resolve/resolved-dns-stub.c +++ b/src/resolve/resolved-dns-stub.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "capability-util.h" #include "dns-type.h" #include "errno-util.h" diff --git a/src/resolve/resolved-dnssd.c b/src/resolve/resolved-dnssd.c index e2a57155dc..6523737cce 100644 --- a/src/resolve/resolved-dnssd.c +++ b/src/resolve/resolved-dnssd.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "conf-files.h" #include "conf-parser.h" #include "constants.h" diff --git a/src/resolve/resolved-etc-hosts.c b/src/resolve/resolved-etc-hosts.c index 14580cb9be..bb655d055d 100644 --- a/src/resolve/resolved-etc-hosts.c +++ b/src/resolve/resolved-etc-hosts.c @@ -4,6 +4,7 @@ #include #include +#include "alloc-util.h" #include "dns-domain.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/resolve/resolved-socket-graveyard.c b/src/resolve/resolved-socket-graveyard.c index 0b04002baf..a55ebd304e 100644 --- a/src/resolve/resolved-socket-graveyard.c +++ b/src/resolve/resolved-socket-graveyard.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "resolved-manager.h" #include "resolved-socket-graveyard.h" diff --git a/src/resolve/resolved-varlink.c b/src/resolve/resolved-varlink.c index 1a50f64a85..cf9569e667 100644 --- a/src/resolve/resolved-varlink.c +++ b/src/resolve/resolved-varlink.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-polkit.h" #include "dns-domain.h" #include "dns-type.h" diff --git a/src/shared/bus-message-util.c b/src/shared/bus-message-util.c index 1b855df293..20a0d0eb77 100644 --- a/src/shared/bus-message-util.c +++ b/src/shared/bus-message-util.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "bus-message-util.h" #include "bus-util.h" #include "copy.h" diff --git a/src/shared/conf-parser.h b/src/shared/conf-parser.h index 83bf62cca9..fdc6c3755b 100644 --- a/src/shared/conf-parser.h +++ b/src/shared/conf-parser.h @@ -8,11 +8,9 @@ #include #include -#include "alloc-util.h" #include "hashmap.h" #include "log.h" -#include "macro.h" -#include "time-util.h" +#include "memory-util.h" /* An abstract parser for simple, line based, shallow configuration files consisting of variable assignments only. */ diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c index a91cd5bbf8..c807aceefd 100644 --- a/src/shared/ethtool-util.c +++ b/src/shared/ethtool-util.c @@ -6,6 +6,7 @@ #include #include +#include "alloc-util.h" #include "conf-parser.h" #include "ethtool-util.h" #include "extract-word.h" diff --git a/src/shared/kernel-config.c b/src/shared/kernel-config.c index 483ca28211..c1a0a952f5 100644 --- a/src/shared/kernel-config.c +++ b/src/shared/kernel-config.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "conf-parser.h" #include "kernel-config.h" #include "macro.h" diff --git a/src/shared/net-condition.c b/src/shared/net-condition.c index 9c55be0526..67a088f7c8 100644 --- a/src/shared/net-condition.c +++ b/src/shared/net-condition.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "condition.h" #include "env-util.h" #include "log.h" diff --git a/src/shared/switch-root.c b/src/shared/switch-root.c index 621161a1c0..9e55141eed 100644 --- a/src/shared/switch-root.c +++ b/src/shared/switch-root.c @@ -8,6 +8,7 @@ #include #include +#include "alloc-util.h" #include "base-filesystem.h" #include "chase.h" #include "creds-util.h" diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c index aac965f5de..cff3bb5b46 100644 --- a/src/sysctl/sysctl.c +++ b/src/sysctl/sysctl.c @@ -9,6 +9,7 @@ #include #include +#include "alloc-util.h" #include "build.h" #include "conf-files.h" #include "constants.h" diff --git a/src/systemctl/systemctl-add-dependency.c b/src/systemctl/systemctl-add-dependency.c index 7ebcc12afb..741280b302 100644 --- a/src/systemctl/systemctl-add-dependency.c +++ b/src/systemctl/systemctl-add-dependency.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "systemctl.h" diff --git a/src/systemctl/systemctl-edit.c b/src/systemctl/systemctl-edit.c index cb8f7693ec..563b192d98 100644 --- a/src/systemctl/systemctl-edit.c +++ b/src/systemctl/systemctl-edit.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "edit-util.h" #include "fs-util.h" diff --git a/src/systemctl/systemctl-enable.c b/src/systemctl/systemctl-enable.c index 21b7119b98..beb7dc2cc7 100644 --- a/src/systemctl/systemctl-enable.c +++ b/src/systemctl/systemctl-enable.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "path-util.h" diff --git a/src/systemctl/systemctl-is-active.c b/src/systemctl/systemctl-is-active.c index a33e427d94..484dcbfbe6 100644 --- a/src/systemctl/systemctl-is-active.c +++ b/src/systemctl/systemctl-is-active.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "pretty-print.h" diff --git a/src/systemctl/systemctl-is-system-running.c b/src/systemctl/systemctl-is-system-running.c index 2bd546597b..a6495e68cd 100644 --- a/src/systemctl/systemctl-is-system-running.c +++ b/src/systemctl/systemctl-is-system-running.c @@ -3,6 +3,7 @@ #include "sd-daemon.h" #include "sd-event.h" +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "bus-util.h" diff --git a/src/systemctl/systemctl-kill.c b/src/systemctl/systemctl-kill.c index 0581e47bd8..a72163c343 100644 --- a/src/systemctl/systemctl-kill.c +++ b/src/systemctl/systemctl-kill.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "bus-wait-for-units.h" diff --git a/src/systemctl/systemctl-list-dependencies.c b/src/systemctl/systemctl-list-dependencies.c index 66a8851998..a5f8a407fe 100644 --- a/src/systemctl/systemctl-list-dependencies.c +++ b/src/systemctl/systemctl-list-dependencies.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "ansi-color.h" #include "locale-util.h" #include "sort-util.h" diff --git a/src/systemctl/systemctl-list-jobs.c b/src/systemctl/systemctl-list-jobs.c index 80696aabf3..6b7e0597ce 100644 --- a/src/systemctl/systemctl-list-jobs.c +++ b/src/systemctl/systemctl-list-jobs.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "ansi-color.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/systemctl/systemctl-list-machines.c b/src/systemctl/systemctl-list-machines.c index 25c7c6f357..60d1013127 100644 --- a/src/systemctl/systemctl-list-machines.c +++ b/src/systemctl/systemctl-list-machines.c @@ -5,6 +5,7 @@ #include "sd-login.h" +#include "alloc-util.h" #include "ansi-color.h" #include "bus-map-properties.h" #include "hostname-setup.h" diff --git a/src/systemctl/systemctl-list-unit-files.c b/src/systemctl/systemctl-list-unit-files.c index 2b6f9ddd2d..cf36e94412 100644 --- a/src/systemctl/systemctl-list-unit-files.c +++ b/src/systemctl/systemctl-list-unit-files.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "ansi-color.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/systemctl/systemctl-list-units.c b/src/systemctl/systemctl-list-units.c index 72dc09183e..ec9c517c19 100644 --- a/src/systemctl/systemctl-list-units.c +++ b/src/systemctl/systemctl-list-units.c @@ -2,6 +2,7 @@ #include "sd-login.h" +#include "alloc-util.h" #include "ansi-color.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/systemctl/systemctl-log-setting.c b/src/systemctl/systemctl-log-setting.c index a3afbe5d08..8b6e58cbc4 100644 --- a/src/systemctl/systemctl-log-setting.c +++ b/src/systemctl/systemctl-log-setting.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "pretty-print.h" diff --git a/src/systemctl/systemctl-mount.c b/src/systemctl/systemctl-mount.c index 9a44fe158d..058aaad925 100644 --- a/src/systemctl/systemctl-mount.c +++ b/src/systemctl/systemctl-mount.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "dissect-image.h" diff --git a/src/systemctl/systemctl-set-default.c b/src/systemctl/systemctl-set-default.c index c8293cca3a..ae434dc357 100644 --- a/src/systemctl/systemctl-set-default.c +++ b/src/systemctl/systemctl-set-default.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "proc-cmdline.h" diff --git a/src/systemctl/systemctl-set-environment.c b/src/systemctl/systemctl-set-environment.c index 8a21a4df89..3aed41eccd 100644 --- a/src/systemctl/systemctl-set-environment.c +++ b/src/systemctl/systemctl-set-environment.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bus-error.h" #include "bus-locator.h" #include "env-util.h" diff --git a/src/systemctl/systemctl-start-unit.c b/src/systemctl/systemctl-start-unit.c index d4192b4506..7ea2cf8998 100644 --- a/src/systemctl/systemctl-start-unit.c +++ b/src/systemctl/systemctl-start-unit.c @@ -2,6 +2,7 @@ #include "sd-bus.h" +#include "alloc-util.h" #include "ansi-color.h" #include "bus-common-errors.h" #include "bus-error.h" diff --git a/src/systemctl/systemctl-switch-root.c b/src/systemctl/systemctl-switch-root.c index ae4a1a72c2..45e8f8a750 100644 --- a/src/systemctl/systemctl-switch-root.c +++ b/src/systemctl/systemctl-switch-root.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "argv-util.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/systemctl/systemctl-whoami.c b/src/systemctl/systemctl-whoami.c index 607f2db047..c8976c5d61 100644 --- a/src/systemctl/systemctl-whoami.c +++ b/src/systemctl/systemctl-whoami.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "format-util.h" #include "parse-util.h" #include "systemctl.h" diff --git a/src/sysupdate/sysupdate-feature.c b/src/sysupdate/sysupdate-feature.c index 38fbc2b20c..133db82b0b 100644 --- a/src/sysupdate/sysupdate-feature.c +++ b/src/sysupdate/sysupdate-feature.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "conf-parser.h" #include "hash-funcs.h" #include "path-util.h" diff --git a/src/udev/udev-builtin-dissect_image.c b/src/udev/udev-builtin-dissect_image.c index 73cf9b4242..8bc8df990c 100644 --- a/src/udev/udev-builtin-dissect_image.c +++ b/src/udev/udev-builtin-dissect_image.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ +#include "alloc-util.h" #include "blockdev-util.h" #include "device-util.h" #include "dissect-image.h" diff --git a/src/udev/udev-format.c b/src/udev/udev-format.c index c09ea44d91..8da68ea86b 100644 --- a/src/udev/udev-format.c +++ b/src/udev/udev-format.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ +#include "alloc-util.h" #include "device-util.h" #include "errno-util.h" #include "parse-util.h" diff --git a/src/udev/udevadm-settle.c b/src/udev/udevadm-settle.c index 6f87f76fcd..9d6ec684f3 100644 --- a/src/udev/udevadm-settle.c +++ b/src/udev/udevadm-settle.c @@ -12,6 +12,7 @@ #include "sd-login.h" #include "sd-messages.h" +#include "alloc-util.h" #include "bus-util.h" #include "path-util.h" #include "strv.h" From dc7b1512645f0c7a275bac6eba8acd6bfb14e95e Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 5 May 2025 14:13:11 +0200 Subject: [PATCH 7/9] rm-rf: Reduce transitive includes --- src/analyze/analyze-verify.c | 1 + src/core/generator-setup.c | 1 + src/import/import-tar.c | 1 + src/import/pull-tar.c | 1 + src/nsresourced/test-userns-restrict.c | 1 + src/nsresourced/userns-registry.c | 2 ++ src/shared/btrfs-util.c | 1 + src/shared/copy.c | 1 + src/shared/rm-rf.c | 31 ++++++++++++++++++++++++ src/shared/rm-rf.h | 33 ++++---------------------- 10 files changed, 44 insertions(+), 29 deletions(-) diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-verify.c index 3b463f2ac7..02a9dbc646 100644 --- a/src/analyze/analyze-verify.c +++ b/src/analyze/analyze-verify.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-verify.h" #include "analyze-verify-util.h" diff --git a/src/core/generator-setup.c b/src/core/generator-setup.c index b16211e8f4..7510fc3c61 100644 --- a/src/core/generator-setup.c +++ b/src/core/generator-setup.c @@ -2,6 +2,7 @@ #include +#include "errno-util.h" #include "generator-setup.h" #include "macro.h" #include "mkdir-label.h" diff --git a/src/import/import-tar.c b/src/import/import-tar.c index a2e7eda51b..ac6925f30b 100644 --- a/src/import/import-tar.c +++ b/src/import/import-tar.c @@ -6,6 +6,7 @@ #include "alloc-util.h" #include "btrfs-util.h" #include "copy.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/import/pull-tar.c b/src/import/pull-tar.c index 8c9e4f3395..10f3ea0497 100644 --- a/src/import/pull-tar.c +++ b/src/import/pull-tar.c @@ -9,6 +9,7 @@ #include "btrfs-util.h" #include "copy.h" #include "curl-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "hostname-util.h" diff --git a/src/nsresourced/test-userns-restrict.c b/src/nsresourced/test-userns-restrict.c index 1dcf0bd91b..0aff1c87fb 100644 --- a/src/nsresourced/test-userns-restrict.c +++ b/src/nsresourced/test-userns-restrict.c @@ -3,6 +3,7 @@ #include #include +#include "errno-util.h" #include "fd-util.h" #include "log.h" #include "main-func.h" diff --git a/src/nsresourced/userns-registry.c b/src/nsresourced/userns-registry.c index 5e39c3844e..be314231ae 100644 --- a/src/nsresourced/userns-registry.c +++ b/src/nsresourced/userns-registry.c @@ -3,7 +3,9 @@ #include "sd-json.h" #include "sd-netlink.h" +#include "alloc-util.h" #include "chase.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "format-util.h" diff --git a/src/shared/btrfs-util.c b/src/shared/btrfs-util.c index d296ac682c..0615b27a02 100644 --- a/src/shared/btrfs-util.c +++ b/src/shared/btrfs-util.c @@ -21,6 +21,7 @@ #include "chase.h" #include "chattr-util.h" #include "copy.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/shared/copy.c b/src/shared/copy.c index 4288bae1ce..fb006e38ed 100644 --- a/src/shared/copy.c +++ b/src/shared/copy.c @@ -17,6 +17,7 @@ #include "chattr-util.h" #include "copy.h" #include "dirent-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c index 39866e2258..08c76a384e 100644 --- a/src/shared/rm-rf.c +++ b/src/shared/rm-rf.c @@ -9,6 +9,7 @@ #include "alloc-util.h" #include "btrfs-util.h" #include "dirent-util.h" +#include "errno-util.h" #include "fd-util.h" #include "fs-util.h" #include "log.h" @@ -517,3 +518,33 @@ int rm_rf_child(int fd, const char *name, RemoveFlags flags) { return rm_rf_inner_child(fd, name, -1, flags, NULL, true); } + +const char* rm_rf_safe(const char *p) { + PROTECT_ERRNO; + + if (!p) + return NULL; + + (void) rm_rf(p, REMOVE_ROOT|REMOVE_MISSING_OK|REMOVE_CHMOD); + return NULL; +} + +char* rm_rf_physical_and_free(char *p) { + PROTECT_ERRNO; + + if (!p) + return NULL; + + (void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL|REMOVE_MISSING_OK|REMOVE_CHMOD); + return mfree(p); +} + +char* rm_rf_subvolume_and_free(char *p) { + PROTECT_ERRNO; + + if (!p) + return NULL; + + (void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL|REMOVE_SUBVOLUME|REMOVE_MISSING_OK|REMOVE_CHMOD); + return mfree(p); +} diff --git a/src/shared/rm-rf.h b/src/shared/rm-rf.h index 2e107da0e1..a965df5f8e 100644 --- a/src/shared/rm-rf.h +++ b/src/shared/rm-rf.h @@ -4,8 +4,7 @@ #include #include -#include "alloc-util.h" -#include "errno-util.h" +#include "memory-util.h" typedef enum RemoveFlags { REMOVE_ONLY_DIRECTORIES = 1 << 0, /* Only remove empty directories, no files */ @@ -35,37 +34,13 @@ static inline int rm_rf(const char *path, RemoveFlags flags) { } /* Useful for using with _cleanup_(), destroys a directory on a temporary file system. */ -static inline const char* rm_rf_safe(const char *p) { - PROTECT_ERRNO; - - if (!p) - return NULL; - - (void) rm_rf(p, REMOVE_ROOT|REMOVE_MISSING_OK|REMOVE_CHMOD); - return NULL; -} +const char* rm_rf_safe(const char *p); DEFINE_TRIVIAL_CLEANUP_FUNC(const char*, rm_rf_safe); /* Similar as above, but allow to destroy a directory on a physical file system, and also frees the pointer. */ -static inline char* rm_rf_physical_and_free(char *p) { - PROTECT_ERRNO; - - if (!p) - return NULL; - - (void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL|REMOVE_MISSING_OK|REMOVE_CHMOD); - return mfree(p); -} +char* rm_rf_physical_and_free(char *p); DEFINE_TRIVIAL_CLEANUP_FUNC(char*, rm_rf_physical_and_free); /* Similar as above, but also has magic btrfs subvolume powers. */ -static inline char* rm_rf_subvolume_and_free(char *p) { - PROTECT_ERRNO; - - if (!p) - return NULL; - - (void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL|REMOVE_SUBVOLUME|REMOVE_MISSING_OK|REMOVE_CHMOD); - return mfree(p); -} +char* rm_rf_subvolume_and_free(char *p); DEFINE_TRIVIAL_CLEANUP_FUNC(char*, rm_rf_subvolume_and_free); From e53d4f343d7d3f6dea47c81e19952a74154fb4e8 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 5 May 2025 14:15:47 +0200 Subject: [PATCH 8/9] iovec-util: Reduce transitive includes --- src/analyze/analyze-pcrs.c | 1 + src/analyze/analyze-srk.c | 1 + src/basic/iovec-util.c | 42 +++++++++++++++++++ src/basic/iovec-util.h | 42 ++----------------- src/basic/log-context.c | 1 + src/bootctl/bootctl-install.c | 1 + src/bootctl/bootctl-set-efivar.c | 1 + src/bootctl/bootctl-status.c | 1 + src/bootctl/bootctl-util.c | 1 + src/cryptsetup/cryptsetup-keyfile.c | 1 + .../cryptsetup-token-systemd-fido2.c | 1 + .../cryptsetup-token-systemd-tpm2.c | 1 + .../cryptsetup-tokens/luks2-fido2.c | 1 + src/home/homectl-fido2.c | 1 + src/home/user-record-sign.c | 1 + src/libsystemd-network/icmp6-packet.c | 1 + src/libsystemd-network/ndisc-option.c | 1 + src/libsystemd-network/sd-dhcp-server-lease.c | 1 + .../sd-netlink/netlink-message-nfnl.c | 1 + src/network/networkd-serialize.c | 1 + src/resolve/resolved-dnstls.c | 1 + src/shared/bootspec.c | 1 + src/shared/creds-util.c | 1 + src/shared/fido2-util.c | 1 + src/shared/kernel-image.c | 1 + src/shared/openssl-util.h | 2 +- src/shared/pkcs11-util.c | 1 + 27 files changed, 71 insertions(+), 39 deletions(-) diff --git a/src/analyze/analyze-pcrs.c b/src/analyze/analyze-pcrs.c index 23f8f0773d..f00f4c95a1 100644 --- a/src/analyze/analyze-pcrs.c +++ b/src/analyze/analyze-pcrs.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-pcrs.h" #include "fileio.h" diff --git a/src/analyze/analyze-srk.c b/src/analyze/analyze-srk.c index adbc51316a..973f92e64c 100644 --- a/src/analyze/analyze-srk.c +++ b/src/analyze/analyze-srk.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-srk.h" #include "fileio.h" diff --git a/src/basic/iovec-util.c b/src/basic/iovec-util.c index 76f7f5f29e..ec8af57e64 100644 --- a/src/basic/iovec-util.c +++ b/src/basic/iovec-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "iovec-util.h" #include "string-util.h" @@ -51,6 +52,20 @@ bool iovec_increment(struct iovec *iovec, size_t n, size_t k) { return true; } +struct iovec* iovec_make_string(struct iovec *iovec, const char *s) { + assert(iovec); + + *iovec = IOVEC_MAKE(s, strlen_ptr(s)); + return iovec; +} + +void iovec_done_erase(struct iovec *iovec) { + assert(iovec); + + iovec->iov_base = erase_and_free(iovec->iov_base); + iovec->iov_len = 0; +} + char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) { char *x; @@ -83,6 +98,33 @@ void iovec_array_free(struct iovec *iovec, size_t n_iovec) { free(iovec); } +int iovec_memcmp(const struct iovec *a, const struct iovec *b) { + + if (a == b) + return 0; + + return memcmp_nn(a ? a->iov_base : NULL, + a ? a->iov_len : 0, + b ? b->iov_base : NULL, + b ? b->iov_len : 0); +} + +struct iovec* iovec_memdup(const struct iovec *source, struct iovec *ret) { + assert(ret); + + if (!iovec_is_set(source)) + *ret = (struct iovec) {}; + else { + void *p = memdup(source->iov_base, source->iov_len); + if (!p) + return NULL; + + *ret = IOVEC_MAKE(p, source->iov_len); + } + + return ret; +} + struct iovec* iovec_append(struct iovec *iovec, const struct iovec *append) { assert(iovec_is_valid(iovec)); diff --git a/src/basic/iovec-util.h b/src/basic/iovec-util.h index ace20098c8..d194195e74 100644 --- a/src/basic/iovec-util.h +++ b/src/basic/iovec-util.h @@ -5,7 +5,6 @@ #include #include -#include "alloc-util.h" #include "iovec-util-fundamental.h" #include "macro.h" @@ -16,12 +15,7 @@ size_t iovec_total_size(const struct iovec *iovec, size_t n) _nonnull_if_nonzero bool iovec_increment(struct iovec *iovec, size_t n, size_t k) _nonnull_if_nonzero_(1, 2); -static inline struct iovec* iovec_make_string(struct iovec *iovec, const char *s) { - assert(iovec); - /* We don't use strlen_ptr() here, because we don't want to include string-util.h for now */ - *iovec = IOVEC_MAKE(s, s ? strlen(s) : 0); - return iovec; -} +struct iovec* iovec_make_string(struct iovec *iovec, const char *s); #define IOVEC_MAKE_STRING(s) \ *iovec_make_string(&(struct iovec) {}, s) @@ -32,43 +26,15 @@ static inline struct iovec* iovec_make_string(struct iovec *iovec, const char *s .iov_len = STRLEN(s), \ } -static inline void iovec_done_erase(struct iovec *iovec) { - assert(iovec); - - iovec->iov_base = erase_and_free(iovec->iov_base); - iovec->iov_len = 0; -} +void iovec_done_erase(struct iovec *iovec); char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value); char* set_iovec_string_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value); void iovec_array_free(struct iovec *iovec, size_t n_iovec) _nonnull_if_nonzero_(1, 2); -static inline int iovec_memcmp(const struct iovec *a, const struct iovec *b) { +int iovec_memcmp(const struct iovec *a, const struct iovec *b) _pure_; - if (a == b) - return 0; - - return memcmp_nn(a ? a->iov_base : NULL, - a ? a->iov_len : 0, - b ? b->iov_base : NULL, - b ? b->iov_len : 0); -} - -static inline struct iovec* iovec_memdup(const struct iovec *source, struct iovec *ret) { - assert(ret); - - if (!iovec_is_set(source)) - *ret = (struct iovec) {}; - else { - void *p = memdup(source->iov_base, source->iov_len); - if (!p) - return NULL; - - *ret = IOVEC_MAKE(p, source->iov_len); - } - - return ret; -} +struct iovec* iovec_memdup(const struct iovec *source, struct iovec *ret); struct iovec* iovec_append(struct iovec *iovec, const struct iovec *append); diff --git a/src/basic/log-context.c b/src/basic/log-context.c index 8ab468ed9d..fd40c055a4 100644 --- a/src/basic/log-context.c +++ b/src/basic/log-context.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "env-util.h" #include "iovec-util.h" #include "log.h" diff --git a/src/bootctl/bootctl-install.c b/src/bootctl/bootctl-install.c index 20c3336009..8927464c46 100644 --- a/src/bootctl/bootctl-install.c +++ b/src/bootctl/bootctl-install.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "bootctl.h" #include "bootctl-install.h" #include "bootctl-random-seed.h" diff --git a/src/bootctl/bootctl-set-efivar.c b/src/bootctl/bootctl-set-efivar.c index 75cae29097..d53458c491 100644 --- a/src/bootctl/bootctl-set-efivar.c +++ b/src/bootctl/bootctl-set-efivar.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "bootctl.h" #include "bootctl-set-efivar.h" #include "efi-loader.h" diff --git a/src/bootctl/bootctl-status.c b/src/bootctl/bootctl-status.c index 6021c1a5ae..38fe5273be 100644 --- a/src/bootctl/bootctl-status.c +++ b/src/bootctl/bootctl-status.c @@ -4,6 +4,7 @@ #include #include +#include "alloc-util.h" #include "bootctl.h" #include "bootctl-status.h" #include "bootctl-util.h" diff --git a/src/bootctl/bootctl-util.c b/src/bootctl/bootctl-util.c index bc0b0d7c9c..41eadbdf1b 100644 --- a/src/bootctl/bootctl-util.c +++ b/src/bootctl/bootctl-util.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "bootctl.h" #include "bootctl-util.h" #include "errno-util.h" diff --git a/src/cryptsetup/cryptsetup-keyfile.c b/src/cryptsetup/cryptsetup-keyfile.c index d513f5d0a9..fb80cecd34 100644 --- a/src/cryptsetup/cryptsetup-keyfile.c +++ b/src/cryptsetup/cryptsetup-keyfile.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "cryptsetup-keyfile.h" #include "fileio.h" #include "log.h" diff --git a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c index 9e94c974c9..787d35b216 100644 --- a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c +++ b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c @@ -4,6 +4,7 @@ #include #include +#include "alloc-util.h" #include "cryptsetup-token.h" #include "cryptsetup-token-util.h" #include "hexdecoct.h" diff --git a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c index e067950da7..967b26df4d 100644 --- a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c +++ b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "cryptsetup-token.h" #include "cryptsetup-token-util.h" #include "hexdecoct.h" diff --git a/src/cryptsetup/cryptsetup-tokens/luks2-fido2.c b/src/cryptsetup/cryptsetup-tokens/luks2-fido2.c index 67714af690..18b0e4f37f 100644 --- a/src/cryptsetup/cryptsetup-tokens/luks2-fido2.c +++ b/src/cryptsetup/cryptsetup-tokens/luks2-fido2.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "cryptsetup-token-util.h" #include "hexdecoct.h" #include "json-util.h" diff --git a/src/home/homectl-fido2.c b/src/home/homectl-fido2.c index 772edcf95b..1b89e58890 100644 --- a/src/home/homectl-fido2.c +++ b/src/home/homectl-fido2.c @@ -4,6 +4,7 @@ #include #endif +#include "alloc-util.h" #include "ask-password-api.h" #include "errno-util.h" #include "fido2-util.h" diff --git a/src/home/user-record-sign.c b/src/home/user-record-sign.c index 2cdd20efe5..1f0bc88e41 100644 --- a/src/home/user-record-sign.c +++ b/src/home/user-record-sign.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "fd-util.h" #include "fileio.h" #include "json-util.h" diff --git a/src/libsystemd-network/icmp6-packet.c b/src/libsystemd-network/icmp6-packet.c index 02865a40c2..fe531ba14a 100644 --- a/src/libsystemd-network/icmp6-packet.c +++ b/src/libsystemd-network/icmp6-packet.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "icmp6-packet.h" #include "icmp6-util.h" #include "in-addr-util.h" diff --git a/src/libsystemd-network/ndisc-option.c b/src/libsystemd-network/ndisc-option.c index daa7aba5ea..1d4be8e2dd 100644 --- a/src/libsystemd-network/ndisc-option.c +++ b/src/libsystemd-network/ndisc-option.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "dns-domain.h" #include "dns-resolver-internal.h" #include "ether-addr-util.h" diff --git a/src/libsystemd-network/sd-dhcp-server-lease.c b/src/libsystemd-network/sd-dhcp-server-lease.c index 32706bf842..8b4c1012b5 100644 --- a/src/libsystemd-network/sd-dhcp-server-lease.c +++ b/src/libsystemd-network/sd-dhcp-server-lease.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "dhcp-server-lease-internal.h" #include "fd-util.h" #include "fs-util.h" diff --git a/src/libsystemd/sd-netlink/netlink-message-nfnl.c b/src/libsystemd/sd-netlink/netlink-message-nfnl.c index 66049d3106..72bcdde1bd 100644 --- a/src/libsystemd/sd-netlink/netlink-message-nfnl.c +++ b/src/libsystemd/sd-netlink/netlink-message-nfnl.c @@ -7,6 +7,7 @@ #include "sd-netlink.h" +#include "alloc-util.h" #include "iovec-util.h" #include "log.h" #include "netlink-internal.h" diff --git a/src/network/networkd-serialize.c b/src/network/networkd-serialize.c index 78c13b81c1..8e29bc518a 100644 --- a/src/network/networkd-serialize.c +++ b/src/network/networkd-serialize.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "af-list.h" +#include "alloc-util.h" #include "daemon-util.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/resolve/resolved-dnstls.c b/src/resolve/resolved-dnstls.c index c56f62e1e3..a03919cfed 100644 --- a/src/resolve/resolved-dnstls.c +++ b/src/resolve/resolved-dnstls.c @@ -8,6 +8,7 @@ #include #include +#include "alloc-util.h" #include "io-util.h" #include "openssl-util.h" #include "resolved-dns-server.h" diff --git a/src/shared/bootspec.c b/src/shared/bootspec.c index 15021ae251..e5ca2ccbb3 100644 --- a/src/shared/bootspec.c +++ b/src/shared/bootspec.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "bootspec.h" #include "bootspec-fundamental.h" #include "chase.h" diff --git a/src/shared/creds-util.c b/src/shared/creds-util.c index 67707dee1e..6eca4aa88c 100644 --- a/src/shared/creds-util.c +++ b/src/shared/creds-util.c @@ -10,6 +10,7 @@ #include "sd-json.h" #include "sd-varlink.h" +#include "alloc-util.h" #include "blockdev-util.h" #include "capability-util.h" #include "chattr-util.h" diff --git a/src/shared/fido2-util.c b/src/shared/fido2-util.c index 8c893d6b23..b0ec7ec410 100644 --- a/src/shared/fido2-util.c +++ b/src/shared/fido2-util.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "fido2-util.h" #include "fileio.h" #include "libfido2-util.h" diff --git a/src/shared/kernel-image.c b/src/shared/kernel-image.c index 090281de5e..3e31ec92ef 100644 --- a/src/shared/kernel-image.c +++ b/src/shared/kernel-image.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "env-file.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/shared/openssl-util.h b/src/shared/openssl-util.h index 240d6f26e6..a32e19d37d 100644 --- a/src/shared/openssl-util.h +++ b/src/shared/openssl-util.h @@ -3,7 +3,7 @@ #include "ask-password-api.h" #include "iovec-util.h" -#include "macro.h" +#include "memory-util.h" #include "sha256.h" typedef enum CertificateSourceType { diff --git a/src/shared/pkcs11-util.c b/src/shared/pkcs11-util.c index 04c6d691c6..1104e1e33a 100644 --- a/src/shared/pkcs11-util.c +++ b/src/shared/pkcs11-util.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "ask-password-api.h" #include "dlfcn-util.h" #include "env-util.h" From decad4826dd3c1937c3b4b11e173c1b6353bb0b4 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 5 May 2025 14:28:08 +0200 Subject: [PATCH 9/9] static-destruct: Reduce transitive includes --- src/ac-power/ac-power.c | 1 + src/analyze/analyze-critical-chain.c | 1 + src/ask-password/ask-password.c | 1 + src/basic/static-destruct.h | 3 ++- src/battery-check/battery-check.c | 1 + src/environment-d-generator/environment-d-generator.c | 1 + src/factory-reset/factory-reset-tool.c | 1 + src/hibernate-resume/hibernate-resume.c | 1 + src/import/import-generator.c | 1 + src/libsystemd-network/test-ndisc-send.c | 1 + src/locale/localectl.c | 1 + src/modules-load/modules-load.c | 1 + src/network/generator/main.c | 1 + src/network/networkctl.c | 1 + src/network/wait-online/wait-online.c | 1 + src/oom/oomctl.c | 1 + src/oom/oomd.c | 1 + src/pcrextend/pcrextend.c | 1 + src/pcrlock/pcrlock.c | 1 + src/rc-local-generator/rc-local-generator.c | 1 + src/sbsign/sbsign.c | 1 + src/sleep/sleep.c | 1 + src/ssh-generator/ssh-generator.c | 1 + src/ssh-generator/ssh-proxy.c | 1 + src/system-update-generator/system-update-generator.c | 1 + src/sysupdate/updatectl.c | 1 + src/timedate/timedatectl.c | 1 + src/tpm2-setup/tpm2-clear.c | 1 + src/tpm2-setup/tpm2-setup.c | 1 + src/udev/cdrom_id/cdrom_id.c | 1 + src/udev/fido_id/fido_id.c | 1 + src/udev/udevadm-cat.c | 1 + src/userdb/userdbctl.c | 1 + src/validatefs/validatefs.c | 1 + src/vpick/vpick-tool.c | 1 + src/xdg-autostart-generator/xdg-autostart-generator.c | 1 + src/xdg-autostart-generator/xdg-autostart-service.c | 1 + 37 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/ac-power/ac-power.c b/src/ac-power/ac-power.c index 06f999dc80..13382b9994 100644 --- a/src/ac-power/ac-power.c +++ b/src/ac-power/ac-power.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "ansi-color.h" #include "battery-util.h" #include "build.h" diff --git a/src/analyze/analyze-critical-chain.c b/src/analyze/analyze-critical-chain.c index edb06c5c53..e86aac2436 100644 --- a/src/analyze/analyze-critical-chain.c +++ b/src/analyze/analyze-critical-chain.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "analyze.h" #include "analyze-critical-chain.h" #include "analyze-time-data.h" diff --git a/src/ask-password/ask-password.c b/src/ask-password/ask-password.c index 55ff91d76c..b6760a980b 100644 --- a/src/ask-password/ask-password.c +++ b/src/ask-password/ask-password.c @@ -7,6 +7,7 @@ #include "sd-varlink.h" +#include "alloc-util.h" #include "ask-password-api.h" #include "build.h" #include "bus-polkit.h" diff --git a/src/basic/static-destruct.h b/src/basic/static-destruct.h index 2ffc6516f8..2c7c75628f 100644 --- a/src/basic/static-destruct.h +++ b/src/basic/static-destruct.h @@ -2,10 +2,11 @@ #pragma once -#include "alloc-util.h" #include "macro.h" #include "memory-util.h" +typedef void (*free_func_t)(void *p); + /* A framework for registering static variables that shall be freed on shutdown of a process. It's a bit like gcc's * destructor attribute, but allows us to precisely schedule when we want to free the variables. This is supposed to * feel a bit like the gcc cleanup attribute, but for static variables. Note that this does not work for static diff --git a/src/battery-check/battery-check.c b/src/battery-check/battery-check.c index 9e55edaf97..b6cbbbb84f 100644 --- a/src/battery-check/battery-check.c +++ b/src/battery-check/battery-check.c @@ -7,6 +7,7 @@ #include "sd-messages.h" +#include "alloc-util.h" #include "battery-util.h" #include "build.h" #include "errno-util.h" diff --git a/src/environment-d-generator/environment-d-generator.c b/src/environment-d-generator/environment-d-generator.c index 7affff5c1f..33f400864b 100644 --- a/src/environment-d-generator/environment-d-generator.c +++ b/src/environment-d-generator/environment-d-generator.c @@ -2,6 +2,7 @@ #include "sd-path.h" +#include "alloc-util.h" #include "conf-files.h" #include "constants.h" #include "env-file.h" diff --git a/src/factory-reset/factory-reset-tool.c b/src/factory-reset/factory-reset-tool.c index 73f37e7490..f2c4c7ca43 100644 --- a/src/factory-reset/factory-reset-tool.c +++ b/src/factory-reset/factory-reset-tool.c @@ -5,6 +5,7 @@ #include "sd-json.h" #include "sd-varlink.h" +#include "alloc-util.h" #include "ansi-color.h" #include "build.h" #include "device-util.h" diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c index 91b98b4f87..781b2faf77 100644 --- a/src/hibernate-resume/hibernate-resume.c +++ b/src/hibernate-resume/hibernate-resume.c @@ -4,6 +4,7 @@ #include #include +#include "alloc-util.h" #include "build.h" #include "devnum-util.h" #include "hibernate-resume-config.h" diff --git a/src/import/import-generator.c b/src/import/import-generator.c index bee4d7262f..a442a2025f 100644 --- a/src/import/import-generator.c +++ b/src/import/import-generator.c @@ -2,6 +2,7 @@ #include "sd-json.h" +#include "alloc-util.h" #include "creds-util.h" #include "discover-image.h" #include "efivars.h" diff --git a/src/libsystemd-network/test-ndisc-send.c b/src/libsystemd-network/test-ndisc-send.c index 85897e3797..52bd9fa637 100644 --- a/src/libsystemd-network/test-ndisc-send.c +++ b/src/libsystemd-network/test-ndisc-send.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "build.h" #include "ether-addr-util.h" #include "fd-util.h" diff --git a/src/locale/localectl.c b/src/locale/localectl.c index 36dbeb9daa..54e2ee597c 100644 --- a/src/locale/localectl.c +++ b/src/locale/localectl.c @@ -5,6 +5,7 @@ #include "sd-bus.h" +#include "alloc-util.h" #include "build.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c index 27ecb23e9b..a09311d41d 100644 --- a/src/modules-load/modules-load.c +++ b/src/modules-load/modules-load.c @@ -5,6 +5,7 @@ #include #include +#include "alloc-util.h" #include "build.h" #include "conf-files.h" #include "constants.h" diff --git a/src/network/generator/main.c b/src/network/generator/main.c index 78389ba319..0d077585ba 100644 --- a/src/network/generator/main.c +++ b/src/network/generator/main.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "build.h" #include "creds-util.h" #include "errno-util.h" diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 829618e811..cee7be5ee1 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "build.h" #include "log.h" #include "logs-show.h" diff --git a/src/network/wait-online/wait-online.c b/src/network/wait-online/wait-online.c index a8b13264be..58b485bbd1 100644 --- a/src/network/wait-online/wait-online.c +++ b/src/network/wait-online/wait-online.c @@ -6,6 +6,7 @@ #include "sd-daemon.h" +#include "alloc-util.h" #include "build.h" #include "daemon-util.h" #include "log.h" diff --git a/src/oom/oomctl.c b/src/oom/oomctl.c index 3a2ac2a6aa..09df6080a8 100644 --- a/src/oom/oomctl.c +++ b/src/oom/oomctl.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "build.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/oom/oomd.c b/src/oom/oomd.c index 11d11a3dc8..d0876d789f 100644 --- a/src/oom/oomd.c +++ b/src/oom/oomd.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "build.h" #include "bus-log-control-api.h" #include "bus-object.h" diff --git a/src/pcrextend/pcrextend.c b/src/pcrextend/pcrextend.c index f54fb85343..d57fcfbfcc 100644 --- a/src/pcrextend/pcrextend.c +++ b/src/pcrextend/pcrextend.c @@ -6,6 +6,7 @@ #include "sd-messages.h" #include "sd-varlink.h" +#include "alloc-util.h" #include "build.h" #include "efi-loader.h" #include "escape.h" diff --git a/src/pcrlock/pcrlock.c b/src/pcrlock/pcrlock.c index a5cf892953..d821c6457e 100644 --- a/src/pcrlock/pcrlock.c +++ b/src/pcrlock/pcrlock.c @@ -9,6 +9,7 @@ #include "sd-json.h" #include "sd-varlink.h" +#include "alloc-util.h" #include "ask-password-api.h" #include "bitfield.h" #include "blockdev-util.h" diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c index 53ea23215e..f680382bfc 100644 --- a/src/rc-local-generator/rc-local-generator.c +++ b/src/rc-local-generator/rc-local-generator.c @@ -4,6 +4,7 @@ #include #include +#include "alloc-util.h" #include "generator.h" #include "initrd-util.h" #include "log.h" diff --git a/src/sbsign/sbsign.c b/src/sbsign/sbsign.c index 74e05d4b40..346f577ebe 100644 --- a/src/sbsign/sbsign.c +++ b/src/sbsign/sbsign.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "ansi-color.h" #include "authenticode.h" #include "build.h" diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c index 2149a49299..ac6912d2f9 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c @@ -19,6 +19,7 @@ #include "sd-json.h" #include "sd-messages.h" +#include "alloc-util.h" #include "battery-capacity.h" #include "battery-util.h" #include "blockdev-util.h" diff --git a/src/ssh-generator/ssh-generator.c b/src/ssh-generator/ssh-generator.c index 99ceeb667a..1cc5efd04c 100644 --- a/src/ssh-generator/ssh-generator.c +++ b/src/ssh-generator/ssh-generator.c @@ -4,6 +4,7 @@ #include #include +#include "alloc-util.h" #include "creds-util.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/ssh-generator/ssh-proxy.c b/src/ssh-generator/ssh-proxy.c index 86db2e1cde..eaf5982dea 100644 --- a/src/ssh-generator/ssh-proxy.c +++ b/src/ssh-generator/ssh-proxy.c @@ -6,6 +6,7 @@ #include "sd-varlink.h" +#include "alloc-util.h" #include "fd-util.h" #include "io-util.h" #include "iovec-util.h" diff --git a/src/system-update-generator/system-update-generator.c b/src/system-update-generator/system-update-generator.c index d76437745b..c70958b9c9 100644 --- a/src/system-update-generator/system-update-generator.c +++ b/src/system-update-generator/system-update-generator.c @@ -3,6 +3,7 @@ #include #include +#include "alloc-util.h" #include "fs-util.h" #include "generator.h" #include "initrd-util.h" diff --git a/src/sysupdate/updatectl.c b/src/sysupdate/updatectl.c index 20476fae88..af65f28429 100644 --- a/src/sysupdate/updatectl.c +++ b/src/sysupdate/updatectl.c @@ -6,6 +6,7 @@ #include "sd-bus.h" #include "sd-json.h" +#include "alloc-util.h" #include "build.h" #include "bus-error.h" #include "bus-label.h" diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index 1691c5aa1b..02ee9c226e 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -8,6 +8,7 @@ #include "sd-bus.h" +#include "alloc-util.h" #include "build.h" #include "bus-error.h" #include "bus-locator.h" diff --git a/src/tpm2-setup/tpm2-clear.c b/src/tpm2-setup/tpm2-clear.c index 9bc99b1cd1..2bbaf333ba 100644 --- a/src/tpm2-setup/tpm2-clear.c +++ b/src/tpm2-setup/tpm2-clear.c @@ -4,6 +4,7 @@ #include "sd-messages.h" +#include "alloc-util.h" #include "build.h" #include "env-util.h" #include "fileio.h" diff --git a/src/tpm2-setup/tpm2-setup.c b/src/tpm2-setup/tpm2-setup.c index 0a928e1cb9..29f2e55860 100644 --- a/src/tpm2-setup/tpm2-setup.c +++ b/src/tpm2-setup/tpm2-setup.c @@ -5,6 +5,7 @@ #include "sd-messages.h" +#include "alloc-util.h" #include "build.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/udev/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c index 24bb9cd5ef..748093a275 100644 --- a/src/udev/cdrom_id/cdrom_id.c +++ b/src/udev/cdrom_id/cdrom_id.c @@ -10,6 +10,7 @@ #include #include +#include "alloc-util.h" #include "build.h" #include "fd-util.h" #include "main-func.h" diff --git a/src/udev/fido_id/fido_id.c b/src/udev/fido_id/fido_id.c index 6c4b099568..2bd64ee75e 100644 --- a/src/udev/fido_id/fido_id.c +++ b/src/udev/fido_id/fido_id.c @@ -15,6 +15,7 @@ #include #include +#include "alloc-util.h" #include "build.h" #include "device-private.h" #include "device-util.h" diff --git a/src/udev/udevadm-cat.c b/src/udev/udevadm-cat.c index 2d7e86994d..76811ef16f 100644 --- a/src/udev/udevadm-cat.c +++ b/src/udev/udevadm-cat.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "log.h" #include "parse-argument.h" #include "pretty-print.h" diff --git a/src/userdb/userdbctl.c b/src/userdb/userdbctl.c index aba39d251a..db1743ee05 100644 --- a/src/userdb/userdbctl.c +++ b/src/userdb/userdbctl.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "bitfield.h" #include "build.h" #include "copy.h" diff --git a/src/validatefs/validatefs.c b/src/validatefs/validatefs.c index 2f841aa4e6..8cc595932e 100644 --- a/src/validatefs/validatefs.c +++ b/src/validatefs/validatefs.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "blkid-util.h" #include "blockdev-util.h" #include "build.h" diff --git a/src/vpick/vpick-tool.c b/src/vpick/vpick-tool.c index 64ece30510..df6d888091 100644 --- a/src/vpick/vpick-tool.c +++ b/src/vpick/vpick-tool.c @@ -2,6 +2,7 @@ #include +#include "alloc-util.h" #include "architecture.h" #include "build.h" #include "format-table.h" diff --git a/src/xdg-autostart-generator/xdg-autostart-generator.c b/src/xdg-autostart-generator/xdg-autostart-generator.c index 9323143fa4..37e59991e9 100644 --- a/src/xdg-autostart-generator/xdg-autostart-generator.c +++ b/src/xdg-autostart-generator/xdg-autostart-generator.c @@ -4,6 +4,7 @@ #include #include +#include "alloc-util.h" #include "dirent-util.h" #include "fd-util.h" #include "generator.h" diff --git a/src/xdg-autostart-generator/xdg-autostart-service.c b/src/xdg-autostart-generator/xdg-autostart-service.c index 23c6fb01ef..e4081c9e63 100644 --- a/src/xdg-autostart-generator/xdg-autostart-service.c +++ b/src/xdg-autostart-generator/xdg-autostart-service.c @@ -5,6 +5,7 @@ #include #include +#include "alloc-util.h" #include "conf-parser.h" #include "escape.h" #include "extract-word.h"