--- /dev/null
+From 7e87ca3c531228d35e13e802d2622006138b104c 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 90ab21d..f6141e4 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;
+ }
+
+@@ -2958,12 +2968,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.1.4
+
+++ /dev/null
-The CPPFunction typedef (among others) have been deprecated in favour of
-specific prototyped typedefs since readline 4.2.
-It's been working since because compatibility typedefs have been
-in place until they were removed in readline 6.3.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura parted-3.1.orig/parted/ui.c parted-3.1/parted/ui.c
---- parted-3.1.orig/parted/ui.c 2014-03-01 16:11:41.970827134 -0300
-+++ parted-3.1/parted/ui.c 2014-03-01 16:11:55.540259786 -0300
-@@ -1474,7 +1474,7 @@
- #ifdef HAVE_LIBREADLINE
- if (!opt_script_mode) {
- rl_initialize ();
-- rl_attempted_completion_function = (CPPFunction*) complete_function;
-+ rl_attempted_completion_function = (rl_completion_func_t *) complete_function;
- readline_state.in_readline = 0;
- }
- #endif