49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
# Fluxer Flatpak packaging
|
|
|
|
These files are for submitting Fluxer to [Flathub](https://flathub.org), the centralised Flatpak application repository.
|
|
|
|
## Files
|
|
|
|
- **`app.fluxer.json`** -- Flatpak manifest defining the build, runtime, permissions, and sources.
|
|
- **`app.fluxer.metainfo.xml`** -- AppStream metadata for the app store listing (description, categories, content rating, etc.).
|
|
- **`app.fluxer.desktop`** -- XDG desktop entry so the app appears in desktop launchers.
|
|
- **`icon-256.png`** -- Application icon (256x256). This file must be extracted from the build resources or provided separately; it is not checked in.
|
|
|
|
## Placeholder SHA256 hashes
|
|
|
|
The `sha256` values in `app.fluxer.json` are set to `PLACEHOLDER_SHA256_X64` and `PLACEHOLDER_SHA256_ARM64`. These are updated automatically by [flatpak-external-data-checker](https://github.com/nickvdp/flatpak-external-data-checker) via the `x-checker-data` configuration on each source. When preparing a manual build, replace them with the actual SHA256 checksums of the downloaded tar.gz archives.
|
|
|
|
## Icon
|
|
|
|
The `icon-256.png` file needs to be provided before building. You can extract it from the Electron build resources:
|
|
|
|
```sh
|
|
cp ../../build_resources/icons/256x256.png icon-256.png
|
|
```
|
|
|
|
Or generate it from the source SVG/PNG in the build resources directory.
|
|
|
|
## Testing locally
|
|
|
|
Install the required runtime and base app if you haven't already:
|
|
|
|
```sh
|
|
flatpak install flathub org.freedesktop.Platform//24.08 org.freedesktop.Sdk//24.08 org.electronjs.Electron2.BaseApp//24.08
|
|
```
|
|
|
|
Then build and install:
|
|
|
|
```sh
|
|
flatpak-builder --user --install build-dir app.fluxer.json
|
|
```
|
|
|
|
Run the app:
|
|
|
|
```sh
|
|
flatpak run app.fluxer
|
|
```
|
|
|
|
## Flathub submission
|
|
|
|
To submit to Flathub, fork the [flathub/flathub](https://github.com/flathub/flathub) repository and open a pull request adding `app.fluxer.json` along with the supporting files. Refer to the [Flathub submission guide](https://docs.flathub.org/docs/for-app-authors/submission/) for current requirements.
|