From 8aa304d3135b3434edd8aa86c82cd42e440d68a2 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 18 Apr 2025 21:19:07 +0200 Subject: [PATCH] shared: Remove circular dependency between image-policy.h and dissect-image.h ImagePolicy can just be a forward declaration in dissect-image.h. --- src/analyze/analyze-image-policy.c | 1 + src/analyze/analyze.c | 1 + src/core/dbus-execute.c | 1 + src/core/exec-credential.c | 1 + src/core/exec-invoke.c | 1 + src/core/namespace.c | 1 + src/coredump/coredumpctl.c | 1 + src/firstboot/firstboot.c | 1 + src/home/homework-cifs.c | 1 + src/home/homework-directory.c | 1 + src/home/homework-fscrypt.c | 1 + src/home/homework-mount.c | 1 + src/journal/journalctl.c | 1 + src/machine-id-setup/machine-id-setup-main.c | 1 + src/nspawn/nspawn-mount.c | 1 + src/repart/repart.c | 1 + src/shared/dissect-image.h | 4 +--- src/shared/fdisk-util.c | 1 + src/shared/image-policy.h | 6 ++---- src/shared/mkfs-util.c | 1 + src/shared/mount-util.c | 1 + src/shutdown/umount.c | 1 + src/sysupdate/sysupdate.c | 1 + src/sysusers/sysusers.c | 1 + src/tmpfiles/tmpfiles.c | 1 + 25 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/analyze/analyze-image-policy.c b/src/analyze/analyze-image-policy.c index df4f62f6b8d..d18200a0624 100644 --- a/src/analyze/analyze-image-policy.c +++ b/src/analyze/analyze-image-policy.c @@ -3,6 +3,7 @@ #include "analyze-image-policy.h" #include "analyze.h" #include "format-table.h" +#include "image-policy.h" #include "terminal-util.h" static int table_add_designator_line(Table *table, PartitionDesignator d, PartitionPolicyFlags f) { diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c index d1619dbb635..03abbc241d4 100644 --- a/src/analyze/analyze.c +++ b/src/analyze/analyze.c @@ -65,6 +65,7 @@ #include "format-table.h" #include "glob-util.h" #include "hashmap.h" +#include "image-policy.h" #include "locale-util.h" #include "log.h" #include "main-func.h" diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c index 2e1527811ce..3953e775ecd 100644 --- a/src/core/dbus-execute.c +++ b/src/core/dbus-execute.c @@ -22,6 +22,7 @@ #include "fileio.h" #include "hexdecoct.h" #include "hostname-util.h" +#include "image-policy.h" #include "ioprio-util.h" #include "iovec-util.h" #include "journal-file.h" diff --git a/src/core/exec-credential.c b/src/core/exec-credential.c index 95ff1e45bb3..bed7ff3672c 100644 --- a/src/core/exec-credential.c +++ b/src/core/exec-credential.c @@ -11,6 +11,7 @@ #include "io-util.h" #include "iovec-util.h" #include "label-util.h" +#include "log.h" #include "mkdir-label.h" #include "mount-util.h" #include "mountpoint-util.h" diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c index 7b283eb485a..f22aad76d27 100644 --- a/src/core/exec-invoke.c +++ b/src/core/exec-invoke.c @@ -38,6 +38,7 @@ #include "fd-util.h" #include "hexdecoct.h" #include "hostname-setup.h" +#include "image-policy.h" #include "io-util.h" #include "ioprio-util.h" #include "iovec-util.h" diff --git a/src/core/namespace.c b/src/core/namespace.c index efdd93ddf9d..207f3a2d667 100644 --- a/src/core/namespace.c +++ b/src/core/namespace.c @@ -22,6 +22,7 @@ #include "label-util.h" #include "list.h" #include "lock-util.h" +#include "log.h" #include "loop-util.h" #include "loopback-setup.h" #include "missing_syscall.h" diff --git a/src/coredump/coredumpctl.c b/src/coredump/coredumpctl.c index f01db21f88e..f44fc706b21 100644 --- a/src/coredump/coredumpctl.c +++ b/src/coredump/coredumpctl.c @@ -25,6 +25,7 @@ #include "format-table.h" #include "fs-util.h" #include "glob-util.h" +#include "image-policy.h" #include "journal-internal.h" #include "journal-util.h" #include "json-util.h" diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c index e324af8cfc5..279b62bfd45 100644 --- a/src/firstboot/firstboot.c +++ b/src/firstboot/firstboot.c @@ -26,6 +26,7 @@ #include "fs-util.h" #include "glyph-util.h" #include "hostname-util.h" +#include "image-policy.h" #include "kbd-util.h" #include "libcrypt-util.h" #include "locale-util.h" diff --git a/src/home/homework-cifs.c b/src/home/homework-cifs.c index e10ef9ccddd..0cdf89f7684 100644 --- a/src/home/homework-cifs.c +++ b/src/home/homework-cifs.c @@ -9,6 +9,7 @@ #include "fs-util.h" #include "homework-cifs.h" #include "homework-mount.h" +#include "log.h" #include "memfd-util.h" #include "mkdir.h" #include "mount-util.h" diff --git a/src/home/homework-directory.c b/src/home/homework-directory.c index 37bdba30a3e..e471a4a92af 100644 --- a/src/home/homework-directory.c +++ b/src/home/homework-directory.c @@ -8,6 +8,7 @@ #include "homework-directory.h" #include "homework-mount.h" #include "homework-quota.h" +#include "log.h" #include "mkdir.h" #include "mount-util.h" #include "path-util.h" diff --git a/src/home/homework-fscrypt.c b/src/home/homework-fscrypt.c index 7574b5f9421..663138988a9 100644 --- a/src/home/homework-fscrypt.c +++ b/src/home/homework-fscrypt.c @@ -12,6 +12,7 @@ #include "homework-mount.h" #include "homework-quota.h" #include "keyring-util.h" +#include "log.h" #include "memory-util.h" #include "missing_fs.h" #include "missing_keyctl.h" diff --git a/src/home/homework-mount.c b/src/home/homework-mount.c index 52115d86be7..7f027895c83 100644 --- a/src/home/homework-mount.c +++ b/src/home/homework-mount.c @@ -10,6 +10,7 @@ #include "home-util.h" #include "homework-mount.h" #include "homework.h" +#include "log.h" #include "missing_syscall.h" #include "mkdir.h" #include "mount-util.h" diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index 37cda775542..400894e2a20 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -7,6 +7,7 @@ #include "build.h" #include "glob-util.h" #include "id128-print.h" +#include "image-policy.h" #include "journalctl.h" #include "journalctl-authenticate.h" #include "journalctl-catalog.h" diff --git a/src/machine-id-setup/machine-id-setup-main.c b/src/machine-id-setup/machine-id-setup-main.c index fa4ba6a037d..956a538a757 100644 --- a/src/machine-id-setup/machine-id-setup-main.c +++ b/src/machine-id-setup/machine-id-setup-main.c @@ -9,6 +9,7 @@ #include "build.h" #include "dissect-image.h" #include "id128-util.h" +#include "image-policy.h" #include "log.h" #include "machine-id-setup.h" #include "main-func.h" diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c index 3e69781572f..a6c99c83c6f 100644 --- a/src/nspawn/nspawn-mount.c +++ b/src/nspawn/nspawn-mount.c @@ -10,6 +10,7 @@ #include "format-util.h" #include "fs-util.h" #include "label-util.h" +#include "log.h" #include "mkdir-label.h" #include "mount-util.h" #include "mountpoint-util.h" diff --git a/src/repart/repart.c b/src/repart/repart.c index f9aa9ac43ca..c0fd1cc7bcf 100644 --- a/src/repart/repart.c +++ b/src/repart/repart.c @@ -45,6 +45,7 @@ #include "hexdecoct.h" #include "hmac.h" #include "id128-util.h" +#include "image-policy.h" #include "initrd-util.h" #include "io-util.h" #include "json-util.h" diff --git a/src/shared/dissect-image.h b/src/shared/dissect-image.h index 3313d149214..cae63969e50 100644 --- a/src/shared/dissect-image.h +++ b/src/shared/dissect-image.h @@ -20,6 +20,7 @@ typedef struct DecryptedImage DecryptedImage; typedef struct MountOptions MountOptions; typedef struct VeritySettings VeritySettings; typedef struct ImageFilter ImageFilter; +typedef struct ImagePolicy ImagePolicy; typedef struct ExtensionReleaseData ExtensionReleaseData; struct DissectedPartition { @@ -163,9 +164,6 @@ struct ExtensionReleaseData { char *os_release_extension_scope; }; -/* We include image-policy.h down here, since ImagePolicy wants a complete definition of PartitionDesignator first. */ -#include "image-policy.h" - MountOptions* mount_options_free_all(MountOptions *options); DEFINE_TRIVIAL_CLEANUP_FUNC(MountOptions*, mount_options_free_all); const char* mount_options_from_designator(const MountOptions *options, PartitionDesignator designator); diff --git a/src/shared/fdisk-util.c b/src/shared/fdisk-util.c index 368bec2b8b8..3414572c31c 100644 --- a/src/shared/fdisk-util.c +++ b/src/shared/fdisk-util.c @@ -5,6 +5,7 @@ #include "extract-word.h" #include "fd-util.h" #include "fdisk-util.h" +#include "log.h" #include "parse-util.h" #if HAVE_LIBFDISK diff --git a/src/shared/image-policy.h b/src/shared/image-policy.h index f61f55fd60a..afb0d4fe9e9 100644 --- a/src/shared/image-policy.h +++ b/src/shared/image-policy.h @@ -1,8 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct ImagePolicy ImagePolicy; - #include "conf-parser.h" #include "dissect-image.h" #include "errno-list.h" @@ -48,11 +46,11 @@ typedef struct PartitionPolicy { PartitionPolicyFlags flags; } PartitionPolicy; -struct ImagePolicy { +typedef struct ImagePolicy { PartitionPolicyFlags default_flags; /* for any designator not listed in the list below */ size_t n_policies; PartitionPolicy policies[]; /* sorted by designator, hence suitable for binary search */ -}; +} ImagePolicy; /* Default policies for various use cases */ extern const ImagePolicy image_policy_allow; diff --git a/src/shared/mkfs-util.c b/src/shared/mkfs-util.c index 46fa685b0d6..c7385dac9af 100644 --- a/src/shared/mkfs-util.c +++ b/src/shared/mkfs-util.c @@ -8,6 +8,7 @@ #include "fileio.h" #include "fs-util.h" #include "id128-util.h" +#include "log.h" #include "mkfs-util.h" #include "mount-util.h" #include "mountpoint-util.h" diff --git a/src/shared/mount-util.c b/src/shared/mount-util.c index b836cebddeb..25219e56ed4 100644 --- a/src/shared/mount-util.c +++ b/src/shared/mount-util.c @@ -22,6 +22,7 @@ #include "initrd-util.h" #include "label-util.h" #include "libmount-util.h" +#include "log.h" #include "missing_syscall.h" #include "mkdir-label.h" #include "mount-util.h" diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c index 6d7c78a97a6..ba87a992bc7 100644 --- a/src/shutdown/umount.c +++ b/src/shutdown/umount.c @@ -18,6 +18,7 @@ #include "fs-util.h" #include "fstab-util.h" #include "libmount-util.h" +#include "log.h" #include "mkdir.h" #include "mount-setup.h" #include "mount-util.h" diff --git a/src/sysupdate/sysupdate.c b/src/sysupdate/sysupdate.c index bdd663a0941..2333019636f 100644 --- a/src/sysupdate/sysupdate.c +++ b/src/sysupdate/sysupdate.c @@ -13,6 +13,7 @@ #include "format-table.h" #include "glyph-util.h" #include "hexdecoct.h" +#include "image-policy.h" #include "json-util.h" #include "main-func.h" #include "mount-util.h" diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c index bb14c6c43b1..bef806015e3 100644 --- a/src/sysusers/sysusers.c +++ b/src/sysusers/sysusers.c @@ -17,6 +17,7 @@ #include "format-util.h" #include "fs-util.h" #include "hashmap.h" +#include "image-policy.h" #include "libcrypt-util.h" #include "main-func.h" #include "memory-util.h" diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 98b524831c2..8ac320469a2 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -39,6 +39,7 @@ #include "fs-util.h" #include "glob-util.h" #include "hexdecoct.h" +#include "image-policy.h" #include "io-util.h" #include "label-util.h" #include "log.h" -- 2.47.3