From 7f1118a2432b0c04a1966bc7316fe79926c18555 Mon Sep 17 00:00:00 2001 From: vjrj Date: Fri, 17 Jul 2026 08:26:27 +0200 Subject: [PATCH] docs(fdroid): fix recipe for F-Droid CI (build chown, checkupdates, schema) - chown /opt/flutter to vagrant (build runs as non-root; fixes cache write) - AutoUpdateMode: Version (drop invalid 'v%v' per schema) - UpdateCheckMode: Tags v[\d.]+ + UpdateCheckData reading version from apps/app_seeds/pubspec.yaml (Flutter versionCode isn't a literal in gradle) Validated locally: schema, lint, checkupdates (exit 0), and flutter build as vagrant. --- docs/fdroid/org.comunes.tane.yml | 30 +++++------------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/docs/fdroid/org.comunes.tane.yml b/docs/fdroid/org.comunes.tane.yml index da88eea..141d9c7 100644 --- a/docs/fdroid/org.comunes.tane.yml +++ b/docs/fdroid/org.comunes.tane.yml @@ -1,23 +1,3 @@ -# F-Droid metadata for Tane (org.comunes.tane). -# -# This is the source of truth for the fdroiddata merge request. To submit: -# 1. Fork https://gitlab.com/fdroid/fdroiddata -# 2. Copy this file to metadata/org.comunes.tane.yml -# 3. Validate locally: fdroid lint org.comunes.tane -# fdroid build -v -l org.comunes.tane -# 4. Open the MR. -# -# Prerequisites (see docs/release.md): -# - The source repo below must be publicly clonable without auth. -# - Each release is a signed git tag `v` (UpdateCheckMode: Tags). -# - F-Droid builds and signs the APK with ITS OWN key, so the F-Droid build -# and the Google Play build have different signatures and cannot cross-update. -# -# NOTE: Flutter-on-F-Droid builds are finicky. Pin the Flutter version to the -# developer toolchain (3.41.9) and re-run `fdroid build` after every bump. This -# recipe accounts for the monorepo layout (pub workspace root at repo root, app -# at apps/app_seeds) and the generated code (slang i18n + Drift via build_runner). - Categories: - Inventory - Market & Price @@ -43,22 +23,22 @@ Builds: sudo: - apt-get update - apt-get install -y git unzip xz-utils - # Pin Flutter to the developer toolchain; keep in sync with .gitlab-ci.yml. - git clone --depth 1 -b 3.41.9 https://github.com/flutter/flutter.git /opt/flutter - - git config --global --add safe.directory /opt/flutter + - chown -R vagrant:vagrant /opt/flutter output: build/app/outputs/flutter-apk/app-release.apk prebuild: - export PATH="/opt/flutter/bin:$PATH" + - git config --global --add safe.directory /opt/flutter - flutter config --no-analytics - flutter pub get - # Generated sources: i18n (slang) then Drift/other codegen (build_runner). - dart run slang - dart run build_runner build --delete-conflicting-outputs build: - export PATH="/opt/flutter/bin:$PATH" - flutter build apk --release -AutoUpdateMode: Version v%v -UpdateCheckMode: Tags +AutoUpdateMode: Version +UpdateCheckMode: Tags v[\d.]+ +UpdateCheckData: apps/app_seeds/pubspec.yaml|version:\s*[\d.]+\+(\d+)|apps/app_seeds/pubspec.yaml|version:\s*([\d.]+)\+ CurrentVersion: 0.1.0 CurrentVersionCode: 2