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()