From 6abfef00f292dbbc1c8cc66586049813447d3ef9 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sun, 28 Jun 2026 19:32:23 +0200 Subject: [PATCH] docs(fdroid): warn against premature submodules:true in official recipe fdroidserver's initsubmodules() raises NoSubmodulesException on any build entry whose commit lacks .gitmodules, so `submodules: true` is a hard build failure on every release before the floret-kit submodule lands (verified 2026-06-28 against fdroiddata MR !41553). Document that it must be added only in the recipe entry targeting the first release that ships the floret-kit composite build. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../fdroid-official/de.jeanlucmakiola.calendula.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/fdroid-official/de.jeanlucmakiola.calendula.yml b/docs/fdroid-official/de.jeanlucmakiola.calendula.yml index 45a7a3e..29f9b66 100644 --- a/docs/fdroid-official/de.jeanlucmakiola.calendula.yml +++ b/docs/fdroid-official/de.jeanlucmakiola.calendula.yml @@ -48,6 +48,19 @@ Builds: # 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. + # + # DO NOT add `submodules: true` here ahead of need. fdroidserver's + # initsubmodules() RAISES NoSubmodulesException ("No git submodules + # available") on any build entry whose commit has no `.gitmodules`, so + # `submodules: true` is a HARD BUILD FAILURE — not a no-op — on every + # release before the floret-kit submodule lands. (Verified 2026-06-28: it + # broke the fdroid build / checkupdates / check-source-code jobs on + # fdroiddata MR !41553; confirmed locally with the fdroidserver-master + # fetchsrclibs path.) Add `submodules: true` ONLY in the recipe entry that + # targets the FIRST release actually shipping the `floret-kit` git submodule + # (composite build via `includeBuild("floret-kit")`, core-time refactor on + # branch `chore/floret-kit-core-time`) — and only there. From that entry on + # it becomes the AutoUpdateMode template and propagates to future builds. # SHA-256 of our app signing certificate (public; embedded in every published # APK). Locks F-Droid to publish only binaries signed with our key.