build(fdroid): drop AGP dependency-metadata block; release v2.7.5 #25
Reference in New Issue
Block a user
Delete Branch "release/v2.7.5"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Release v2.7.5 — clear the last official-F-Droid blocker
When the fdroiddata MR (!40967) pipeline ran on v2.7.4,
fdroid buildandschema validationpassed — but thecheck apkjob rejected our published binary:That's AGP's dependency-metadata block (id
0x504b4453, ~8 KB) embedded in the APK Signing Block. F-Droid bans any extra signing block.Fix
dependenciesInfo { includeInApk = false; includeInBundle = false }inapp/build.gradle.kts.The block lives in the signing block, not the zip entries, so removing it changes no build output — which is exactly why v2.7.4 still built reproducibly on F-Droid's side (
fdroid buildpassed) whilecheck apkfailed. Verified locally: areleaseTestbuild now carries only the v2 signature + verity padding — the0x504b4453block is gone.Blocker history (all now cleared)
vcsInfo { include = false }— VCS-info textproto (since 2.7.3)Changes
dependenciesInfooff; bump → 2.7.5 / 20705; CHANGELOG + synced20705.txt; recipe draft → v2.7.5.On-device
Functionally identical to the on-device-verified v2.7.4 (only the signing block + version differ). Merging triggers the release pipeline → publishes
calendula_v2.7.5.apk, tagsv2.7.5. I'll then re-verify reproducibility and update the fdroiddata MR to v2.7.5.🤖 Generated with Claude Code
F-Droid's binary scanner (the fdroiddata `check apk` job) rejects any "extra signing block". Our release APK carried AGP's dependency-metadata block (id 0x504b4453, ~8 KB) in the APK Signing Block. Disable it with `dependenciesInfo { includeInApk = false; includeInBundle = false }`. The block lives in the signing block, not the zip entries, so removing it changes no build output — v2.7.5 is functionally identical to 2.7.4 and still reproduces byte-for-byte. Verified locally: a releaseTest build now carries only the v2 signature + verity padding (no 0x504b4453 block). This was the last F-Droid blocker: v2.7.5 now clears vcsInfo (since 2.7.3), foojay (since 2.7.4) and the dependency-metadata block. Bumps versionName to 2.7.5 and retargets the official recipe draft at v2.7.5. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>