AkurAI Build
Menu

BifrOSt-Apps

public

Latest change f35619cfe0419c596645328bf0e1b682ad3a4473 - Harden RÚV for the 0.1.1 candidate by Ólafur Búi Ólafsson

# @@APP_NAME@@

`@@APP_ID@@` is a sandboxed BifrOSt application generated from the repository
Dioxus template. The user interface is Rust + [Dioxus](https://dioxuslabs.com)
0.7 rendered through the GNOME runtime's WebKitGTK.

## Pin dependencies before the first build

The Flatpak build runs `cargo --offline --locked`, so the lockfile and the
generated Cargo source manifest must exist and be committed together:

```bash
cargo generate-lockfile --manifest-path Cargo.toml
python3 /path/to/flatpak-builder-tools/cargo/flatpak-cargo-generator.py \
  Cargo.lock -o cargo-sources.json
```

Regenerate both files whenever `Cargo.toml` changes.

## Local build

Install Flatpak Builder and the GNOME 50 SDK plus the
`org.freedesktop.Sdk.Extension.rust-stable` extension, then run from this
directory:

```bash
flatpak-builder --user --install-deps-from=flathub --force-clean --default-branch=stable build @@APP_ID@@.yml
```

Create a bundle for review without signing or publishing it:

```bash
flatpak-builder --repo=repo --force-clean --default-branch=stable build @@APP_ID@@.yml
flatpak build-bundle repo @@APP_ID@@.flatpak @@APP_ID@@ stable
```

## Release checklist

- Replace the template icon with an application-specific icon.
- Keep the application ID, executable, desktop file, icon, and AppStream ID identical.
- Update both English and Icelandic metadata and user-facing strings
  (`locale_is_icelandic` in `src/main.rs` selects the Icelandic strings).
- Use a full three-component semantic version in `Cargo.toml`.
- Pin every downloaded dependency to an immutable revision and checksum;
  commit `Cargo.lock` and `cargo-sources.json` together.
- Add only the Flatpak permissions required by implemented behavior.
- Exercise launch and primary workflows from a clean user installation.
- Give the reviewed `.flatpak` bundle to a release operator, who runs `dispatch-app-release.py` from `olibuijr/BifrOSt`.

The app repository never receives the BifrOSt application-release private key and never publishes directly to the trusted catalog.