summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md62
1 files changed, 49 insertions, 13 deletions
diff --git a/README.md b/README.md
index 54e9247..23257e1 100644
--- a/README.md
+++ b/README.md
@@ -14,12 +14,16 @@ The server currently exposes tools for:
- defaultuser session-bus calls
- Lipstick screenshots
- touchscreen discovery and tap/swipe injection
+- combined screenshot, touchscreen discovery, and touch injection workflows
- topmost window PID lookup
- process map inspection
- journal log reads
- RPM copy/install on a device
- system and user service management
+- user-session command execution with the configured D-Bus environment
+- Sailfish Browser launch/debug helpers
- Docker/mb2 RPM builds through the local `build-sailfishos` helper
+- installed SDK repository metadata refresh
- Jolla OBS result and build-log lookup through `osc`
- repository status and search under the configured git root
- RPM spec metadata summaries
@@ -27,8 +31,8 @@ The server currently exposes tools for:
The committed defaults are deliberately generic. Device tools default to the
placeholder SSH target `root@device`, the Sailfish user-session bus at
-`/run/user/100000/dbus/user_bus_socket`, `~/git` as the local source root, and
-the vendored build helper at
+`/run/user/100000/dbus/user_bus_socket`, `~/git` as the local source root,
+`~/OBS` as the OBS checkout root, and the vendored build helper at
`src/sailfish_devel_mcp/vendor/build_sailfishos.py`. Put a config file at
`~/.config/sailfish-devel-mcp/config.json` or pass `--config` to provide your
real device and OBS settings. Device entries can also carry the preferred
@@ -81,8 +85,9 @@ Example:
}
},
"paths": {
- "git_root": "/home/you/git",
- "ssh_config": "/home/you/.ssh/config",
+ "git_root": "~/git",
+ "obs_root": "~/OBS",
+ "ssh_config": "~/.ssh/config",
"local_sdk": "/srv/mer/sdks/sfossdk/sdk-chroot",
"osc_api_alias": "your-obs-alias"
}
@@ -91,18 +96,23 @@ Example:
## Tool Notes
-The server keeps local paths scoped to the configured git root and `/tmp` for
-tools that read or write files. Device access still uses SSH, so the usual SSH
-prompts, permissions, and command failures are surfaced as tool results.
+The server keeps local paths scoped to the configured git root, OBS checkout
+root, and `/tmp` for tools that read or write files. Device access still uses
+SSH, so the usual SSH prompts, permissions, and command failures are surfaced
+as tool results.
Mutating tools are annotated as non-read-only:
- `sailfish_device_lipstick_screenshot`
- `sailfish_device_touch`
+- `sailfish_device_touch_workflow`
- `sailfish_device_user_bus_call`
+- `sailfish_device_user_session_command`
- `sailfish_device_install_rpm`
- `sailfish_device_restart_service`
+- `sailfish_device_browser_launch`
- `sailfish_build_rpm`
+- `sailfish_sdk_refresh_metadata`
`sailfish_device_lipstick_screenshot` defaults to
`~/Pictures/Screenshots/lipstick-<timestamp>.png` under `/home/<username>`,
@@ -119,16 +129,42 @@ input event device unless `input_device` is supplied. Coordinates are raw
input/display coordinates, so pair this tool with a current screenshot when
choosing points.
+`sailfish_device_touch_workflow` wraps the common UI-debugging sequence:
+capture a Lipstick screenshot, optionally list touch devices, inject a tap or
+swipe, and optionally capture a second screenshot. It returns each step's
+structured result separately.
+
+`sailfish_device_user_session_command` runs an argv command with
+`XDG_RUNTIME_DIR` and `DBUS_SESSION_BUS_ADDRESS` set from the configured device.
+Set `run_as_user` when the command should execute as the configured Sailfish
+username through `runuser` or `su`.
+
+`sailfish_device_browser_launch` stops the browser booster service and stale
+browser/firejail PIDs when requested, launches Sailfish Browser through
+`invoker` with the display and user-session environment, then queries Lipstick
+for the topmost PID and checks whether that process has `libxul.so` mapped.
+
`sailfish_build_rpm` can use a configured device's `architecture` and `release`
as defaults when the call includes `device`. If `paths.local_sdk` is set, the
-build helper first checks the installed SDK targets. `live` uses the unversioned
-local target for the requested architecture, for example `aarch64`; a named
-release such as `5.0.0` uses a matching versioned local target such as
-`aarch64-5.0.0`. If the required target is not installed, the helper falls back
-to the release-specific coderus Docker SDK image. The wrapper image defaults to
-`sailfish-sdk-build-engine:$USER` and can be overridden with
+build defaults to `live` and first checks the installed SDK targets. `live` uses
+the unversioned local target for the requested architecture, for example
+`aarch64`. A named production release such as `5.0.0` is used only when passed
+explicitly through the tool arguments, environment, or device config; it uses a
+matching versioned local target such as `aarch64-5.0.0` when available, and
+otherwise falls back to the release-specific coderus Docker SDK image. The
+wrapper image defaults to `sailfish-sdk-build-engine:$USER` and can be
+overridden with
`SAILFISH_SDK_BUILD_ENGINE_IMAGE`.
+`sailfish_sdk_refresh_metadata` refreshes zypper metadata in the installed SDK
+main target, for example `aarch64.default`, using the same privileged Docker
+wrapper style as local SDK builds. Use it when local SDK builds fail because a
+package listed in repository metadata cannot be downloaded.
+
+`sailfish_obs_buildlog` defaults to `osc api` with `nostream=1` so a build log
+request does not become a long-running live stream. Set `nostream` to `false`
+to use `osc remotebuildlog`.
+
Read-only tools include the journal, topmost PID, process maps, OBS lookup,
repo search, spec summary, and QML checks.