Skip to content

feat(linux): openSUSE setup support + WebKitGTK detection fix - #31

Merged
tarwin merged 3 commits into
tarwin:mainfrom
samcharles93:feat/opensuse-setup
Oct 2, 2026
Merged

tarwin merged 3 commits into
tarwin:mainfrom
samcharles93:feat/opensuse-setup

Conversation

@samcharles93

Copy link
Copy Markdown
Contributor

Adds openSUSE to the Linux setup path, verified on openSUSE Tumbleweed (x86_64).

  • setup.sh reads /etc/os-release and prints the right dev packages per distro. On openSUSE the WebKitGTK 4.1 dev package is webkitgtk3-devel (the "3" is GTK3, not an older WebKit) — README, TODO-linux, the platforms skill reference and the site install blurbs carry the zypper equivalents for runtime, build and GStreamer packages.
  • docs/install no longer false-fails on openSUSE: ldconfig lives in /usr/sbin, which a normal user's $PATH does not include, so the WebKitGTK check reported a miss on machines that have it. It now tries ldconfig, /sbin/ldconfig, /usr/sbin/ldconfig, then pkg-config, then the library file.
  • runtime/bridge.js: dropped the zypper tray hint. openSUSE's default repos ship no AppIndicator host package, so the suggested install could not succeed; the requirement still reports the missing tray and why.

Verification:

  • ./setup.sh on Tumbleweed: exit 0 — prebuilt tjs v26.6.0 downloaded, launcher compiled, ldd resolves AppIndicator, PipeWire, X11 and XTest.
  • Simulated missing dev packages prints sudo zypper install gcc-c++ make pkgconf-pkg-config gtk3-devel webkitgtk3-devel libayatana-appindicator3-devel.
  • Installer check: passes on this host with no ldconfig on $PATH; exits 1 with all four distro hints when the library is absent.
  • sh -n, node --check, git diff --check clean.

The WebKitGTK pre-check ran `ldconfig -p` through $PATH only. openSUSE
keeps ldconfig in /usr/sbin, which is not on a normal user's PATH, so the
installer reported "tinyjs needs the WebKitGTK runtime" on machines that
have it. Try ldconfig, /sbin/ldconfig and /usr/sbin/ldconfig, then fall
back to pkg-config and the library file when no ldconfig is runnable at
all. Add openSUSE to the missing-runtime hints.
setup.sh now reads /etc/os-release and names the right dev packages in its
error hints (openSUSE: gcc-c++, make, pkgconf-pkg-config, gtk3-devel,
webkitgtk3-devel, libayatana-appindicator3-devel — webkitgtk3-devel is
WebKitGTK 4.1's dev package there, the "3" meaning GTK3). README, the site
install blurbs, the platforms skill reference and TODO-linux get the
zypper equivalents for the runtime, build and GStreamer packages.
openSUSE's default repositories ship no AppIndicator/StatusNotifier host
package (gnome-shell-extension-appindicator is not there; GNOME users get
the extension from extensions.gnome.org), so the zypper install line could
never succeed. Leave zypper without a package list so the requirement still
reports the missing tray and why.
@tarwin
tarwin merged commit 42686a1 into tarwin:main Oct 2, 2026
tarwin added a commit that referenced this pull request Oct 2, 2026
…#16, #21, #31)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tarwin

tarwin commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Thanks @samcharles93! Shipped in v0.44.1.

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.

2 participants