summaryrefslogtreecommitdiff
path: root/src/sailfish_devel_mcp/vendor
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@jolla.com>2026-06-02 00:17:51 +0200
committerAndrew Branson <andrew.branson@jolla.com>2026-06-02 00:17:51 +0200
commit0cdf2d00cdc1a9af5f5b0b14241a2afe717661f6 (patch)
treea41154a24cb2c226847aef053d0121e34ff99ad6 /src/sailfish_devel_mcp/vendor
parent1f14c5483ee111105f94d66fb3b82208946d914a (diff)
Add Sailfish MCP build and device helpers
Add OBS root scoping, user-session/browser/touch workflow device tools, local SDK metadata refresh, and asynchronous RPM build job status support.
Diffstat (limited to 'src/sailfish_devel_mcp/vendor')
-rwxr-xr-xsrc/sailfish_devel_mcp/vendor/build_sailfishos.py27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/sailfish_devel_mcp/vendor/build_sailfishos.py b/src/sailfish_devel_mcp/vendor/build_sailfishos.py
index 98b52c0..c9ad480 100755
--- a/src/sailfish_devel_mcp/vendor/build_sailfishos.py
+++ b/src/sailfish_devel_mcp/vendor/build_sailfishos.py
@@ -848,12 +848,9 @@ def normalize_local_release(release: str | None) -> str:
def requested_release(project_dirs: Iterable[Path], explicit_release: str | None) -> str | None:
- if explicit_release:
- return explicit_release
-
- env_release = os.environ.get("SAILFISHOS_RELEASE")
- if env_release:
- return env_release
+ requested = explicit_requested_release(explicit_release)
+ if requested:
+ return requested
seen: set[Path] = set()
for project_dir in project_dirs:
@@ -867,6 +864,21 @@ def requested_release(project_dirs: Iterable[Path], explicit_release: str | None
return None
+def explicit_requested_release(explicit_release: str | None) -> str | None:
+ if explicit_release:
+ return explicit_release
+
+ env_release = os.environ.get("SAILFISHOS_RELEASE")
+ if env_release:
+ return env_release
+
+ return None
+
+
+def local_sdk_requested_release(explicit_release: str | None) -> str:
+ return normalize_local_release(explicit_requested_release(explicit_release)) or LIVE_RELEASE
+
+
def select_local_sdk_builds(
local_sdk: Path,
release: str,
@@ -1334,11 +1346,10 @@ def main() -> int:
project_dir = resolve_project_dir(requested_project_dir)
local_sdk_path = Path(args.local_sdk).expanduser().resolve(strict=False) if args.local_sdk else None
- raw_release = requested_release((requested_project_dir, project_dir), args.release)
- local_release = normalize_local_release(raw_release) or LIVE_RELEASE
local_builds: list[LocalSdkBuild] | None = None
if local_sdk_path:
+ local_release = local_sdk_requested_release(args.release)
local_builds = select_local_sdk_builds(
local_sdk_path,
local_release,