From 6a3de14b4348b67a13c90a75a7605d95d9f88e40 Mon Sep 17 00:00:00 2001 From: Paul Adelsbach Date: Thu, 12 Jun 2025 02:10:34 +0000 Subject: [PATCH] Add setup-env script to set provider environment variables --- .github/workflows/build-wolfprovider.yml | 1 + .github/workflows/cjose.yml | 12 ++--- .github/workflows/curl.yml | 12 ++--- .github/workflows/grpc.yml | 12 ++--- .github/workflows/iperf.yml | 11 +---- .github/workflows/ipmitool.yml | 12 ++--- .github/workflows/liboauth2.yml | 12 ++--- .github/workflows/multi-compiler.yml | 1 + .github/workflows/net-snmp.yml | 10 ++-- .github/workflows/nginx.yml | 11 ++--- .github/workflows/openldap.yml | 12 ++--- .github/workflows/openssh.yml | 12 ++--- .github/workflows/openvpn.yml | 11 ++--- .github/workflows/simple.yml | 1 + .github/workflows/socat.yml | 11 ++--- .github/workflows/stunnel.yml | 11 ++--- .github/workflows/tcpdump.yml | 13 ++---- scripts/env-setup | 59 ++++++++++++++++++++++++ 18 files changed, 107 insertions(+), 117 deletions(-) create mode 100755 scripts/env-setup diff --git a/.github/workflows/build-wolfprovider.yml b/.github/workflows/build-wolfprovider.yml index 2a077190..fbf27444 100644 --- a/.github/workflows/build-wolfprovider.yml +++ b/.github/workflows/build-wolfprovider.yml @@ -32,6 +32,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install diff --git a/.github/workflows/cjose.yml b/.github/workflows/cjose.yml index 26310910..ef0a458a 100644 --- a/.github/workflows/cjose.yml +++ b/.github/workflows/cjose.yml @@ -58,6 +58,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -83,7 +84,7 @@ jobs: working-directory: cjose run: | # Configure with OpenSSL - ./configure CFLAGS="-Wno-error=deprecated-declarations" --with-openssl=/git/wolfProvider/openssl-install + ./configure CFLAGS="-Wno-error=deprecated-declarations" --with-openssl=/git/wolfProvider/openssl-install # Build cjose make @@ -92,15 +93,8 @@ jobs: working-directory: cjose run: | # Set up the environment for wolfProvider - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} - export SHELL=/bin/bash - - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) # Run tests make test || true diff --git a/.github/workflows/curl.yml b/.github/workflows/curl.yml index 5b827a65..c54ccd8e 100644 --- a/.github/workflows/curl.yml +++ b/.github/workflows/curl.yml @@ -57,6 +57,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -90,18 +91,11 @@ jobs: - name: Test curl with wolfProvider working-directory: curl run: | - # Set environment variables - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib - export PKG_CONFIG_PATH=$GITHUB_WORKSPACE/openssl-install/lib64/pkgconfig + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} export CURL_REF=${{ matrix.curl_ref }} - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) - # Run tests and save output to test.log mkdir -p tests make -j$(nproc) test-ci 2>&1 | tee tests/test.log diff --git a/.github/workflows/grpc.yml b/.github/workflows/grpc.yml index 43e5e584..e6b23d9e 100644 --- a/.github/workflows/grpc.yml +++ b/.github/workflows/grpc.yml @@ -61,6 +61,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -94,14 +95,9 @@ jobs: - name: Build grpc with wolfProvider working-directory: ./grpc run: | - # Setup environment for wolfProviders - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib - - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup + export ${{ matrix.force_fail }} # Initialize submodules git submodule update --init diff --git a/.github/workflows/iperf.yml b/.github/workflows/iperf.yml index 20bb6acb..9d433a9c 100644 --- a/.github/workflows/iperf.yml +++ b/.github/workflows/iperf.yml @@ -54,6 +54,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -100,11 +101,8 @@ jobs: working-directory: iperf run: | # Set up the environment for wolfProvider - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} - export SHELL=/bin/bash # Test variables for iperf export IPERF3_EXECUTABLE=$GITHUB_WORKSPACE/iperf/src/iperf3 @@ -116,11 +114,6 @@ jobs: export IPERF3_PASSWORD=rossi export KEY_DIR=$GITHUB_WORKSPACE/test-keys - # Verify OpenSSL loads wolfProvider to confirm configuration above - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) - # Verify iperf loads OpenSSL containing wolfProvider ldd $IPERF3_LIB | grep -q wolfProvider diff --git a/.github/workflows/ipmitool.yml b/.github/workflows/ipmitool.yml index 29529346..636067fe 100644 --- a/.github/workflows/ipmitool.yml +++ b/.github/workflows/ipmitool.yml @@ -54,6 +54,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -79,14 +80,9 @@ jobs: - name: Confirm built with OpenSSL and test with wolfProvider working-directory: ipmitool run: | - # Setup environment variables - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib - - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup + export ${{ matrix.force_fail }} # Verify ipmitool was built and linked correctly with OpenSSL ldd src/ipmitool | grep -E '(libssl|libcrypto)' diff --git a/.github/workflows/liboauth2.yml b/.github/workflows/liboauth2.yml index 3aa1dd6e..2e8de7ee 100644 --- a/.github/workflows/liboauth2.yml +++ b/.github/workflows/liboauth2.yml @@ -53,6 +53,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -88,17 +89,10 @@ jobs: - name: Run liboauth2 tests working-directory: liboauth2 run: | - # Set environment variables - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib - export PKG_CONFIG_PATH=$GITHUB_WORKSPACE/openssl-install/lib64/pkgconfig + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) - # Build and run tests make check 2>&1 | tee liboauth2-test.log TEST_RESULT=$? diff --git a/.github/workflows/multi-compiler.yml b/.github/workflows/multi-compiler.yml index 38454135..2ecc5e56 100644 --- a/.github/workflows/multi-compiler.yml +++ b/.github/workflows/multi-compiler.yml @@ -73,6 +73,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install diff --git a/.github/workflows/net-snmp.yml b/.github/workflows/net-snmp.yml index 3e8905f5..a6cd4f56 100644 --- a/.github/workflows/net-snmp.yml +++ b/.github/workflows/net-snmp.yml @@ -55,6 +55,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -85,15 +86,10 @@ jobs: - name: Run tests working-directory: net-snmp run: | - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) - autoconf --version | grep -P '2\.\d\d' -o > dist/autoconf-version mkdir -p tests make -j test TESTOPTS="-e agentxperl" | tee tests/test.log diff --git a/.github/workflows/nginx.yml b/.github/workflows/nginx.yml index 1fba1f8e..c464b83e 100644 --- a/.github/workflows/nginx.yml +++ b/.github/workflows/nginx.yml @@ -57,6 +57,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -92,16 +93,10 @@ jobs: - name: Run nginx-tests with wolfProvider working-directory: nginx-tests run: | - # Set environment variables - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) - # Run tests and save result TEST_NGINX_VERBOSE=y TEST_NGINX_CATLOG=y TEST_NGINX_BINARY=../nginx/objs/nginx prove -v . 2>&1 | tee nginx-test.log TEST_RESULT=$? diff --git a/.github/workflows/openldap.yml b/.github/workflows/openldap.yml index 7468a3a1..40f431bc 100644 --- a/.github/workflows/openldap.yml +++ b/.github/workflows/openldap.yml @@ -54,6 +54,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -77,14 +78,9 @@ jobs: - name: Build and test OpenLDAP with wolfProvider working-directory: openldap run: | - # Setup environment for wolfProvider - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib - - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup + export ${{ matrix.force_fail }} # Generate configure script rm -f aclocal.m4 diff --git a/.github/workflows/openssh.yml b/.github/workflows/openssh.yml index 1739d60b..632b8463 100644 --- a/.github/workflows/openssh.yml +++ b/.github/workflows/openssh.yml @@ -57,6 +57,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -81,14 +82,9 @@ jobs: - name: Build and Test openssh-portable working-directory: openssh-portable run: | - # Set environment variables - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib - - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup + export ${{ matrix.force_fail }} # Apply the patch for the correct version of OpenSSH if [ "${{ matrix.openssh_ref }}" != "master" ]; then diff --git a/.github/workflows/openvpn.yml b/.github/workflows/openvpn.yml index f4663652..bfb2cac0 100644 --- a/.github/workflows/openvpn.yml +++ b/.github/workflows/openvpn.yml @@ -57,6 +57,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -84,16 +85,10 @@ jobs: - name: Test OpenVPN with wolfProvider working-directory: openvpn run: | - # Set environment variables - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) - # Run tests and save result make check 2>&1 | tee openvpn-test.log TEST_RESULT=$? diff --git a/.github/workflows/simple.yml b/.github/workflows/simple.yml index 354a0277..f9737428 100644 --- a/.github/workflows/simple.yml +++ b/.github/workflows/simple.yml @@ -34,6 +34,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install diff --git a/.github/workflows/socat.yml b/.github/workflows/socat.yml index 40628571..46eec43c 100644 --- a/.github/workflows/socat.yml +++ b/.github/workflows/socat.yml @@ -52,6 +52,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -81,14 +82,8 @@ jobs: working-directory: ./socat-1.8.0.0 run: | # Set up the environment for wolfProvider - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib - export SHELL=/bin/bash - - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) + source $GITHUB_WORKSPACE/scripts/env-setup + export ${{ matrix.force_fail }} # Verify OpenSSL loads wolfProvider $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers diff --git a/.github/workflows/stunnel.yml b/.github/workflows/stunnel.yml index 784525ff..b96714b2 100644 --- a/.github/workflows/stunnel.yml +++ b/.github/workflows/stunnel.yml @@ -57,6 +57,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -93,20 +94,14 @@ jobs: - name: Verify stunnel with wolfProvider working-directory: ./stunnel run: | - # Setup environment variables - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64 - export OPENSSL_CONF=$GITHUB_WORKSPACE/provider.conf - export OPENSSL_MODULES=$GITHUB_WORKSPACE/wolfprov-install/lib + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} # Verify stunnel ldd src/stunnel | grep -E '(libssl|libcrypto)' ./src/stunnel -version - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep -q libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) - # Run tests and capture output mkdir -p $GITHUB_WORKSPACE/tests make check 2>&1 | tee $GITHUB_WORKSPACE/tests/stunnel-test.log diff --git a/.github/workflows/tcpdump.yml b/.github/workflows/tcpdump.yml index 409b40a7..933716bc 100644 --- a/.github/workflows/tcpdump.yml +++ b/.github/workflows/tcpdump.yml @@ -53,6 +53,7 @@ jobs: id: wolfprov-cache with: path: | + scripts wolfssl-source wolfssl-install wolfprov-install @@ -102,17 +103,9 @@ jobs: - name: Run tcpdump tests working-directory: tcpdump_repo run: | - export LD_LIBRARY_PATH="$GITHUB_WORKSPACE/wolfssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib:$GITHUB_WORKSPACE/openssl-install/lib64:$GITHUB_WORKSPACE/libpcap-install/lib:$GITHUB_WORKSPACE/tcpdump-install/lib:$LD_LIBRARY_PATH" - export OPENSSL_CONF="$GITHUB_WORKSPACE/provider.conf" - export OPENSSL_MODULES="$GITHUB_WORKSPACE/wolfprov-install/lib" - export PKG_CONFIG_PATH="$GITHUB_WORKSPACE/openssl-install/lib64/pkgconfig:$GITHUB_WORKSPACE/libpcap-install/lib/pkgconfig:$PKG_CONFIG_PATH" - export PATH="$GITHUB_WORKSPACE/tcpdump-install/sbin:$GITHUB_WORKSPACE/tcpdump-install/bin:$PATH" - + # Set up the environment for wolfProvider + source $GITHUB_WORKSPACE/scripts/env-setup export ${{ matrix.force_fail }} - - echo "Checking OpenSSL providers:" - $GITHUB_WORKSPACE/openssl-install/bin/openssl list -providers | tee provider-list.log - grep libwolfprov provider-list.log || (echo "ERROR: libwolfprov not found in OpenSSL providers" && exit 1) # Run tests make check 2>&1 | tee tcpdump-test.log diff --git a/scripts/env-setup b/scripts/env-setup new file mode 100755 index 00000000..2a6ed900 --- /dev/null +++ b/scripts/env-setup @@ -0,0 +1,59 @@ +# This file helps to set the environment variables to enable wolfProvider. +# It can be used on the command line, or by workflows. +# 'source' this file, don't run it directly +# To disable wolfProvider, run 'unset OPENSSL_CONF' + +if [[ -n "${ZSH_VERSION:-}" ]]; then + [[ $ZSH_EVAL_CONTEXT =~ :file$ ]] && is_sourced=1 || is_sourced=0 +else # bash + [ "$0" = "$BASH_SOURCE" ] && is_sourced=0 || is_sourced=1 +fi +if [ $is_sourced -eq 0 ]; then + echo "Error: This script must be sourced, not executed." + exit 1 +fi + +SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)" +pushd $SCRIPT_DIR +REPO_ROOT="${GITHUB_WORKSPACE:-$(git rev-parse --show-toplevel)}" +popd + +echo "SCRIPT_DIR: $SCRIPT_DIR" +echo "REPO_ROOT: $REPO_ROOT" +echo "PWD: $PWD" + +# Detect the openssl library path based on aarch64 +if [ "$(uname -m)" = "aarch64" ]; then + OPENSSL_LIB_PATH=$REPO_ROOT/openssl-install/lib +else + OPENSSL_LIB_PATH=$REPO_ROOT/openssl-install/lib64 +fi + +# Set variables with default values if not already set +export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:=$REPO_ROOT/wolfssl-install/lib:$OPENSSL_LIB_PATH}" +export OPENSSL_CONF="${OPENSSL_CONF:=$REPO_ROOT/provider.conf}" +export OPENSSL_MODULES="${OPENSSL_MODULES:=$REPO_ROOT/wolfprov-install/lib}" +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:=$OPENSSL_LIB_PATH/pkgconfig}" + +# If openssl-install does not exist, exit with failure status to terminate +# any workflows which depend on the result. +# For normal interactive command line usage, this result is fine to ignore. +if [ ! -d "$REPO_ROOT/openssl-install" ]; then + echo "Warning: openssl-install directory does not exist in $REPO_ROOT, cannot confirm providers" + if command -v tree >/dev/null 2>&1; then + tree -L 3 $REPO_ROOT + fi + return 1 +fi + +echo "Checking OpenSSL providers:" +PROVIDER_LIST=$(mktemp -t provider-list.XXXXXX) +$REPO_ROOT/openssl-install/bin/openssl list -providers | tee $PROVIDER_LIST +if grep -q libwolfprov $PROVIDER_LIST; then + echo "libwolfprov found in OpenSSL providers" +else + echo "ERROR: libwolfprov not found in OpenSSL providers" + return 1 +fi + +echo "Done!\n"