From aa6c1d01a9c33c484e0c25a0380730ad27816f78 Mon Sep 17 00:00:00 2001
From: Mark Goddard <mark@stackhpc.com>
Date: Tue, 30 May 2017 15:57:57 +0100
Subject: [PATCH] Decode string to bytes in dracut-regenerate

In python3, the standard out data returned by
subprocess.Popen.communicate() will in most cases be bytes rather than a
string and must therefore be decoded.

Without this fix we hit the following error:

TypeError: a bytes-like object is required, not 'str'

Change-Id: I6d75f867ebfdb925970c3397175214b9050d7632
Closes-Bug: #1694463
---
 .../elements/dracut-regenerate/finalise.d/98-dracut-regenerate  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/diskimage_builder/elements/dracut-regenerate/finalise.d/98-dracut-regenerate b/diskimage_builder/elements/dracut-regenerate/finalise.d/98-dracut-regenerate
index 3ad7cf0ee..813fb0e6c 100755
--- a/diskimage_builder/elements/dracut-regenerate/finalise.d/98-dracut-regenerate
+++ b/diskimage_builder/elements/dracut-regenerate/finalise.d/98-dracut-regenerate
@@ -51,7 +51,7 @@ def main():
             e.output = out
             raise e
 
-        kernel_set = out.split(':')
+        kernel_set = out.decode().split(':')
         kernel_search = re.match("vmlinuz-(.*)", kernel_set[0])
         kernel_version = "%s" % kernel_search.groups(1)
         ramdisk_path = "/boot/%s" % kernel_set[1].strip()