1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 13:29:49 +00:00

wic: use shutil.which

Use shutil.which to find the executable instead to silence the below warning:
 $ cat tmp/work/intel_x86_64-poky-linux/core-image-base/1.0-r5/temp/log.do_image_wic
 [snip]
 DEBUG: Executing shell function do_image_wic
 /path/layers/oe-core/scripts/wic:27: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  from distutils import spawn
 INFO: Creating image(s)...
 [snip]

[RP: Added conversion for missed function reference]
(From OE-Core rev: 33c5899ab2fcb48245ef12223bda6c52fa2e48fa)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3966cbf5c8a2dbc3a4f0f3eefdbeeb83f522bf87)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mingli Yu
2021-11-17 10:16:23 +08:00
committed by Richard Purdie
parent f286eefb27
commit c7dba5edf1
3 changed files with 7 additions and 7 deletions
+3 -3
View File
@@ -19,10 +19,10 @@ import os
import tempfile import tempfile
import json import json
import subprocess import subprocess
import shutil
import re import re
from collections import namedtuple, OrderedDict from collections import namedtuple, OrderedDict
from distutils.spawn import find_executable
from wic import WicError from wic import WicError
from wic.filemap import sparse_copy from wic.filemap import sparse_copy
@@ -245,7 +245,7 @@ class Disk:
for path in pathlist.split(':'): for path in pathlist.split(':'):
self.paths = "%s%s:%s" % (native_sysroot, path, self.paths) self.paths = "%s%s:%s" % (native_sysroot, path, self.paths)
self.parted = find_executable("parted", self.paths) self.parted = shutil.which("parted", path=self.paths)
if not self.parted: if not self.parted:
raise WicError("Can't find executable parted") raise WicError("Can't find executable parted")
@@ -283,7 +283,7 @@ class Disk:
"resize2fs", "mkswap", "mkdosfs", "debugfs","blkid"): "resize2fs", "mkswap", "mkdosfs", "debugfs","blkid"):
aname = "_%s" % name aname = "_%s" % name
if aname not in self.__dict__: if aname not in self.__dict__:
setattr(self, aname, find_executable(name, self.paths)) setattr(self, aname, shutil.which(name, path=self.paths))
if aname not in self.__dict__ or self.__dict__[aname] is None: if aname not in self.__dict__ or self.__dict__[aname] is None:
raise WicError("Can't find executable '{}'".format(name)) raise WicError("Can't find executable '{}'".format(name))
return self.__dict__[aname] return self.__dict__[aname]
+2 -2
View File
@@ -16,9 +16,9 @@ import logging
import os import os
import re import re
import subprocess import subprocess
import shutil
from collections import defaultdict from collections import defaultdict
from distutils import spawn
from wic import WicError from wic import WicError
@@ -122,7 +122,7 @@ def find_executable(cmd, paths):
if provided and "%s-native" % recipe in provided: if provided and "%s-native" % recipe in provided:
return True return True
return spawn.find_executable(cmd, paths) return shutil.which(cmd, path=paths)
def exec_native_cmd(cmd_and_args, native_sysroot, pseudo=""): def exec_native_cmd(cmd_and_args, native_sysroot, pseudo=""):
""" """
+2 -2
View File
@@ -22,9 +22,9 @@ import sys
import argparse import argparse
import logging import logging
import subprocess import subprocess
import shutil
from collections import namedtuple from collections import namedtuple
from distutils import spawn
# External modules # External modules
scripts_path = os.path.dirname(os.path.realpath(__file__)) scripts_path = os.path.dirname(os.path.realpath(__file__))
@@ -47,7 +47,7 @@ if os.environ.get('SDKTARGETSYSROOT'):
break break
sdkroot = os.path.dirname(sdkroot) sdkroot = os.path.dirname(sdkroot)
bitbake_exe = spawn.find_executable('bitbake') bitbake_exe = shutil.which('bitbake')
if bitbake_exe: if bitbake_exe:
bitbake_path = scriptpath.add_bitbake_lib_path() bitbake_path = scriptpath.add_bitbake_lib_path()
import bb import bb