Flatpak repackaging for the Shiru desktop app using the official upstream .deb releases.
This repo intentionally does not include Shiru source code.
- Fetches the latest Shiru
.debfrom upstream releases. - Extracts it and packages it into a Flatpak.
- Caches extracted files for fast rebuilds.
- Injects version metadata so the installed Flatpak reports the upstream version.
flatpakflatpak-buildercurlpython3artar
./flatpak-build.sh --clean./flatpak-build.sh --clean --skip-install./flatpak-build.sh --clean --force-install./flatpak-build.sh --clean --update- Latest upstream tag is read from GitHub releases.
- Installed Flatpak version is read from Flatpak metadata.
- If installed version matches the latest tag, the build is skipped (unless
--force-installor--update). - When
--force-installis used on a matching version, the script logs a warning and reinstall proceeds.
- The workflow compares the latest upstream tag with
UPSTREAM_VERSION. - If upstream is newer (or no release exists yet), it builds and publishes a new release.
- CI builds run with
--skip-installto avoidflatpak remote-addon empty repos. - The workflow installs the Flatpak runtime/sdk before building.
- Uses ETag caching to reduce GitHub API calls and avoid rate limits.
- Falls back to cached release data if GitHub is rate-limited.
- Asset matching is configurable via
flatpak-build.conf.
- Cache root:
~/.cache/shiru-flatpak - Extracted files are cached per version and reused.
.debfiles are deleted after extraction to reduce IO.- After a successful build, only the latest version is retained.
Edit flatpak-build.conf to tune asset matching:
DEB_ASSET_REGEX/DEB_ARCH_REGEXDEB_ASSET_FALLBACKSSTRICT_ASSET
.flatpak-manifest.yaml- Flatpak manifestflatpak-build.sh- build + update scriptflatpak-build.conf- configurationcom.github.rockinchaos.shiru.metainfo.xml- metadataVERSION- project version for this repoUPSTREAM_VERSION- last upstream Shiru version handled by this repo
- Shiru releases: https://github.com/RockinChaos/Shiru/releases
See LICENSE.