commit 588de074cbe5e7f6164fc40aac4317005589143c equwal <truex@equwal.com> 2026-09-26 18:33:44 -0700 Link the speech library without a build ID, and set the version to 0.9.3 The F-Droid build of 0.9.2 differed from the signed APK only in the 20 bytes of the GNU build ID of libsubread_whisper.so. The linker makes the ID from the debug information, and that holds the build folder of Gradle (.cxx/<hash>), whose name depends on the CMake arguments of each machine. Without the ID, the stripped library is the same everywhere.
app/build.gradle.kts | 4 ++-- app/src/main/cpp/CMakeLists.txt | 4 ++++ fastlane/metadata/android/en-US/changelogs/13.txt | 1 + fdroid/space.subread.app.yml | 10 +++++----- 4 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ba9a8e6..77fdcc5 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -28,8 +28,8 @@ android { minSdk = 26 targetSdk = 36 // Plain numbers, in this file: F-Droid reads them from here to find a new release. - versionCode = 12 - versionName = "0.9.2" + versionCode = 13 + versionName = "0.9.3" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" // A link to the Ko-fi page. Google Play is not given it (-PplayStore=true): its diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt index b5de705..9e9d1c1 100644 --- a/app/src/main/cpp/CMakeLists.txt +++ b/app/src/main/cpp/CMakeLists.txt @@ -46,3 +46,7 @@ add_subdirectory(${WHISPER_DIR} whisper EXCLUDE_FROM_ALL) add_library(subread_whisper SHARED whisper_jni.c) target_link_libraries(subread_whisper PRIVATE whisper log) target_link_options(subread_whisper PRIVATE -Wl,--gc-sections -Wl,--exclude-libs,ALL) +# No GNU build ID. The linker makes it from the debug information, and that holds the +# build folder of Gradle (.cxx/<hash>), whose name is different on each machine. +# Without it, the stripped library is the same on the F-Droid build server. +target_link_options(subread_whisper PRIVATE -Wl,--build-id=none) diff --git a/fastlane/metadata/android/en-US/changelogs/13.txt b/fastlane/metadata/android/en-US/changelogs/13.txt new file mode 100644 index 0000000..7d78bd2 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/13.txt @@ -0,0 +1 @@ +The speech library has no build ID, so the F-Droid build is the same as the signed APK on GitHub. Nothing else changes. diff --git a/fdroid/space.subread.app.yml b/fdroid/space.subread.app.yml index b069257..ccc699b 100644 --- a/fdroid/space.subread.app.yml +++ b/fdroid/space.subread.app.yml @@ -16,9 +16,9 @@ Repo: https://github.com/equwal/subread-android.git Binaries: https://github.com/equwal/subread-android/releases/download/v%v/SubRead-%v.apk Builds: - - versionName: 0.9.2 - versionCode: 12 - commit: v0.9.2 + - versionName: 0.9.3 + versionCode: 13 + commit: v0.9.3 subdir: app submodules: true sudo: @@ -48,5 +48,5 @@ MaintainerNotes: |- AutoUpdateMode: Version UpdateCheckMode: Tags -CurrentVersion: 0.9.2 -CurrentVersionCode: 12 +CurrentVersion: 0.9.3 +CurrentVersionCode: 13