Merge pull request 'build(fdroid): drop AGP dependency-metadata block; release v2.7.5' (#25) from release/v2.7.5 into main
All checks were successful
Release — F-Droid repo + Gitea release / detect (push) Successful in 4s
Release — F-Droid repo + Gitea release / release (push) Successful in 4m58s
Renovate / renovate (push) Successful in 1m6s

Reviewed-on: #25
This commit was merged in pull request #25.
This commit is contained in:
2026-06-21 19:00:43 +00:00
4 changed files with 42 additions and 16 deletions

View File

@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [2.7.5] — 2026-06-21
### Changed
- Further build cleanup for the official F-Droid repository: stopped embedding
AGP's dependency-metadata block in the APK, which F-Droid's reproducible-build
scanner rejects as an extra signing block. No functional or visible changes —
the same app as 2.7.4, just without that Play-oriented metadata blob.
## [2.7.4] — 2026-06-21 ## [2.7.4] — 2026-06-21
### Changed ### Changed

View File

@@ -28,8 +28,8 @@ android {
// which builds this version and then creates the matching vX.Y.Z tag + // which builds this version and then creates the matching vX.Y.Z tag +
// release itself (versionCode is pinned to MAJOR*10000 + MINOR*100 + // release itself (versionCode is pinned to MAJOR*10000 + MINOR*100 +
// PATCH from versionName, e.g. 2.7.2 -> 20702). See docs/RELEASING.md. // PATCH from versionName, e.g. 2.7.2 -> 20702). See docs/RELEASING.md.
versionCode = 20704 versionCode = 20705
versionName = "2.7.4" versionName = "2.7.5"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }
@@ -92,6 +92,16 @@ android {
compose = true compose = true
} }
// Don't embed AGP's dependency-metadata block in the APK signing block. It's
// a Play-oriented blob, and F-Droid's reproducible-build scanner rejects any
// "extra signing block" — so leaving it in blocks publishing to the official
// repo. It lives in the signing block, not the zip entries, so disabling it
// doesn't change the build output (reproducibility is unaffected).
dependenciesInfo {
includeInApk = false
includeInBundle = false
}
packaging { packaging {
resources { resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}" excludes += "/META-INF/{AL2.0,LGPL2.1}"

View File

@@ -27,18 +27,20 @@ AutoName: Calendula
RepoType: git RepoType: git
Repo: https://gitea.jeanlucmakiola.de/makiolaj/calendula.git Repo: https://gitea.jeanlucmakiola.de/makiolaj/calendula.git
# First build entry = v2.7.4, the first release that BOTH disables AGP VCS-info # First build entry = v2.7.5, the first release that clears ALL three F-Droid
# (`vcsInfo { include = false }`, since v2.7.3) AND drops the unused Gradle # blockers: (1) AGP VCS-info disabled (`vcsInfo { include = false }`, since
# foojay toolchain-resolver plugin, which F-Droid's offline build scanner rejects # v2.7.3); (2) the unused Gradle foojay toolchain-resolver plugin removed (since
# (it can fetch a JDK over the network). The plugin was inert here (no toolchain # v2.7.4) — the offline build scanner rejects it as it can fetch a JDK; (3) AGP's
# block invoked it), so v2.7.4 is functionally identical to v2.7.3 and reproduces # dependency-metadata block no longer embedded (`dependenciesInfo { includeInApk
# byte-for-byte from source. v2.7.3 and earlier either embed # = false }`) — the binary scanner rejects it as an "extra signing block". All
# META-INF/version-control-info.textproto or trip the foojay scanner — do not # three live outside the zip entries or are inert, so v2.7.5 is functionally
# target them. Subsequent versions are added automatically (AutoUpdateMode). # identical to v2.7.3 and reproduces byte-for-byte from source. v2.7.4 and
# earlier trip one of these checks — do not target them. Subsequent versions are
# added automatically (AutoUpdateMode).
Builds: Builds:
- versionName: 2.7.4 - versionName: 2.7.5
versionCode: 20704 versionCode: 20705
commit: v2.7.4 commit: v2.7.5
subdir: app subdir: app
gradle: gradle:
- yes - yes
@@ -51,7 +53,7 @@ Builds:
AllowedAPKSigningKeys: 5cdaee8eb31cb0df9157c646ae3ec8b3dc43b5bb72624e088c9ddea0c4eb5ec1 AllowedAPKSigningKeys: 5cdaee8eb31cb0df9157c646ae3ec8b3dc43b5bb72624e088c9ddea0c4eb5ec1
# Our own developer-signed APK for reproducible-build verification. %v -> the # Our own developer-signed APK for reproducible-build verification. %v -> the
# versionName, so v2.7.4 resolves to calendula_v2.7.4.apk on the self-hosted repo. # versionName, so v2.7.5 resolves to calendula_v2.7.5.apk on the self-hosted repo.
Binaries: https://apps.dev.jeanlucmakiola.de/dev/fdroid/repo/calendula_v%v.apk Binaries: https://apps.dev.jeanlucmakiola.de/dev/fdroid/repo/calendula_v%v.apk
# After this one-time submission F-Droid auto-tracks new vX.Y.Z tags and creates # After this one-time submission F-Droid auto-tracks new vX.Y.Z tags and creates
@@ -59,5 +61,5 @@ Binaries: https://apps.dev.jeanlucmakiola.de/dev/fdroid/repo/calendula_v%v.apk
# it to release tags only. # it to release tags only.
AutoUpdateMode: Version AutoUpdateMode: Version
UpdateCheckMode: Tags ^v[0-9.]+$ UpdateCheckMode: Tags ^v[0-9.]+$
CurrentVersion: 2.7.4 CurrentVersion: 2.7.5
CurrentVersionCode: 20704 CurrentVersionCode: 20705

View File

@@ -0,0 +1,6 @@
### Changed
- Further build cleanup for the official F-Droid repository: stopped embedding
AGP's dependency-metadata block in the APK, which F-Droid's reproducible-build
scanner rejects as an extra signing block. No functional or visible changes —
the same app as 2.7.4, just without that Play-oriented metadata blob.