From b8ee7c2206f1fb00a10b6185af3882c342f8b9f5 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 17 Oct 2025 10:49:53 +0200 Subject: [PATCH] tree-wide: Various forward header cleanups - Make sure forward headers have the iwyu pragma to always keep them - Make sure we always include the daemon specific forward header instead of shared-forward.h - Remove shared-forward.h include where the daemon specific forward header is already included --- src/core/audit-fd.h | 2 +- src/core/clock-warp.h | 2 +- src/core/core-forward.h | 2 ++ src/core/crash-handler.h | 2 +- src/core/kill.h | 2 +- src/core/main.h | 2 +- src/core/manager.h | 2 +- src/core/selinux-setup.h | 2 +- src/core/show-status.h | 2 +- src/core/smack-setup.h | 2 +- src/core/unit-dependency-atom.h | 2 +- src/core/varlink-cgroup.h | 2 +- src/core/varlink-common.h | 2 +- src/core/varlink-dynamic-user.h | 2 +- src/core/varlink-manager.h | 2 +- src/core/varlink-unit.h | 2 +- src/home/homed-forward.h | 2 ++ src/home/homed-home.h | 1 - src/home/homework-forward.h | 2 ++ src/journal/journald-forward.h | 2 ++ src/libsystemd/sd-bus/bus-forward.h | 4 +++- src/login/logind-forward.h | 2 ++ src/login/logind-user.h | 1 - src/machine/machine-forward.h | 2 ++ src/network/networkd-address.h | 1 - src/network/networkd-bridge-fdb.h | 1 - src/network/networkd-forward.h | 2 ++ src/network/networkd-link.h | 1 - src/portable/portabled-forward.h | 2 ++ src/resolve/resolved-dns-scope.h | 1 - src/resolve/resolved-dns-server.h | 1 - src/resolve/resolved-dns-stream.h | 1 - src/resolve/resolved-dnssd-bus.h | 2 +- src/resolve/resolved-forward.h | 2 ++ src/resolve/resolved-manager.h | 1 - src/sysupdate/sysupdate-forward.h | 2 ++ src/timesync/timesyncd-forward.h | 2 ++ src/udev/udev-builtin.h | 2 +- src/udev/udev-error.h | 2 +- src/udev/udev-forward.h | 2 ++ src/udev/udev-manager.h | 1 - src/udev/udev-node.h | 2 +- src/udev/udev-trace.h | 2 +- 43 files changed, 47 insertions(+), 31 deletions(-) diff --git a/src/core/audit-fd.h b/src/core/audit-fd.h index 4f02bdfdd0..f98f4e907d 100644 --- a/src/core/audit-fd.h +++ b/src/core/audit-fd.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" int get_core_audit_fd(void); void close_core_audit_fd(void); diff --git a/src/core/clock-warp.h b/src/core/clock-warp.h index 1c6011b3d5..771fefd289 100644 --- a/src/core/clock-warp.h +++ b/src/core/clock-warp.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" int clock_reset_timewarp(void); void clock_apply_epoch(bool allow_backwards); diff --git a/src/core/core-forward.h b/src/core/core-forward.h index a82a12bc08..446cf501e4 100644 --- a/src/core/core-forward.h +++ b/src/core/core-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "conf-parser-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */ #include "unit-def.h" /* IWYU pragma: export */ diff --git a/src/core/crash-handler.h b/src/core/crash-handler.h index 379f3050b1..b00991ae07 100644 --- a/src/core/crash-handler.h +++ b/src/core/crash-handler.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" typedef enum CrashAction { CRASH_FREEZE, diff --git a/src/core/kill.h b/src/core/kill.h index 4bb88c9bd9..ac1163737f 100644 --- a/src/core/kill.h +++ b/src/core/kill.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" typedef enum KillMode { /* The kill mode is a property of a unit. */ diff --git a/src/core/main.h b/src/core/main.h index f892b13f02..9ad5388413 100644 --- a/src/core/main.h +++ b/src/core/main.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" #include "crash-handler.h" extern bool arg_dump_core; diff --git a/src/core/manager.h b/src/core/manager.h index d57912f6bd..00f3becd63 100644 --- a/src/core/manager.h +++ b/src/core/manager.h @@ -6,7 +6,7 @@ #include "cgroup.h" #include "common-signal.h" #include "execute.h" -#include "shared-forward.h" +#include "core-forward.h" #include "log.h" #include "path-lookup.h" #include "show-status.h" diff --git a/src/core/selinux-setup.h b/src/core/selinux-setup.h index 2caa75ff73..3dad97bbf6 100644 --- a/src/core/selinux-setup.h +++ b/src/core/selinux-setup.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" int mac_selinux_setup(bool *loaded_policy); diff --git a/src/core/show-status.h b/src/core/show-status.h index 9625426fa1..cc58a191f7 100644 --- a/src/core/show-status.h +++ b/src/core/show-status.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" /* Manager status */ diff --git a/src/core/smack-setup.h b/src/core/smack-setup.h index df64d58547..1e77018aa8 100644 --- a/src/core/smack-setup.h +++ b/src/core/smack-setup.h @@ -7,6 +7,6 @@ Nathaniel Chen ***/ -#include "shared-forward.h" +#include "core-forward.h" int mac_smack_setup(bool *loaded_policy); diff --git a/src/core/unit-dependency-atom.h b/src/core/unit-dependency-atom.h index c0ad3db513..38f7532281 100644 --- a/src/core/unit-dependency-atom.h +++ b/src/core/unit-dependency-atom.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" /* Flags that identify the various "atomic" behaviours a specific dependency type implies. Each dependency is * a combination of one or more of these flags that define what they actually entail. */ diff --git a/src/core/varlink-cgroup.h b/src/core/varlink-cgroup.h index 8e5f2363c3..13e24417d6 100644 --- a/src/core/varlink-cgroup.h +++ b/src/core/varlink-cgroup.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" int unit_cgroup_context_build_json(sd_json_variant **ret, const char *name, void *userdata); int unit_cgroup_runtime_build_json(sd_json_variant **ret, const char *name, void *userdata); diff --git a/src/core/varlink-common.h b/src/core/varlink-common.h index 24e21e7b0b..5918f9ac68 100644 --- a/src/core/varlink-common.h +++ b/src/core/varlink-common.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" int rlimit_build_json(sd_json_variant **ret, const char *name, void *userdata); int rlimit_table_build_json(sd_json_variant **ret, const char *name, void *userdata); diff --git a/src/core/varlink-dynamic-user.h b/src/core/varlink-dynamic-user.h index 14bcf3191f..6089d3b559 100644 --- a/src/core/varlink-dynamic-user.h +++ b/src/core/varlink-dynamic-user.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" int vl_method_get_user_record(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); int vl_method_get_group_record(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); diff --git a/src/core/varlink-manager.h b/src/core/varlink-manager.h index 5836d5443a..fde4b61376 100644 --- a/src/core/varlink-manager.h +++ b/src/core/varlink-manager.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" int vl_method_describe_manager(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata); diff --git a/src/core/varlink-unit.h b/src/core/varlink-unit.h index 431f1f832e..4b5e7aa52a 100644 --- a/src/core/varlink-unit.h +++ b/src/core/varlink-unit.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" +#include "core-forward.h" #define VARLINK_ERROR_UNIT_NO_SUCH_UNIT "io.systemd.Unit.NoSuchUnit" diff --git a/src/home/homed-forward.h b/src/home/homed-forward.h index 18a8df8e61..995d87eaa5 100644 --- a/src/home/homed-forward.h +++ b/src/home/homed-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "conf-parser-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */ diff --git a/src/home/homed-home.h b/src/home/homed-home.h index 0692e56089..93f38d86d6 100644 --- a/src/home/homed-home.h +++ b/src/home/homed-home.h @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" #include "homed-forward.h" #include "pidref.h" #include "stat-util.h" diff --git a/src/home/homework-forward.h b/src/home/homework-forward.h index 04fefe6d45..3c09338eef 100644 --- a/src/home/homework-forward.h +++ b/src/home/homework-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "shared-forward.h" /* IWYU pragma: export */ typedef enum HomeSetupFlags HomeSetupFlags; diff --git a/src/journal/journald-forward.h b/src/journal/journald-forward.h index 141b98024f..66bcc40d3a 100644 --- a/src/journal/journald-forward.h +++ b/src/journal/journald-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "conf-parser-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */ diff --git a/src/libsystemd/sd-bus/bus-forward.h b/src/libsystemd/sd-bus/bus-forward.h index 7208e89c1b..65f8d6515a 100644 --- a/src/libsystemd/sd-bus/bus-forward.h +++ b/src/libsystemd/sd-bus/bus-forward.h @@ -1,7 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-forward.h" +/* IWYU pragma: always_keep */ + +#include "sd-forward.h" /* IWYU pragma: export */ typedef enum BusAuth BusAuth; typedef enum BusSlotType BusSlotType; diff --git a/src/login/logind-forward.h b/src/login/logind-forward.h index e9b9ebce37..8f1fe4acee 100644 --- a/src/login/logind-forward.h +++ b/src/login/logind-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "conf-parser-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */ diff --git a/src/login/logind-user.h b/src/login/logind-user.h index d3773996fa..413cfb3f8e 100644 --- a/src/login/logind-user.h +++ b/src/login/logind-user.h @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" #include "list.h" #include "logind-forward.h" #include "time-util.h" diff --git a/src/machine/machine-forward.h b/src/machine/machine-forward.h index ff7b98fc45..5921ad87fa 100644 --- a/src/machine/machine-forward.h +++ b/src/machine/machine-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "shared-forward.h" /* IWYU pragma: export */ typedef struct Machine Machine; diff --git a/src/network/networkd-address.h b/src/network/networkd-address.h index 1304e41f8c..1154aaf947 100644 --- a/src/network/networkd-address.h +++ b/src/network/networkd-address.h @@ -2,7 +2,6 @@ #pragma once #include "firewall-util.h" -#include "shared-forward.h" #include "in-addr-util.h" #include "networkd-forward.h" #include "networkd-util.h" diff --git a/src/network/networkd-bridge-fdb.h b/src/network/networkd-bridge-fdb.h index b53235a8eb..a80c9d4c3f 100644 --- a/src/network/networkd-bridge-fdb.h +++ b/src/network/networkd-bridge-fdb.h @@ -8,7 +8,6 @@ #include #include -#include "shared-forward.h" #include "in-addr-util.h" #include "networkd-forward.h" diff --git a/src/network/networkd-forward.h b/src/network/networkd-forward.h index f004fc6a47..95bd46801e 100644 --- a/src/network/networkd-forward.h +++ b/src/network/networkd-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "conf-parser-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */ diff --git a/src/network/networkd-link.h b/src/network/networkd-link.h index 5622677600..6e936e3bb1 100644 --- a/src/network/networkd-link.h +++ b/src/network/networkd-link.h @@ -4,7 +4,6 @@ #include #include "ether-addr-util.h" -#include "shared-forward.h" #include "network-util.h" #include "networkd-bridge-vlan.h" #include "networkd-forward.h" diff --git a/src/portable/portabled-forward.h b/src/portable/portabled-forward.h index 7dc8fee923..9792a7acd1 100644 --- a/src/portable/portabled-forward.h +++ b/src/portable/portabled-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "shared-forward.h" /* IWYU pragma: export */ typedef struct Manager Manager; diff --git a/src/resolve/resolved-dns-scope.h b/src/resolve/resolved-dns-scope.h index c1a5365090..3ecc2183df 100644 --- a/src/resolve/resolved-dns-scope.h +++ b/src/resolve/resolved-dns-scope.h @@ -2,7 +2,6 @@ #pragma once #include "dns-def.h" -#include "shared-forward.h" #include "list.h" #include "ratelimit.h" #include "resolve-util.h" diff --git a/src/resolve/resolved-dns-server.h b/src/resolve/resolved-dns-server.h index 0eaac00332..7dfa0eae66 100644 --- a/src/resolve/resolved-dns-server.h +++ b/src/resolve/resolved-dns-server.h @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" #include "in-addr-util.h" #include "list.h" #include "resolved-conf.h" diff --git a/src/resolve/resolved-dns-stream.h b/src/resolve/resolved-dns-stream.h index 6c932f5e84..83bbd11eab 100644 --- a/src/resolve/resolved-dns-stream.h +++ b/src/resolve/resolved-dns-stream.h @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "shared-forward.h" #include "list.h" #include "resolved-dns-packet.h" #include "resolved-dnstls.h" diff --git a/src/resolve/resolved-dnssd-bus.h b/src/resolve/resolved-dnssd-bus.h index 882e5a81b3..df0a646fe6 100644 --- a/src/resolve/resolved-dnssd-bus.h +++ b/src/resolve/resolved-dnssd-bus.h @@ -2,7 +2,7 @@ #pragma once -#include "shared-forward.h" +#include "resolved-forward.h" extern const BusObjectImplementation dnssd_object; diff --git a/src/resolve/resolved-forward.h b/src/resolve/resolved-forward.h index 9a79734847..8f1fb02539 100644 --- a/src/resolve/resolved-forward.h +++ b/src/resolve/resolved-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "conf-parser-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */ diff --git a/src/resolve/resolved-manager.h b/src/resolve/resolved-manager.h index 47a25abd44..68e9a6e4ea 100644 --- a/src/resolve/resolved-manager.h +++ b/src/resolve/resolved-manager.h @@ -4,7 +4,6 @@ #include #include "common-signal.h" -#include "shared-forward.h" #include "list.h" #include "resolve-util.h" #include "resolved-dns-browse-services.h" diff --git a/src/sysupdate/sysupdate-forward.h b/src/sysupdate/sysupdate-forward.h index a92de0878a..a8659d756b 100644 --- a/src/sysupdate/sysupdate-forward.h +++ b/src/sysupdate/sysupdate-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "shared-forward.h" /* IWYU pragma: export */ typedef struct Context Context; diff --git a/src/timesync/timesyncd-forward.h b/src/timesync/timesyncd-forward.h index 8df2e02111..1c3d68d1e5 100644 --- a/src/timesync/timesyncd-forward.h +++ b/src/timesync/timesyncd-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "conf-parser-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */ diff --git a/src/udev/udev-builtin.h b/src/udev/udev-builtin.h index 5f600d6a43..3e830c77ea 100644 --- a/src/udev/udev-builtin.h +++ b/src/udev/udev-builtin.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "shared-forward.h" +#include "udev-forward.h" #include "udev-event.h" typedef struct UdevBuiltin { diff --git a/src/udev/udev-error.h b/src/udev/udev-error.h index c1db12960b..d1216c65e6 100644 --- a/src/udev/udev-error.h +++ b/src/udev/udev-error.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "shared-forward.h" +#include "udev-forward.h" int device_add_errno(sd_device *dev, int error); int device_add_exit_status(sd_device *dev, int status); diff --git a/src/udev/udev-forward.h b/src/udev/udev-forward.h index f5e9be6a1f..4932063692 100644 --- a/src/udev/udev-forward.h +++ b/src/udev/udev-forward.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +/* IWYU pragma: always_keep */ + #include "shared-forward.h" /* IWYU pragma: export */ typedef struct UdevCtrl UdevCtrl; diff --git a/src/udev/udev-manager.h b/src/udev/udev-manager.h index 9bb9363240..9bafe24f28 100644 --- a/src/udev/udev-manager.h +++ b/src/udev/udev-manager.h @@ -3,7 +3,6 @@ #include "sd-event.h" -#include "shared-forward.h" #include "list.h" #include "udev-config.h" #include "udev-forward.h" diff --git a/src/udev/udev-node.h b/src/udev/udev-node.h index 904421c0ec..d5c75ebd6e 100644 --- a/src/udev/udev-node.h +++ b/src/udev/udev-node.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "shared-forward.h" +#include "udev-forward.h" int udev_node_apply_permissions( sd_device *dev, diff --git a/src/udev/udev-trace.h b/src/udev/udev-trace.h index 10d1e27345..15a2e8bd25 100644 --- a/src/udev/udev-trace.h +++ b/src/udev/udev-trace.h @@ -8,7 +8,7 @@ #include "device-private.h" #include "device-util.h" #include "errno-util.h" -#include "shared-forward.h" +#include "udev-forward.h" /* Each trace point can have different number of additional arguments. Note that when the macro is used only * additional arguments are listed in the macro invocation!