Publish the Android app in the main F-Droid catalogue #276

Open
opened 2026-08-29 17:33:18 +00:00 by nalum · 0 comments
Owner

Track publication to f-droid.org (route A). The licence is AGPL-3.0 and the app carries no FCM, no play-services and no binary blobs, so the hard requirements already hold. What remains:

  • Public source access. The F-Droid build server must clone the repo anonymously over the internet. Done: git.eagraiclainne.ie serves anonymous clones (verified 2026-08-29 with an unauthenticated git ls-remote).
  • versionName without CI env. android/app/build.gradle.kts reads ANDROID_VERSION_NAME from the environment. Give the F-Droid recipe a clean seam: a gradle property fallback, or document the prebuild env line in the recipe.
  • Fastlane metadata in-repo. metadata/en-US/: short and full description, app icon, screenshots, per-release changelogs. Also the ga locale to match the app.
  • Signature decision. Default: F-Droid signs with their key, which breaks updates for every existing install (uninstall/reinstall to switch). Alternative: reproducible builds, so F-Droid verifies a byte-identical APK and publishes our signature — needs pinned SDK/build-tools and a deterministic R8 output. Decide before the fdroiddata MR.
  • fdroiddata merge request. Metadata YAML: licence, categories, source URL, subdir: android/app, build recipe, AutoUpdateMode: Version against the v* tags. Verify the recipe builds in fdroid build locally first.
  • Review follow-through. Answer scanner findings and reviewer questions; the queue runs weeks to months.

Context: the phone-install path today is Obtainium against the Forgejo releases (deploy/obtainium.json, shipped as a release asset since PR #275). That path stays; F-Droid adds public distribution.

Track publication to f-droid.org (route A). The licence is AGPL-3.0 and the app carries no FCM, no play-services and no binary blobs, so the hard requirements already hold. What remains: - [x] **Public source access.** The F-Droid build server must clone the repo anonymously over the internet. Done: git.eagraiclainne.ie serves anonymous clones (verified 2026-08-29 with an unauthenticated `git ls-remote`). - [ ] **versionName without CI env.** `android/app/build.gradle.kts` reads `ANDROID_VERSION_NAME` from the environment. Give the F-Droid recipe a clean seam: a gradle property fallback, or document the `prebuild` env line in the recipe. - [ ] **Fastlane metadata in-repo.** `metadata/en-US/`: short and full description, app icon, screenshots, per-release changelogs. Also the ga locale to match the app. - [ ] **Signature decision.** Default: F-Droid signs with their key, which breaks updates for every existing install (uninstall/reinstall to switch). Alternative: reproducible builds, so F-Droid verifies a byte-identical APK and publishes our signature — needs pinned SDK/build-tools and a deterministic R8 output. Decide before the fdroiddata MR. - [ ] **fdroiddata merge request.** Metadata YAML: licence, categories, source URL, `subdir: android/app`, build recipe, `AutoUpdateMode: Version` against the `v*` tags. Verify the recipe builds in `fdroid build` locally first. - [ ] **Review follow-through.** Answer scanner findings and reviewer questions; the queue runs weeks to months. Context: the phone-install path today is Obtainium against the Forgejo releases (`deploy/obtainium.json`, shipped as a release asset since PR #275). That path stays; F-Droid adds public distribution.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eagraiclainne/app#276
No description provided.