Skip to content

Linux AppImage: RKStratum packaging, double-click terminal + XDG config; release as .tar.gz#936

Open
LiveLaughLove13 wants to merge 19 commits into
kaspanet:masterfrom
LiveLaughLove13:appimage2.0
Open

Linux AppImage: RKStratum packaging, double-click terminal + XDG config; release as .tar.gz#936
LiveLaughLove13 wants to merge 19 commits into
kaspanet:masterfrom
LiveLaughLove13:appimage2.0

Conversation

@LiveLaughLove13
Copy link
Copy Markdown
Contributor

Double click functionality to run bridge/node on Linux. With terminal option.

- Add packaging/appimage-stratum-bridge (AppRun, desktop, build.sh)
- AppRun uses XDG config path; skips default --config if user passes one
- Extend deploy workflow with optional AppImage build (continue-on-error)
- Ignore downloaded appimagetool; document AppImage in bridge docs
appimagetool requires a .desktop at the AppDir root (per AppDir spec); only usr/share/applications/ was populated before, which caused 'Desktop file not found, aborting' in CI.
stratum-bridge.png at AppDir root for appimagetool

Fix for stratum-bridge{.png,.svg,.xpm} defined in desktop file but not found
Detect a GUI-style launch: graphical session
Upload tarball alongside raw AppImage on releases; document tar extract vs chmod in bridge docs.
We no longer attach the standalone stratum-bridge-*-x86_64.AppImage file to GitHub Releases. We still build the AppImage the same way in CI; we only change what gets uploaded.

Why: Downloading a raw .AppImage through a browser or GitHub’s UI often saves it without the executable bit. Users then have to chmod +x or use “Allow executing as program.” A .tar.gz of the same file preserves Unix permissions when extracted (tar -xzf …), so double‑click / ./ workflows work reliably on Linux.

What changed: The release workflow uploads only stratum-bridge-<tag>-x86_64.AppImage.tar.gz. Local builds from bridge/appimage/build.sh still output the .AppImage next to the repo; that path is unchanged.

Docs: bridge/docs/README.md now states that Linux AppImage releases are the tarball only and how to extract and run it.
RKNodeReSynccheck:
- Treat node as mining-ready only when getSyncStatus is synced, no peer is in
  IBD, and block DAG block_count matches header_count.
- Require a short stable mining-ready window before starting stratum; template
  listener re-entry waits on is_node_synced_for_mining without repeating it.
- Gate getBlockTemplate/submitBlock and pause template polling when not ready.
- Extend KaspaApiTrait with is_node_synced_for_mining; use network_display_from_id
  in node status formatting."
Start bat for kaspa, and bridge in external mode. So, users can double click and run the eternal node mode from easy double click of bat.
Add .bat for Starting kaspad, and .bat for starting bridge in external mode into deploy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant