From fa589898f9d3793f9fb9c76fc4dd19a7191a93b7 Mon Sep 17 00:00:00 2001 From: liYony <941843540@qq.com> Date: Sat, 2 Sep 2023 16:18:30 +0800 Subject: [PATCH 1/2] solve windows cannot run 'paks --update' --- cmds/cmd_menuconfig.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmds/cmd_menuconfig.py b/cmds/cmd_menuconfig.py index 9553778e..5ad93342 100644 --- a/cmds/cmd_menuconfig.py +++ b/cmds/cmd_menuconfig.py @@ -259,7 +259,10 @@ def cmd(args): return if find_bool_macro_in_config(fn, 'SYS_AUTO_UPDATE_PKGS'): - os.system('pkgs --update') + if platform.system() == "Windows": + os.system('powershell pkgs.ps1 --update') + else : + os.system('pkgs --update') print("==============================>The packages have been updated completely.") if platform.system() == "Windows": From 3c26056ccbd531b1a99924fd25f5563a73204f29 Mon Sep 17 00:00:00 2001 From: liYony <941843540@qq.com> Date: Sun, 3 Sep 2023 00:09:27 +0800 Subject: [PATCH 2/2] update powershell judgment --- cmds/cmd_menuconfig.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/cmds/cmd_menuconfig.py b/cmds/cmd_menuconfig.py index 5ad93342..48a3bce6 100644 --- a/cmds/cmd_menuconfig.py +++ b/cmds/cmd_menuconfig.py @@ -28,9 +28,19 @@ import os import platform import re +import psutil from vars import Import from .cmd_package.cmd_package_utils import find_bool_macro_in_config, find_IAR_EXEC_PATH, find_MDK_EXEC_PATH +def is_in_powershell(): + rst = False + try: + rst = bool(re.fullmatch('pwsh|pwsh.exe|powershell.exe', psutil.Process(os.getppid()).name())) + except: + pass + + return rst + def build_kconfig_frontends(rtt_root): kconfig_dir = os.path.join(rtt_root, 'tools', 'kconfig-frontends') os.system('scons -C ' + kconfig_dir) @@ -259,12 +269,12 @@ def cmd(args): return if find_bool_macro_in_config(fn, 'SYS_AUTO_UPDATE_PKGS'): - if platform.system() == "Windows": + if (is_in_powershell()): os.system('powershell pkgs.ps1 --update') - else : + else: os.system('pkgs --update') print("==============================>The packages have been updated completely.") - + if platform.system() == "Windows": if find_bool_macro_in_config(fn, 'SYS_CREATE_MDK_IAR_PROJECT'): mdk_path = find_MDK_EXEC_PATH()