Declare framework-internal dependencies in the framework #110
Labels
No labels
approved
bug
dependencies
DO-NOT-MERGE
enhancement
good-first-issue
help-wanted
historical-reviewed
historical-reviewing
needs-adoption
needs-ci
needs-design-approval
needs-info
needs-preceding-pr
needs-review
needs-reviewer
needs-work
priority-high
priority-low
priority-medium
priority-scheduled
priority-very-high
single-reviewer
size-l
size-m
size-s
size-xs
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-Mbed-TLS/mbedtls-framework#110
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The build scripts in Mbed TLS and TF-PSA-Crypto call several scripts from the framework, and need to know the dependencies of those scripts (data files and auxiliary Python modules). Currently, those dependencies are recorded in
**/Makefileand**/CMakeLists.txtin the consuming repositories. Since the dependencies result from code in the framework, we should declare them in the framework repository.The test data generators all follow the pattern that
framework/scripts/generate_xxx_tests.py --listprints the list of output files (and there's--list-for-cmaketo produce the same list in a CMake-friendly format). We should expand that, or add another option, to list the dependencies.The dependencies can include:
framework/data_files) referenced in the script.framework/scripts/mbedtls_framework— maybe we can find those automatically using Python introspection?crypto_config.h) read by the script.An example of where this would have been useful is https://github.com/Mbed-TLS/mbedtls-framework/pull/83, which required an awkward dance to keep the build scripts working:
psa_test_case.py.psa_test_case.pyas a dependency when runninggenerate_psa_tests.py.psa_test_case.pyingenerate_psa_tests.py.generate_psa_tests.py.The back-and-forth due to steps 1 and 2 complicate the history of framework updates, which is a pain in itself in the best of cases. We wouldn't need steps 1 and 2 if the framework was the authority for its own dependencies.