fix: fdroid build#1139
Conversation
📝 WalkthroughWalkthroughThe GitHub Android release workflow is updated to use Java 21 and injects 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
| env: | ||
| LDFLAGS: -Wl,--build-id=none |
There was a problem hiding this comment.
🚩 LDFLAGS may not propagate to all native libraries in the APK
The LDFLAGS: -Wl,--build-id=none env var is set at the step level for the Build step (.github/workflows/release.yml:40). While CMake does initialize CMAKE_SHARED_LINKER_FLAGS from the LDFLAGS environment variable on first configure (which applies to plugin native code compiled during the build), the Flutter engine's libflutter.so is a pre-built binary downloaded by the Flutter SDK — it is not compiled during the build and therefore LDFLAGS cannot affect it. If the pre-built libflutter.so shipped by the Flutter SDK contains a Build ID note, the verification script at scripts/release/verify-fdroid-native-libs.sh:47 will always detect it and fail the CI. The verification script is the correct safety net here, but it's worth confirming that either (a) the fl_build package has additional post-processing to strip build IDs from pre-built binaries, or (b) the Flutter SDK's pre-built .so files already ship without Build IDs.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@packages/fl_build`:
- Line 1: The submodule update in packages/fl_build points to commit
52a504a32fb6c552d4ea8de66f7c831d7c6119ba whose commit message ("fix: update
default scp host") doesn't match the PR's stated F‑Droid build fix; either
change the submodule pointer in packages/fl_build to the intended commit that
actually contains the F‑Droid/build fix, or update the PR description and
rationale to explicitly state why this scp-host change is part of the F‑Droid
fix and include the submodule commit hash
(52a504a32fb6c552d4ea8de66f7c831d7c6119ba) and relevant upstream commit message
for reviewers.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: fa6bc034-1b92-4984-ba40-dffb99a663c6
⛔ Files ignored due to path filters (1)
pubspec.lockis excluded by!**/*.lock
📒 Files selected for processing (2)
.github/workflows/release.ymlpackages/fl_build
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@scripts/release/verify-fdroid-native-libs.sh`:
- Around line 28-32: The patterns array currently uses short/non-canonical ABI
suffixes and includes an ABI not present in abiFilters; update the patterns
variable so each entry uses the canonical Android ABI names that the build
produces (e.g., use arm64-v8a and armeabi-v7a instead of arm64/arm) and remove
the amd64/x86_64 pattern unless you explicitly support that ABI in abiFilters;
ensure the patterns list length matches the filtered ABIs and reference the
existing APP_NAME and patterns variable when making the change.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 424b6fdb-0d16-4793-a083-161498924d73
📒 Files selected for processing (1)
scripts/release/verify-fdroid-native-libs.sh
Summary by CodeRabbit