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]>
---
 recipes-extended/libvirt/libvirt/hook_support.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git recipes-extended/libvirt/libvirt/hook_support.py 
recipes-extended/libvirt/libvirt/hook_support.py
index 7c5e2a94..63e78b79 100755
--- recipes-extended/libvirt/libvirt/hook_support.py
+++ 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: 28d26fd95397bf575e65fcca0cbb302b1e9bc7ff
change-id: 20260107-fix_libvirt_hook_script-c31e952080e9

Best regards,
-- 
Massimiliano Minella <[email protected]>


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#9530): 
https://lists.yoctoproject.org/g/meta-virtualization/message/9530
Mute This Topic: https://lists.yoctoproject.org/mt/117137254/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to