Where the framework lives from mbedtls #107
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#107
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?
As things stand after the TF-PSA-Crypto split, in mbedtls, we have two copies of the framework submodule: one at the root, and one in the
tf-psa-cryptodirectory (coming from the tf-psa-crypto submodule).In any case, TF-PSA-Crypto must have a framework submodule, because it must be possible to maintain it independently of Mbed TLS. That leaves several ways we can handle the framework.
Independent frameworks
In Mbed TLS, there is a
/frameworkwhich is used when building the mbedtls libraries and linked into the tests, and there is a/tf-psa-crypto/frameworkwhich is used when building the crypto library. These can, in principle, be completely independent.Benefits:
Downsides:
Identical frameworks
In Mbed TLS, there is a
/frameworkwhich is used when building the mbedtls libraries and linked into the tests, and there is a/tf-psa-crypto/frameworkwhich is used when building the crypto library. The two framework submodules always point to the same commit in thembedtls-frameworkrepository.Benefits:
Downsides:
Framework only in crypto
Mbed TLS has no
/framework: that is present only in TF-PSA-Crypto and in Mbed TLS 3.6. Mbed TLS always uses/tf-psa-crypto/framework.Benefits:
Downsides:
build_tree.py.Framework only at the root
When Mbed TLS uses TF-PSA-Crypto, it makes crypto use
/framework. The recursive submodule at/tf-psa-crypto/frameworkis unused and does not need to be initialized.Benefits:
Downsides:
All code in TF-PSA-Crypto needs to be able to look for the framework in
../frameworkrelative to the TF-PSA-Crypto root. But that is already mostly the case at the time of the TF-PSA-Crypto split, because the code was written to work before and after the split. TF-PSA-Crypto refers to the framework through the following:${TF_PSA_CRYPTO_FRAMEWORK_DIR}in CMake.$FRAMEWORKinall.shframework_scripts_path.py,.mypy.iniand.pylintrcin Pythonframework/data_filesin.datafiles. This can be handled ingenerate_test_code.py: detect data-file-path arguments and fix up the framework path.So we would need to do some initial work, but it's plausible that doing so would save us time overall over the next six months.
Goal of this issue
Determine what we want to do and when.
https://github.com/Mbed-TLS/TF-PSA-Crypto/issues/171 proposes to use the TF-PSA-Crypto framework in the TF-PSA-Crypto CI at both
/mbedtls/frameworkand/mbedtls/tf-psa-crypto/framework.