From b3f9df79413ed3cb85ebc29ac917c31d83af0965 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Thu, 24 Sep 2026 14:47:29 -0700 Subject: [PATCH] Draft the fdroiddata metadata for the F-Droid build --- fdroid/README.md | 27 ++++------- fdroid/metadata/social.flotilla.fdroid.yml | 52 ++++++++++++++++++++++ 2 files changed, 61 insertions(+), 18 deletions(-) create mode 100644 fdroid/metadata/social.flotilla.fdroid.yml diff --git a/fdroid/README.md b/fdroid/README.md index ef493597..56721dd5 100644 --- a/fdroid/README.md +++ b/fdroid/README.md @@ -41,27 +41,18 @@ The unsigned APK is written to F-Droid should run preparation before its source scan, run the asset build afterward, and use its configured Gradle runner for `assembleFdroidRelease`. -The F-Droid recipe can use: - -```yaml -subdir: android/app -gradle: - - fdroid -prebuild: - - ../../scripts/fdroid/prepare.sh -build: - - ../../scripts/fdroid/build.sh -``` +[`metadata/social.flotilla.fdroid.yml`](metadata/social.flotilla.fdroid.yml) is the recipe to submit +to `fdroiddata`. Preparation installs dependencies before F-Droid's source scan, so the recipe +scan-ignores `node_modules`, which holds FLOSS build tools such as esbuild and sharp. The build +server's JDK is older than the 21 Capacitor needs, so the recipe installs it from Debian trixie, +along with Node from nodejs.org at a pinned checksum. None of that has been through `fdroid build` +yet. ## Updates -Stable releases use bare version tags such as `1.9.1`. Proposed update metadata: - -```yaml -UpdateCheckMode: Tags ^[0-9]+\.[0-9]+\.[0-9]+$ -UpdateCheckData: 'android/app/build.gradle|(?m)^\s*versionCode\s+(\d+)\s*$|.|(?m)^\s*versionName\s+"([^"]+)"\s*$' -AutoUpdateMode: Version -``` +Stable releases use bare version tags such as `1.9.1`, and the recipe checks tags matching +`^[0-9]+\.[0-9]+\.[0-9]+$` against `versionCode` and `versionName` in +`android/app/build.gradle` at that tag. The initial `fdroiddata` submission must still review scanner exceptions for FLOSS build tools, optional OpenRouter use for a possible `NonFreeNet` declaration, and diff --git a/fdroid/metadata/social.flotilla.fdroid.yml b/fdroid/metadata/social.flotilla.fdroid.yml new file mode 100644 index 00000000..826d9e49 --- /dev/null +++ b/fdroid/metadata/social.flotilla.fdroid.yml @@ -0,0 +1,52 @@ +Categories: + - Internet +License: MIT +AuthorName: Jon Staab +WebSite: https://app.flotilla.social +SourceCode: https://gitea.coracle.social/coracle/flotilla +IssueTracker: https://gitea.coracle.social/coracle/flotilla/issues +Changelog: https://gitea.coracle.social/coracle/flotilla/src/branch/master/CHANGELOG.md + +AutoName: Flotilla +Summary: Digital communities for free people +Description: |- + Flotilla is a Nostr client for community chat, in the style of Discord. Each space is + a relay, and its rooms are NIP-29 groups inside it. It also has encrypted direct + messages, threads, a calendar, classifieds and goals. + + This build leaves out Firebase, Google Services and analytics. Instead of push + notifications it checks your relays in the background about every 15 minutes, and + Android may delay that further. + +RepoType: git +Repo: https://gitea.coracle.social/coracle/flotilla.git + +Builds: + - versionName: 1.11.1 + versionCode: 53 + commit: 04bd38429e60768b21ec2c79c38438b47d97b3a2 + subdir: android/app + sudo: + - echo "deb https://deb.debian.org/debian trixie main" > /etc/apt/sources.list.d/trixie.list + - apt-get update + - apt-get install -y -t trixie openjdk-21-jdk-headless + - update-alternatives --auto java + - curl -Lo node.tar.xz https://nodejs.org/dist/v22.23.3/node-v22.23.3-linux-x64.tar.xz + - echo "df450af89261115ef9f9e3830c3eeb2cc9213b63c720b1af623cb5dcbe2e02de node.tar.xz" + | sha256sum -c - + - tar xJf node.tar.xz + - cp -a node-v22.23.3-linux-x64/. /usr/local/ + - rm -rf node.tar.xz node-v22.23.3-linux-x64 + - corepack enable + gradle: + - fdroid + prebuild: ../../scripts/fdroid/prepare.sh + scanignore: + - node_modules + build: ../../scripts/fdroid/build.sh + +AutoUpdateMode: Version +UpdateCheckMode: Tags ^[0-9]+\.[0-9]+\.[0-9]+$ +UpdateCheckData: android/app/build.gradle|(?m)^\s*versionCode\s+(\d+)\s*$|.|(?m)^\s*versionName\s+"([^"]+)"\s*$ +CurrentVersion: 1.11.1 +CurrentVersionCode: 53