Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stability: Environment variables #405

Closed
hug-dev opened this issue Apr 28, 2021 · 2 comments
Closed

Stability: Environment variables #405

hug-dev opened this issue Apr 28, 2021 · 2 comments
Assignees
Labels
stability Issues related to the stability of the service

Comments

@hug-dev
Copy link
Member

hug-dev commented Apr 28, 2021

Definition: Environment variables should still have the same behaviour in future stable Parsec versions.
Enforcement: Env var behaviours must not be removed in Parsec.

Enforcement Check

Environment variables can be used to modify the buildtime/runtime configuration of Parsec. For example currently the psa-crypto crates reads for MBEDTLS_LIB_DIR, MBEDTLS_INCLUDE_DIR and MBEDCRYPTO_STATIC variables. Parsec builders might depend on these variable to still work.

Parsec can not really enforce it as some env var might be read by other crates. We should however identify the important ones and make sure they still work in the future.

This can only be checked via testing/code review.

Testing

For testing, those env vars should be exerced for different versions of Parsec.

@hug-dev hug-dev added the stability Issues related to the stability of the service label Apr 28, 2021
@ionut-arm
Copy link
Member

Worth including the PKG_CONFIG variables here, needed in some cases for cross-compilation. Some details about cross compilation with pkg-config here, and some Rust-specific stuff here

@hug-dev hug-dev added this to the Parsec Release 0.8.0 milestone May 5, 2021
@hug-dev hug-dev self-assigned this Jun 15, 2021
@hug-dev
Copy link
Member Author

hug-dev commented Jun 17, 2021

We can not possibly track all environment variables used in all the dependency tree but we can list and test the ones we define and are important in Parsec:

  • MBEDTLS_INCLUDE_DIR: location of the PSA Crypto header files (defined here)
  • MBEDTLS_LIB_DIR: location of the PSA Crypto library (libmbedcrypto.a/so)
  • MBEDCRYPTO_STATIC: flag to enable static compilation to Mbed Crypto

The first two variables are tested in the CI script. The last one is tested in the psa-crypto CI.

@hug-dev hug-dev closed this as completed Jun 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stability Issues related to the stability of the service
Projects
None yet
Development

No branches or pull requests

2 participants