summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/home/homework-luks.c7
-rw-r--r--src/partition/repart.c7
-rw-r--r--src/shared/fdisk-util.h15
-rw-r--r--src/shared/meson.build1
4 files changed, 18 insertions, 12 deletions
diff --git a/src/home/homework-luks.c b/src/home/homework-luks.c
index 29a18b48d9..774d5d4e30 100644
--- a/src/home/homework-luks.c
+++ b/src/home/homework-luks.c
@@ -1,6 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
-#include <libfdisk.h>
#include <linux/loop.h>
#include <poll.h>
#include <sys/file.h>
@@ -24,6 +23,7 @@
#include "env-util.h"
#include "errno-util.h"
#include "fd-util.h"
+#include "fdisk-util.h"
#include "fileio.h"
#include "filesystems.h"
#include "fs-util.h"
@@ -1833,11 +1833,6 @@ static int luks_format(
return 0;
}
-DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_context*, fdisk_unref_context, NULL);
-DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_partition*, fdisk_unref_partition, NULL);
-DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_parttype*, fdisk_unref_parttype, NULL);
-DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_table*, fdisk_unref_table, NULL);
-
static int make_partition_table(
int fd,
const char *label,
diff --git a/src/partition/repart.c b/src/partition/repart.c
index 5e6e88df94..50b1f45315 100644
--- a/src/partition/repart.c
+++ b/src/partition/repart.c
@@ -6,7 +6,6 @@
#include <fcntl.h>
#include <getopt.h>
-#include <libfdisk.h>
#include <linux/fs.h>
#include <linux/loop.h>
#include <sys/file.h>
@@ -31,6 +30,7 @@
#include "efivars.h"
#include "errno-util.h"
#include "fd-util.h"
+#include "fdisk-util.h"
#include "fileio.h"
#include "format-table.h"
#include "format-util.h"
@@ -1420,11 +1420,6 @@ static int context_read_definitions(
return 0;
}
-DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_context*, fdisk_unref_context, NULL);
-DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_partition*, fdisk_unref_partition, NULL);
-DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_parttype*, fdisk_unref_parttype, NULL);
-DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_table*, fdisk_unref_table, NULL);
-
static int determine_current_padding(
struct fdisk_context *c,
struct fdisk_table *t,
diff --git a/src/shared/fdisk-util.h b/src/shared/fdisk-util.h
new file mode 100644
index 0000000000..64c0c2f324
--- /dev/null
+++ b/src/shared/fdisk-util.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#if HAVE_LIBFDISK
+
+#include <libfdisk.h>
+
+#include "macro.h"
+
+DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_context*, fdisk_unref_context, NULL);
+DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_partition*, fdisk_unref_partition, NULL);
+DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_parttype*, fdisk_unref_parttype, NULL);
+DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(struct fdisk_table*, fdisk_unref_table, NULL);
+
+#endif
diff --git a/src/shared/meson.build b/src/shared/meson.build
index 00485e6543..130c03ec99 100644
--- a/src/shared/meson.build
+++ b/src/shared/meson.build
@@ -118,6 +118,7 @@ shared_sources = files('''
exit-status.h
extension-release.c
extension-release.h
+ fdisk-util.h
fdset.c
fdset.h
fileio-label.c