Improvements for 3rd-party managed dependency mgmt
(See also prior discussions rfp#378 (closed) and fdroiddata!2854 (closed))
In the particular build setup needed for Chromium/Bromite, it is necessary to use gclient to have repositories set at correct commit (same feature as F-Droid's srclibs) and more importantly to run the hooks (hooks download non-free components needed for the final APK and/or the build process).
While I have successfully managed to generate the metadata with correct srclibs, there are a few issues left which could be improved by adding some build field/option in the metadata:
- possibility to disable
remove_signing_keys
andremove_debuggable_flags
(see fdroiddata!2854 (comment 56441197)), since a 3rd-party tool (gclient
in this case) does not like to find modified files during thesync
stage; NOTE: the changes made by those calls are useless and cause some loss of time, as signing keys and debuggable flags are configured in a different way for Chromium/Bromite - possibility to disable the scanning of srclibs
- possibility to disable the reset of the git repos, since it takes some considerable time and it is executed anyway later on by
gclient sync
I understand that currently fdroid build
tries to apply a "one size fits all" solution for the signing keys and debuggable flags, but that is not perfect for all use-cases.
Same goes for scanning: heuristic scanning can go to certain extent, it is not a replacement for human review and in this case makes build iterations slower.
Edit: for problem (1) I could try to modify DepotTools's gclient
to not perform any operation on the srclibs' repos, not sure how feasible/easy that is though
NOTE: this feature request is about the parts of fdroid build
that I have seen mess up with the source code and repos, not about the topic of "non-free components are not allowed/discouraged on F-Droid", for that I believe we should use rfp#378 (closed) for discussion