kumquat-buildroot/package/parted/0001-libparted-arch-linux.c-Compile-without-ENABLE_DEVICE.patch
Arnout Vandecappelle (Essensium/Mind) 2a56de2dec parted: properly link with libiconv
parted uses libiconv but doesn't link with it. All the checks are there
in configure, but the Makefile.am doesn't add it to the link. Add a
patch to fix this.

Also add an optional dependency on libiconv, so it is reproducible.

While we're at it, regenerate the existing patches on top of v3.2, and
make patch 0003 a properly git formatted one.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: srg.venema@gmail.com
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-08 15:30:09 +02:00

80 lines
2.6 KiB
Diff

From 141c4309d7164dcd4e09d137fc075c1726fd8dbb Mon Sep 17 00:00:00 2001
From: Felix Janda <felix.janda@posteo.de>
Date: Sun, 3 May 2015 10:33:15 +0200
Subject: [PATCH] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER
Signed-off-by: Brian C. Lane <bcl@redhat.com>
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
libparted/arch/linux.c | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 0f18904..cf38c6f 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -2304,6 +2304,7 @@ zasprintf (const char *format, ...)
return r < 0 ? NULL : resultp;
}
+#ifdef ENABLE_DEVICE_MAPPER
static char *
dm_canonical_path (PedDevice const *dev)
{
@@ -2326,14 +2327,21 @@ dm_canonical_path (PedDevice const *dev)
err:
return NULL;
}
+#endif
static char*
_device_get_part_path (PedDevice const *dev, int num)
{
- char *devpath = (dev->type == PED_DEVICE_DM
- ? dm_canonical_path (dev) : dev->path);
- size_t path_len = strlen (devpath);
+ char *devpath;
+ size_t path_len;
char *result;
+#ifdef ENABLE_DEVICE_MAPPER
+ devpath = (dev->type == PED_DEVICE_DM
+ ? dm_canonical_path (dev) : dev->path);
+#else
+ devpath = dev->path;
+#endif
+ path_len = strlen (devpath);
/* Check for devfs-style /disc => /partN transformation
unconditionally; the system might be using udev with devfs rules,
and if not the test is harmless. */
@@ -2349,8 +2357,10 @@ _device_get_part_path (PedDevice const *dev, int num)
? "p" : "");
result = zasprintf ("%s%s%d", devpath, p, num);
}
+#ifdef ENABLE_DEVICE_MAPPER
if (dev->type == PED_DEVICE_DM)
free (devpath);
+#endif
return result;
}
@@ -2945,12 +2955,15 @@ _disk_sync_part_table (PedDisk* disk)
unsigned long long *length);
+#ifdef ENABLE_DEVICE_MAPPER
if (disk->dev->type == PED_DEVICE_DM) {
add_partition = _dm_add_partition;
remove_partition = _dm_remove_partition;
resize_partition = _dm_resize_partition;
get_partition_start_and_length = _dm_get_partition_start_and_length;
- } else {
+ } else
+#endif
+ {
add_partition = _blkpg_add_partition;
remove_partition = _blkpg_remove_partition;
#ifdef BLKPG_RESIZE_PARTITION
--
2.14.2