[scarthgap][PATCH] libvirt: fix python3 compatibility in hook_support.py
Massimiliano Minella <[email protected]> Wed, 03 Jun 2026 18:36:18 +0200
| Newsgroups | org.yoctoproject.lists.meta-virtualization |
|---|---|
| Message-ID | <20260603-backport_fix_libvirt_hook_script-v1-1-81e73d7e2d94@se.com> |
From: Massimiliano Minella <[email protected]> By default Popen expects all the streams to be bytes-like objects but, in the Popen.communicate() function call, the "input" argument is a string, making the call fail with the error: qemu hook error: a bytes-like object is required, not 'str' Fix the error by setting text mode to True in the subprocess creation. Also fix the "SyntaxWarning: invalid escape sequence '\w'" in the regex used to match script names. Signed-off-by: Massimiliano Minella <[email protected]> Signed-off-by: Bruce Ashfield <[email protected]> (cherry picked from commit fb1d9123351c86d7804e78e1518788913fb7c672) Signed-off-by: Massimiliano Minella <[email protected]> --- recipes-extended/libvirt/libvirt/hook_support.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-extended/libvirt/libvirt/hook_support.py b/recipes-extended/libvirt/libvirt/hook_support.py index 7c5e2a94..63e78b79 100755 --- a/recipes-extended/libvirt/libvirt/hook_support.py +++ b/recipes-extended/libvirt/libvirt/hook_support.py @@ -35,7 +35,7 @@ def main(): stdin_save = sys.stdin.readlines() # Match the name name of the hook + a dash + atleast # one alpha-numeric character. - matcher = re.compile( "%s-\w+" % hook_name ) + matcher = re.compile( rf"%s-\w+" % hook_name ) for file_name in sorted( os.listdir( hook_dir ) ): file_path = os.path.join( hook_dir, file_name ) if matcher.match( file_name ) \ @@ -43,7 +43,7 @@ def main(): and os.path.isfile( file_path ) \ and return_value == 0: cmd = [ file_path ] + hook_args - p = subprocess.Popen( cmd, stdin=subprocess.PIPE ) + p = subprocess.Popen( cmd, stdin=subprocess.PIPE, text=True ) p.communicate( input = ''.join( stdin_save ) )[0] return_value = p.wait() except Exception as e: --- base-commit: 89da4f56b4c510059f8dc1527d289d9fd4fef133 change-id: 20260519-backport_fix_libvirt_hook_script-7f72b9a18d7c Best regards, -- Massimiliano Minella <[email protected]>