patch.py: Use shlex instead of deprecated pipe

The pipe library is deprecated in Python 3.11 and will be removed in
Python 3.13.  pipe.quote is just an import of shlex.quote anyway.

Clean up imports while we're at it.

(From OE-Core rev: 8eec5c4417301ea3b38e6662e7b29c9071f233e1)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 5f33c7b99a991c380d1813da8248ba5470ca4d4e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Ola x Nilsson
2023-04-13 08:46:31 +02:00
committed by Steve Sakoman
parent f13a220288
commit b3366f02c2

View File

@@ -2,9 +2,11 @@
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import shlex
import subprocess
import oe.path
import oe.types
import subprocess
class NotFoundError(bb.BBHandledException):
def __init__(self, path):
@@ -25,8 +27,6 @@ class CmdError(bb.BBHandledException):
def runcmd(args, dir = None):
import pipes
if dir:
olddir = os.path.abspath(os.curdir)
if not os.path.exists(dir):
@@ -35,7 +35,7 @@ def runcmd(args, dir = None):
# print("cwd: %s -> %s" % (olddir, dir))
try:
args = [ pipes.quote(str(arg)) for arg in args ]
args = [ shlex.quote(str(arg)) for arg in args ]
cmd = " ".join(args)
# print("cmd: %s" % cmd)
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
@@ -215,7 +215,7 @@ class PatchTree(PatchSet):
with open(self.seriespath, 'w') as f:
for p in patches:
f.write(p)
def Import(self, patch, force = None):
""""""
PatchSet.Import(self, patch, force)
@@ -919,4 +919,3 @@ def should_apply(parm, d):
return False, "applies to later version"
return True, None