From: Daan De Meyer Date: Sat, 19 Apr 2025 21:12:18 +0000 (+0200) Subject: sysupdate: Remove circular header includes X-Git-Tag: v258-rc1~756^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf108818b3f5b2659a1db0070696ff4e500fc1a0;p=thirdparty%2Fsystemd.git sysupdate: Remove circular header includes --- diff --git a/src/sysupdate/sysupdate-feature.h b/src/sysupdate/sysupdate-feature.h index 4b52b0a4472..c66e9084d02 100644 --- a/src/sysupdate/sysupdate-feature.h +++ b/src/sysupdate/sysupdate-feature.h @@ -1,8 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "hash-funcs.h" -#include "macro.h" -#include "sysupdate-transfer.h" +#include "memory-util.h" typedef struct Feature { unsigned n_ref; diff --git a/src/sysupdate/sysupdate-instance.h b/src/sysupdate/sysupdate-instance.h index 2860d295da3..f39db617d33 100644 --- a/src/sysupdate/sysupdate-instance.h +++ b/src/sysupdate/sysupdate-instance.h @@ -10,13 +10,12 @@ #include "fs-util.h" #include "time-util.h" -typedef struct InstanceMetadata InstanceMetadata; -typedef struct Instance Instance; - -#include "sysupdate-resource.h" #include "sysupdate-partition.h" -struct InstanceMetadata { +typedef struct Resource Resource; +typedef struct Instance Instance; + +typedef struct InstanceMetadata { /* Various bits of metadata for each instance, that is either derived from the filename/GPT label or * from metadata of the file/partition itself */ char *version; @@ -33,7 +32,7 @@ struct InstanceMetadata { int growfs; uint8_t sha256sum[32]; /* SHA256 sum of the download (i.e. compressed) file */ bool sha256sum_set; -}; +} InstanceMetadata; #define INSTANCE_METADATA_NULL \ { \ diff --git a/src/sysupdate/sysupdate-pattern.c b/src/sysupdate/sysupdate-pattern.c index ff099c8eddd..1266bc7295a 100644 --- a/src/sysupdate/sysupdate-pattern.c +++ b/src/sysupdate/sysupdate-pattern.c @@ -8,6 +8,7 @@ #include "path-util.h" #include "stdio-util.h" #include "string-util.h" +#include "sysupdate-instance.h" #include "sysupdate-pattern.h" typedef enum PatternElementType { diff --git a/src/sysupdate/sysupdate-pattern.h b/src/sysupdate/sysupdate-pattern.h index e8ea104623f..0bfb515fd4a 100644 --- a/src/sysupdate/sysupdate-pattern.h +++ b/src/sysupdate/sysupdate-pattern.h @@ -3,9 +3,10 @@ #include -#include "sysupdate-instance.h" #include "time-util.h" +typedef struct InstanceMetadata InstanceMetadata; + enum { PATTERN_MATCH_NO, PATTERN_MATCH_YES, diff --git a/src/sysupdate/sysupdate-resource.h b/src/sysupdate/sysupdate-resource.h index 1bcbe0f8e5d..1e1f16ac347 100644 --- a/src/sysupdate/sysupdate-resource.h +++ b/src/sysupdate/sysupdate-resource.h @@ -9,10 +9,8 @@ #include "hashmap.h" #include "macro.h" -/* Forward declare this type so that the headers below can use it */ typedef struct Resource Resource; - -#include "sysupdate-instance.h" +typedef struct Instance Instance; typedef enum ResourceType { RESOURCE_URL_FILE, diff --git a/src/sysupdate/sysupdate-transfer.c b/src/sysupdate/sysupdate-transfer.c index 2bdf8c6c3ab..bd54c398eba 100644 --- a/src/sysupdate/sysupdate-transfer.c +++ b/src/sysupdate/sysupdate-transfer.c @@ -31,6 +31,7 @@ #include "sync-util.h" #include "sysupdate.h" #include "sysupdate-feature.h" +#include "sysupdate-instance.h" #include "sysupdate-pattern.h" #include "sysupdate-resource.h" #include "sysupdate-transfer.h" diff --git a/src/sysupdate/sysupdate-transfer.h b/src/sysupdate/sysupdate-transfer.h index 505c573d63b..6c80f05581c 100644 --- a/src/sysupdate/sysupdate-transfer.h +++ b/src/sysupdate/sysupdate-transfer.h @@ -7,14 +7,12 @@ #include "sd-id128.h" -/* Forward declare this type so that the headers below can use it */ -typedef struct Transfer Transfer; - #include "sysupdate-partition.h" #include "sysupdate-resource.h" -#include "sysupdate.h" -struct Transfer { +typedef struct Context Context; + +typedef struct Transfer { char *id; char *min_version; @@ -55,7 +53,7 @@ struct Transfer { PartitionChange partition_change; Context *context; -}; +} Transfer; typedef int (*TransferProgress)(const Transfer *t, const Instance *inst, unsigned percentage); diff --git a/src/sysupdate/sysupdate-update-set.h b/src/sysupdate/sysupdate-update-set.h index ed012025819..18b9ef9fc70 100644 --- a/src/sysupdate/sysupdate-update-set.h +++ b/src/sysupdate/sysupdate-update-set.h @@ -5,11 +5,11 @@ #include #include -typedef struct UpdateSet UpdateSet; - -#include "sysupdate-instance.h" #include "sysupdate-update-set-flags.h" +typedef struct Instance Instance; +typedef struct UpdateSet UpdateSet; + struct UpdateSet { UpdateSetFlags flags; char *version; diff --git a/src/sysupdate/sysupdate.c b/src/sysupdate/sysupdate.c index 2333019636f..3bd91ac0224 100644 --- a/src/sysupdate/sysupdate.c +++ b/src/sysupdate/sysupdate.c @@ -31,6 +31,7 @@ #include "strv.h" #include "sysupdate.h" #include "sysupdate-feature.h" +#include "sysupdate-instance.h" #include "sysupdate-transfer.h" #include "sysupdate-update-set.h" #include "sysupdate-util.h"