From: Adrian Freihofer Date: Sun, 2 Aug 2026 19:52:50 +0000 (+0200) Subject: devtool: ide-sdk: fix duplicate -p flag in _target_ssh_args X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6b89edfe414e5bdb31144f63e958c2249ce3043e;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git devtool: ide-sdk: fix duplicate -p flag in _target_ssh_args ssh_port is stored as ['-p', ''] (already includes the flag). _target_ssh_args was wrapping it in another list with a leading "-p", producing invalid ssh args like ["-p", ["-p", "2222"]]. Extend ssh_args directly with ssh_port instead of nesting it. Also pass --port to the install-and-deploy task in the generated VS Code configuration so the task reaches the target on non-default SSH ports. Signed-off-by: Adrian Freihofer Signed-off-by: Richard Purdie --- diff --git a/scripts/lib/devtool/ide_plugins/__init__.py b/scripts/lib/devtool/ide_plugins/__init__.py index eaf88e78cd4..94ed7c9e6d5 100644 --- a/scripts/lib/devtool/ide_plugins/__init__.py +++ b/scripts/lib/devtool/ide_plugins/__init__.py @@ -142,7 +142,7 @@ class GdbCrossConfig: def _target_ssh_gdbserver_args(self): ssh_args = [] if self.gdb_cross.target_device.ssh_port: - ssh_args += ["-p", self.gdb_cross.target_device.ssh_port] + ssh_args += self.gdb_cross.target_device.ssh_port if self.gdb_cross.target_device.extraoptions: ssh_args.extend(self.gdb_cross.target_device.extraoptions) if self.gdb_cross.target_device.target: diff --git a/scripts/lib/devtool/ide_plugins/ide_code.py b/scripts/lib/devtool/ide_plugins/ide_code.py index 603d3cecf35..96f007ca918 100644 --- a/scripts/lib/devtool/ide_plugins/ide_code.py +++ b/scripts/lib/devtool/ide_plugins/ide_code.py @@ -404,10 +404,7 @@ class IdeVSCode(IdeBase): "label": install_task_name, "type": "shell", "command": run_install_deploy, - "args": [ - "--target", - args.target - ], + "args": ["--target", args.target] + (["--port", args.port] if args.port else []), "problemMatcher": [] } ] @@ -515,10 +512,7 @@ class IdeVSCode(IdeBase): "label": install_task_name, "type": "shell", "command": run_install_deploy, - "args": [ - "--target", - args.target - ], + "args": ["--target", args.target] + (["--port", args.port] if args.port else []), "problemMatcher": [] }, { diff --git a/scripts/lib/devtool/ide_sdk.py b/scripts/lib/devtool/ide_sdk.py index 07f55527586..fea44740f35 100755 --- a/scripts/lib/devtool/ide_sdk.py +++ b/scripts/lib/devtool/ide_sdk.py @@ -55,7 +55,7 @@ class TargetDevice: self.ssh_sshexec = 'ssh' if args.ssh_exec: self.ssh_sshexec = args.ssh_exec - self.ssh_port = '' + self.ssh_port = [] if args.port: self.ssh_port = ['-p', args.port] if args.key: