All checks were successful
CI / ci (pull_request) Successful in 8m50s
v2.7.3 is the first release built with `vcsInfo { include = false }` and is
verified reproducible: a clean from-source build matched the published
calendula_v2.7.3.apk byte-for-byte across all 1382 zip entries (only the
signature block differs, which F-Droid copies).
- Point the fdroiddata recipe's Builds entry + CurrentVersion at v2.7.3
(was the 2.7.2 placeholder, which lacks the fix and would fail verification).
- UpdateCheckMode: Tags ^v[0-9.]+$ — after this one-time submission F-Droid
auto-tracks new release tags and adds build entries itself; no manual recipe
edits per release.
- Add scripts/check_reproducible_release.sh + an always-on CI step asserting the
release build keeps VCS-info disabled, so reproducibility can't silently
regress and quietly stop official-repo publishing.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
62 lines
2.8 KiB
YAML
62 lines
2.8 KiB
YAML
# ---------------------------------------------------------------------------
|
|
# DRAFT fdroiddata metadata for the OFFICIAL F-Droid repository.
|
|
#
|
|
# This is NOT the self-hosted metadata (that lives in ../../fdroid-metadata/).
|
|
# When submitting, this file's contents go to fdroiddata on GitLab as
|
|
# metadata/de.jeanlucmakiola.calendula.yml
|
|
# See README.md in this folder for the verification status and submission steps.
|
|
#
|
|
# Publishing model: REPRODUCIBLE BUILD + developer-signed binary.
|
|
# F-Droid builds from source on its buildserver, then verifies the result is
|
|
# identical to our own signed APK (fetched via `Binaries`). If it matches,
|
|
# F-Droid publishes OUR binary signed with OUR key (`AllowedAPKSigningKeys`),
|
|
# so the official and self-hosted channels carry the SAME signature and users
|
|
# migrate between them with no reinstall / no data loss.
|
|
# ---------------------------------------------------------------------------
|
|
|
|
Categories:
|
|
- Time
|
|
License: MIT
|
|
AuthorName: Jean-Luc Makiola
|
|
SourceCode: https://gitea.jeanlucmakiola.de/makiolaj/calendula
|
|
IssueTracker: https://gitea.jeanlucmakiola.de/makiolaj/calendula/issues
|
|
Changelog: https://gitea.jeanlucmakiola.de/makiolaj/calendula/src/branch/main/CHANGELOG.md
|
|
|
|
AutoName: Calendula
|
|
|
|
RepoType: git
|
|
Repo: https://gitea.jeanlucmakiola.de/makiolaj/calendula.git
|
|
|
|
# First build entry = v2.7.3, the first release with `vcsInfo { include = false }`.
|
|
# VERIFIED reproducible (2026-06-21): a clean from-source build of tag v2.7.3
|
|
# matched the published calendula_v2.7.3.apk byte-for-byte across all 1382 zip
|
|
# entries (only the signature block differs, which F-Droid copies). v2.7.2 and
|
|
# earlier embed META-INF/version-control-info.textproto and will NOT verify — do
|
|
# not target them. Subsequent versions are added automatically (AutoUpdateMode).
|
|
Builds:
|
|
- versionName: 2.7.3
|
|
versionCode: 20703
|
|
commit: v2.7.3
|
|
subdir: app
|
|
gradle:
|
|
- yes
|
|
# No NDK / no flavors. The release buildType applies a signingConfig only
|
|
# when key.properties exists; on the buildserver it does not, so this
|
|
# produces the unsigned APK F-Droid compares against our binary.
|
|
|
|
# SHA-256 of our app signing certificate (public; embedded in every published
|
|
# APK). Locks F-Droid to publish only binaries signed with our key.
|
|
AllowedAPKSigningKeys: 5cdaee8eb31cb0df9157c646ae3ec8b3dc43b5bb72624e088c9ddea0c4eb5ec1
|
|
|
|
# Our own developer-signed APK for reproducible-build verification. %v -> the
|
|
# versionName, so v2.7.3 resolves to calendula_v2.7.3.apk on the self-hosted repo.
|
|
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
|
|
# build entries itself — no manual recipe edits per release. The tag regex keeps
|
|
# it to release tags only.
|
|
AutoUpdateMode: Version v%v
|
|
UpdateCheckMode: Tags ^v[0-9.]+$
|
|
CurrentVersion: 2.7.3
|
|
CurrentVersionCode: 20703
|