Add Fedora RPM packaging and fix system theme sync - #174
Conversation
Plain GTK4 (without libadwaita) does not follow the desktop's dark-mode preference on its own. Read org.freedesktop.appearance color-scheme from the XDG Desktop Portal at startup and apply it via gtk-application-prefer-dark-theme, then keep following live changes via the SettingChanged signal. xdg-desktop-portal-gnome wraps the reported value in an extra GVariant "v" layer beyond what the portal spec calls for, so unwrap variant layers in a loop rather than once.
Adds packages/rpm/rustmius.spec plus a build-rpm.sh helper mirroring build-deb.sh: it snapshots the working tree into a source tarball, builds in a private rpmbuild _topdir, and copies the resulting RPMs into dist/. Runtime deps (gtk4, vte291-gtk4, openssl, etc.) are picked up automatically from the linked binary via RPM's find-requires.
Adds an rpm job to the release workflow, mirroring the deb job: it
runs inside a fedora:latest container, reuses the prebuilt generic
x86_64 binary artifact via SKIP_BUILD=1, and uploads the resulting
package for the release job to attach to the GitHub release.
To support SKIP_BUILD, build-rpm.sh now stages a prebuilt binary into
the source tarball when present, and the spec's %build step skips
`cargo build` when it finds one. Also disables Fedora's debuginfo/
debugsource subpackages (%global debug_package %{nil}): every release
channel builds with `strip = "symbols"`, so there's no debug info for
find-debuginfo to extract from a prebuilt binary anyway.
Also ignores stray *.rpm build output and rpmbuild/ trees, matching
the existing deb/AUR artifact ignores.
|
Thanks for the PR — both features are useful. A few things before merge: Theme sync The portal approach looks right for plain GTK4. One issue in the current code: Minor: RPM packaging
Optional: consider building the binary inside the Fedora container instead of reusing the Ubuntu artifact — not a hard blocker (glibc backward compat should be fine), but cleaner for a Fedora package. Happy to re-review once the proxy lifetime and spec/CI deps are fixed. |
Hi, i switched to Fedora :D
Summary
the desktop's dark-mode preference like libadwaita does, so it uses
color-schemefrom theXDG Desktop Portal and
stardustandappkeep it in sync withEtK application-prefer-dark-theme
Test plan
system dark theme