wolfprovider commercial bundle recipe support, and updates to recipes to improve QoL.

pull/103/head
night1rider 2025-06-02 11:48:10 -06:00
parent 2cfe6d802f
commit 2ff7fd4afc
22 changed files with 146 additions and 83 deletions

4
.gitignore vendored
View File

@ -1,3 +1,5 @@
.vscode/
.vscode/*
recipes-wolfssl/wolfssl/commercial/files/wolfssl*
recipes-wolfssl/wolfssl/commercial/files/wolfssl*
*.7z
*.zip

View File

@ -142,7 +142,7 @@ BBFILES += "${@bb.utils.contains('WOLFSSH_TYPE', \
'', d)}"
BBFILES += "${@bb.utils.contains('WOLFMQTT_TYPE', \
'commerical', \
'commercial', \
'${LAYERDIR}/recipes-wolfssl/wolfmqtt/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfmqtt/commercial/commercial-details/*.bbappend', \
'', d)}"
@ -161,5 +161,10 @@ BBFILES += "${@bb.utils.contains('WOLFENGINE_TYPE', \
'${LAYERDIR}/recipes-wolfssl/wolfengine/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfengine/commercial/commercial-details/*.bbappend', \
'', d)}"
BBFILES += "${@bb.utils.contains('WOLFPROVIDER_TYPE', \
'commercial', \
'${LAYERDIR}/recipes-wolfssl/wolfprovider/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfprovider/commercial/commercial-details/*.bbappend', \
'', d)}"
# Versions of OpenEmbedded-Core which layer has been tested against
LAYERSERIES_COMPAT_wolfssl = "sumo thud warrior zeus hardknott gatesgarth dunfell kirkstone nanbield langdale scarthgap"

View File

@ -1,11 +1,11 @@
#Adjust these as needed
WOLFCLU_VERSION=""
WOLFCLU_VERSION ?= ""
WOLF_LICENSE="WolfSSL_LicenseAgmt_JAN-2022.pdf"
WOLF_LICENSE_MD5="be28609dc681e98236c52428fadf04dd"
WOLF_SRC=""
WOLF_SRC_SHA=""
WOLF_SRC_PASS=""
WOLFCLU_SRC ?= ""
WOLFCLU_SRC_SHA ?= ""
WOLFCLU_SRC_PASS ?= ""
#Do not adjust these variables
PR = "commercial"

View File

@ -3,18 +3,18 @@ COMMERCIAL_CONFIG_DIR := "${@os.path.dirname(d.getVar('FILE', True))}"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${WOLF_LICENSE};md5=${WOLF_LICENSE_MD5}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLF_SRC}.7z"
SRC_URI[sha256sum]="${WOLF_SRC_SHA}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLFCLU_SRC}.7z"
SRC_URI[sha256sum]="${WOLFCLU_SRC_SHA}"
DEPENDS += "p7zip-native"
S = "${WORKDIR}/${WOLF_SRC}"
S = "${WORKDIR}/${WOLFCLU_SRC}"
do_unpack[depends] += "p7zip-native:do_populate_sysroot"
do_unpack() {
cp -f "${FILE_DIRNAME}/commercial/files/${WOLF_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLF_SRC}.7z" -p"${WOLF_SRC_PASS}" -o"${WORKDIR}" -aoa
cp -f "${COMMERCIAL_CONFIG_DIR}/files/${WOLFCLU_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLFCLU_SRC}.7z" -p"${WOLFCLU_SRC_PASS}" -o"${WORKDIR}" -aoa
}

View File

@ -1,11 +1,11 @@
#Adjust these as needed
WOLFENGINE_VERSION=""
WOLFENGINE_VERSION ?= ""
WOLF_LICENSE="WolfSSL_LicenseAgmt_JAN-2022.pdf"
WOLF_LICENSE_MD5="be28609dc681e98236c52428fadf04dd"
WOLF_SRC=""
WOLF_SRC_SHA=""
WOLF_SRC_PASS=""
WOLFENGINE_SRC ?= ""
WOLFENGINE_SRC_SHA ?= ""
WOLFENGINE_SRC_PASS ?= ""
#Do not adjust these variables
PR = "commercial"

View File

@ -3,18 +3,18 @@ COMMERCIAL_CONFIG_DIR := "${@os.path.dirname(d.getVar('FILE', True))}"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${WOLF_LICENSE};md5=${WOLF_LICENSE_MD5}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLF_SRC}.7z"
SRC_URI[sha256sum]="${WOLF_SRC_SHA}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLFENGINE_SRC}.7z"
SRC_URI[sha256sum]="${WOLFENGINE_SRC_SHA}"
DEPENDS += "p7zip-native"
S = "${WORKDIR}/${WOLF_SRC}"
S = "${WORKDIR}/${WOLFENGINE_SRC}"
do_unpack[depends] += "p7zip-native:do_populate_sysroot"
do_unpack() {
cp -f "${FILE_DIRNAME}/commercial/files/${WOLF_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLF_SRC}.7z" -p"${WOLF_SRC_PASS}" -o"${WORKDIR}" -aoa
cp -f "${COMMERCIAL_CONFIG_DIR}/files/${WOLFENGINE_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLFENGINE_SRC}.7z" -p"${WOLFENGINE_SRC_PASS}" -o"${WORKDIR}" -aoa
}

View File

@ -1,11 +1,11 @@
#Adjust these as needed
WOLFMQTT_VERSION=""
WOLFMQTT_VERSION ?= ""
WOLF_LICENSE="WolfSSL_LicenseAgmt_JAN-2022.pdf"
WOLF_LICENSE_MD5="be28609dc681e98236c52428fadf04dd"
WOLF_SRC=""
WOLF_SRC_SHA=""
WOLF_SRC_PASS=""
WOLFMQTT_SRC ?= ""
WOLFMQTT_SRC_SHA ?= ""
WOLFMQTT_SRC_PASS ?= ""
#Do not adjust these variables
PR = "commercial"

View File

@ -3,18 +3,18 @@ COMMERCIAL_CONFIG_DIR := "${@os.path.dirname(d.getVar('FILE', True))}"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${WOLF_LICENSE};md5=${WOLF_LICENSE_MD5}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLF_SRC}.7z"
SRC_URI[sha256sum]="${WOLF_SRC_SHA}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLFMQTT_SRC}.7z"
SRC_URI[sha256sum]="${WOLFMQTT_SRC_SHA}"
DEPENDS += "p7zip-native"
S = "${WORKDIR}/${WOLF_SRC}"
S = "${WORKDIR}/${WOLFMQTT_SRC}"
do_unpack[depends] += "p7zip-native:do_populate_sysroot"
do_unpack() {
cp -f "${FILE_DIRNAME}/commercial/files/${WOLF_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLF_SRC}.7z" -p"${WOLF_SRC_PASS}" -o"${WORKDIR}" -aoa
cp -f "${COMMERCIAL_CONFIG_DIR}/files/${WOLFMQTT_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLFMQTT_SRC}.7z" -p"${WOLFMQTT_SRC_PASS}" -o"${WORKDIR}" -aoa
}

View File

@ -0,0 +1,15 @@
#Adjust these as needed
WOLFPROVIDER_VERSION ?= ""
WOLF_LICENSE="WolfSSL_LicenseAgmt_JAN-2022.pdf"
WOLF_LICENSE_MD5="be28609dc681e98236c52428fadf04dd"
WOLFPROVIDER_SRC ?= ""
WOLFPROVIDER_SRC_SHA ?= ""
WOLFPROVIDER_SRC_PASS ?= ""
#Do not adjust these variables
PR = "commercial"
PV = "${WOLFPROVIDER_VERSION}"
BBFILE_PRIORITY='1'

View File

@ -0,0 +1,12 @@
# Directory for Commerical wolfProvider 7Zip Archives
## Overview
This directory is designated for storing commercially licensed 7Zip archives of wolfProvider.
## Contact Information
For questions regarding obtaining a licensed version of wolfProvider,
please contact wolfSSL Inc. directly at:
Email: support@wolfssl.com

View File

@ -0,0 +1,30 @@
BBFILE_PRIORITY='2'
COMMERCIAL_CONFIG_DIR := "${@os.path.dirname(d.getVar('FILE', True))}"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${WOLF_LICENSE};md5=${WOLF_LICENSE_MD5}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLFPROVIDER_SRC}.7z"
SRC_URI[sha256sum]="${WOLFPROVIDER_SRC_SHA}"
DEPENDS += "p7zip-native"
S = "${WORKDIR}/${WOLFPROVIDER_SRC}"
do_unpack[depends] += "p7zip-native:do_populate_sysroot"
do_unpack() {
cp -f "${COMMERCIAL_CONFIG_DIR}/files/${WOLFPROVIDER_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLFPROVIDER_SRC}.7z" -p"${WOLFPROVIDER_SRC_PASS}" -o"${WORKDIR}" -aoa
}
python() {
distro_version = d.getVar('DISTRO_VERSION', True)
autogen_create = 'echo -e "#!/bin/sh\nexit 0" > ${S}/autogen.sh && chmod +x ${S}/autogen.sh'
if distro_version and (distro_version.startswith('2.') or distro_version.startswith('3.')):
# For Dunfell and earlier
d.appendVar('do_configure_prepend', autogen_create)
else:
# For Kirkstone and later
d.appendVar('do_configure:prepend', autogen_create)
}

View File

@ -1,11 +1,11 @@
#Adjust these as needed
WOLFSSH_VERSION=""
WOLFSSH_VERSION ?= ""
WOLF_LICENSE="WolfSSL_LicenseAgmt_JAN-2022.pdf"
WOLF_LICENSE_MD5="be28609dc681e98236c52428fadf04dd"
WOLF_SRC=""
WOLF_SRC_SHA=""
WOLF_SRC_PASS=""
WOLFSSH_SRC ?= ""
WOLFSSH_SRC_SHA ?= ""
WOLFSSH_SRC_PASS ?= ""
#Do not adjust these variables
PR = "commercial"

View File

@ -3,18 +3,18 @@ COMMERCIAL_CONFIG_DIR := "${@os.path.dirname(d.getVar('FILE', True))}"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${WOLF_LICENSE};md5=${WOLF_LICENSE_MD5}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLF_SRC}.7z"
SRC_URI[sha256sum]="${WOLF_SRC_SHA}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLFSSH_SRC}.7z"
SRC_URI[sha256sum]="${WOLFSSH_SRC_SHA}"
DEPENDS += "p7zip-native"
S = "${WORKDIR}/${WOLF_SRC}"
S = "${WORKDIR}/${WOLFSSH_SRC}"
do_unpack[depends] += "p7zip-native:do_populate_sysroot"
do_unpack() {
cp -f "${FILE_DIRNAME}/commercial/files/${WOLF_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLF_SRC}.7z" -p"${WOLF_SRC_PASS}" -o"${WORKDIR}" -aoa
cp -f "${COMMERCIAL_CONFIG_DIR}/files/${WOLFSSH_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLFSSH_SRC}.7z" -p"${WOLFSSH_SRC_PASS}" -o"${WORKDIR}" -aoa
}

View File

@ -25,7 +25,7 @@
3. **Update the IMAGE_INSTALL and WOLFSSL_TYPE Variable**
Add `wolfssl` and `wolfcrypttest` to the `IMAGE_INSTALL` then add `fips` or `commerical` to the `WOLFSSL_TYPE` variables in your recipe or `poky/conf/local.conf`. If using `poky/conf/local.conf`, append as follows:
Add `wolfssl` and `wolfcrypttest` to the `IMAGE_INSTALL` then add `fips` or `commerical` to the `WOLFSSL_TYPE` variables in your recipe or `poky/build/conf/local.conf`. If using `poky/build/conf/local.conf`, append as follows:
```
IMAGE_INSTALL:append = " wolfssl wolfcrypttest "
WOLFSSL_TYPE = "fips"
@ -48,14 +48,13 @@
Each product that has commerical support has their own respective directory structures to place their bundles.
5. **Edit *-details/wolfssl_%.bbappend**
5. **Edit poky/build/conf/local.conf**
Using a test editor update the file `/path/to/meta-wolfssl/recipes-wolfssl/wolfssl/commercial/*-details/wolfssl_%.bbappend`
Update the variables:
Update/Add the variables in your project's `poky/build/conf/local.conf`:
`WOLFSSL_VERSION = "x.x.x"`: x.x.x should be the version of the fips/commercial bundle you downloaded.
`WOLF_SRC_SHA = "<SHA_HASH>"`: `<SHA_HASH>` This is the sha hash given when you received the bundle.
`WOLF_SRC_PASS = "<PASSWORD>"`: `<PASSWORD>` This is the password given to unarchive the bundle.
`WOLF_SRC = "<BUNDLE_NAME>"`: `<BUNDLE_NAME>` This is the name of the bundle you wish to use without the .7z extension.
`WOLFSSL_SRC_SHA = "<SHA_HASH>"`: `<SHA_HASH>` This is the sha hash given when you received the bundle.
`WOLFSSL_SRC_PASS = "<PASSWORD>"`: `<PASSWORD>` This is the password given to unarchive the bundle.
`WOLFSSL_SRC = "<BUNDLE_NAME>"`: `<BUNDLE_NAME>` This is the name of the bundle you wish to use without the .7z extension.
6. **Clean and Build wolfssl and wolfcrypttest**
@ -93,11 +92,11 @@
Copy or write down the resulting `<HASH_VALUE>`, then exit the qemu image
9. **Edit the .bbappend File**
9. ** Update/Add the variables in your project's `build/conf/local.conf`:**
Open `/path/to/meta-wolfssl/recipes-wolfssl/wolfssl/commercial/fips-details/wolfssl_%.bbappend` file in a text editor and update the `<FIPS_HASH>` variable with the copied `<HASH_VALUE>`.
Open `build/conf/local.conf`: file in a text editor and add/update the `<FIPS_HASH>` variable with the copied `<HASH_VALUE>`.
`FIPS_HASH="<HASH_VALUE>"`
`FIPS_HASH = "<HASH_VALUE>"`
10. **Rebuild and Test**

View File

@ -1,11 +1,11 @@
#Adjust these as needed
WOLFSSL_VERSION=""
WOLFSSL_VERSION ?= ""
WOLF_LICENSE="WolfSSL_LicenseAgmt_JAN-2022.pdf"
WOLF_LICENSE_MD5="be28609dc681e98236c52428fadf04dd"
WOLF_SRC=""
WOLF_SRC_SHA=""
WOLF_SRC_PASS=""
WOLFSSL_SRC ?= ""
WOLFSSL_SRC_SHA ?= ""
WOLFSSL_SRC_PASS ?= ""
#Do not adjust these variables
PR = "commercial"

View File

@ -1,13 +1,13 @@
#Adjust these as needed
WOLFSSL_VERSION=""
WOLFSSL_VERSION ?= ""
WOLF_LICENSE="WolfSSL_LicenseAgmt_JAN-2022.pdf"
WOLF_LICENSE_MD5="be28609dc681e98236c52428fadf04dd"
WOLF_SRC=""
WOLF_SRC_SHA=""
WOLF_SRC_PASS=""
WOLFSSL_SRC ?= ""
WOLFSSL_SRC_SHA ?= ""
WOLFSSL_SRC_PASS ?= ""
FIPS_HASH="FFBB0434EB0EF2860CBAF6CB29F8F39B4432439EFD2A24C7D6442CBA8E06A4CC"
FIPS_HASH ?= "FFBB0434EB0EF2860CBAF6CB29F8F39B4432439EFD2A24C7D6442CBA8E06A4CC"
#Do not adjust these variables
PR = "commercial.fips"

View File

@ -3,18 +3,18 @@ COMMERCIAL_CONFIG_DIR := "${@os.path.dirname(d.getVar('FILE', True))}"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${WOLF_LICENSE};md5=${WOLF_LICENSE_MD5}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLF_SRC}.7z"
SRC_URI[sha256sum]="${WOLF_SRC_SHA}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLFSSL_SRC}.7z"
SRC_URI[sha256sum]="${WOLFSSL_SRC_SHA}"
DEPENDS += "p7zip-native"
S = "${WORKDIR}/${WOLF_SRC}"
S = "${WORKDIR}/${WOLFSSL_SRC}"
do_unpack[depends] += "p7zip-native:do_populate_sysroot"
do_unpack() {
cp -f "${FILE_DIRNAME}/commercial/files/${WOLF_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLF_SRC}.7z" -p"${WOLF_SRC_PASS}" -o"${WORKDIR}" -aoa
cp -f "${COMMERCIAL_CONFIG_DIR}/files/${WOLFSSL_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLFSSL_SRC}.7z" -p"${WOLFSSL_SRC_PASS}" -o"${WORKDIR}" -aoa
}

View File

@ -25,7 +25,7 @@
3. **Update the IMAGE_INSTALL and WOLFSSL_TYPE Variable**
Add `wolfssl` and `wolfcrypttest` to the `IMAGE_INSTALL` then add `fips-ready` to the `WOLFSSL_TYPE` variables in your recipe or `poky/conf/local.conf`. If using `poky/conf/local.conf`, append as follows:
Add `wolfssl` and `wolfcrypttest` to the `IMAGE_INSTALL` then add `fips-ready` to the `WOLFSSL_TYPE` variables in your recipe or `poky/build/conf/local.conf`. If using `poky/build/conf/local.conf`, append as follows:
```bash
IMAGE_INSTALL:append = " wolfssl wolfcrypttest "
WOLFSSL_TYPE = "fips-ready"
@ -42,12 +42,12 @@
cp /path/to/wolfssl-x.x.x-gplv3-fips-ready.zip /path/to/meta-wolfssl/recipes-wolfssl/wolfssl/fips-ready/files
```
6. **Edit fips-ready-details/wolfssl_%.bbappend**
6. **Edit/Add Variables to poky/build/conf/local.conf**
Using a test editor update the file `/path/to/meta-wolfssl/recipes-wolfssl/wolfssl/fips-ready/fips-ready-details/wolfssl_%.bbappend`
Update the variables:
Using a test editor update the file `poky/build/conf/local.conf`
Update/Add the variables:
`WOLFSSL_VERSION = "x.x.x"`: x.x.x should be the version of the fips-ready bundle you downloaded.
`WOLF_SRC_SHA = "<SHA_HASH>"`: `<SHA_HASH>` should be the sha hash posted under the bundle on the wolfssl download page.
`WOLFSSL_SRC_SHA = "<SHA_HASH>"`: `<SHA_HASH>` should be the sha hash posted under the bundle on the wolfssl download page.
7. **Clean and Build wolfSSL and wolfcrypttest**

View File

@ -1,10 +1,10 @@
#Adjust these as needed
WOLFSSL_VERSION=""
WOLFSSL_VERSION ?= ""
WOLF_SRC="wolfssl-${WOLFSSL_VERSION}-gplv3-fips-ready"
WOLF_SRC_SHA=""
WOLFSSL_SRC ?= "wolfssl-${WOLFSSL_VERSION}-gplv3-fips-ready"
WOLFSSL_SRC_SHA ?= ""
FIPS_HASH="FFBB0434EB0EF2860CBAF6CB29F8F39B4432439EFD2A24C7D6442CBA8E06A4CC"
FIPS_HASH ?= "FFBB0434EB0EF2860CBAF6CB29F8F39B4432439EFD2A24C7D6442CBA8E06A4CC"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
#Do not adjust these variables
PR = "fipsReady"

View File

@ -3,10 +3,10 @@ BBFILE_PRIORITY='2'
LICENSE = "GPL-3.0-only"
FIPSREADY_CONFIG_DIR := "${@os.path.dirname(d.getVar('FILE', True))}"
SRC_URI = "file://${FIPSREADY_CONFIG_DIR}/files/${WOLF_SRC}.zip"
SRC_URI[sha256sum] = "${WOLF_SRC_SHA}"
SRC_URI = "file://${FIPSREADY_CONFIG_DIR}/files/${WOLFSSL_SRC}.zip"
SRC_URI[sha256sum] = "${WOLFSSL_SRC_SHA}"
S = "${WORKDIR}/${WOLF_SRC}"
S = "${WORKDIR}/${WOLFSSL_SRC}"
python() {
distro_version = d.getVar('DISTRO_VERSION', True)

View File

@ -1,11 +1,11 @@
#Adjust these as needed
WOLFTPM_VERSION=""
WOLFTPM_VERSION ?= ""
WOLF_LICENSE="WolfSSL_LicenseAgmt_JAN-2022.pdf"
WOLF_LICENSE_MD5="be28609dc681e98236c52428fadf04dd"
WOLF_SRC=""
WOLF_SRC_SHA=""
WOLF_SRC_PASS=""
WOLFTPM_SRC ?= ""
WOLFTPM_SRC_SHA ?= ""
WOLFTPM_SRC_PASS ?= ""
#Do not adjust these variables
PR = "commercial"

View File

@ -3,18 +3,18 @@ COMMERCIAL_CONFIG_DIR := "${@os.path.dirname(d.getVar('FILE', True))}"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${WOLF_LICENSE};md5=${WOLF_LICENSE_MD5}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLF_SRC}.7z"
SRC_URI[sha256sum]="${WOLF_SRC_SHA}"
SRC_URI="file://${COMMERCIAL_CONFIG_DIR}/files/${WOLFTPM_SRC}.7z"
SRC_URI[sha256sum]="${WOLFTPM_SRC_SHA}"
DEPENDS += "p7zip-native"
S = "${WORKDIR}/${WOLF_SRC}"
S = "${WORKDIR}/${WOLFTPM_SRC}"
do_unpack[depends] += "p7zip-native:do_populate_sysroot"
do_unpack() {
cp -f "${FILE_DIRNAME}/commercial/files/${WOLF_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLF_SRC}.7z" -p"${WOLF_SRC_PASS}" -o"${WORKDIR}" -aoa
cp -f "${COMMERCIAL_CONFIG_DIR}/files/${WOLFTPM_SRC}.7z" "${WORKDIR}"
7za x "${WORKDIR}/${WOLFTPM_SRC}.7z" -p"${WOLFTPM_SRC_PASS}" -o"${WORKDIR}" -aoa
}