Skip to content

Conversation

@night1rider
Copy link
Contributor

Remade from #146 due to being against wrong branch

@night1rider night1rider force-pushed the refactor-finalization branch 3 times, most recently from e3fa29d to 12c4514 Compare January 6, 2026 14:44
night1rider and others added 27 commits January 6, 2026 07:47
…elpers in bbclass

Refactored layer.conf to unconditionally include all recipes, moved feature-specific configuration into modular .inc files, created wolfssl-helper.bbclass with reusable do_wolfssl_autogen and do_wolfssl_check_package tasks, updated all recipes to use the new pattern, and standardized commercial license variables to be recipe-specific.

Use a virtual wolfssl to make library switching easier for fips vs non fips or other wolfSSL packages

Set wolfssl libraries as the deafualt weak Preferred_Provider option for packages
* Fixes 7z extraction issues, mostly around using password when the
  password has already been stripped out
* Fixes autoreconf and configure issues with the FIPS package
* Fixes wolfcrypttest and wolfcryptbenchmark not being isntalled with
  FIPS when they are selected
The execution of QEMU to get the hash would fail when cross-compiling to
a different CPU target. This fixes it.
Added 3 layers
- gnutls: gnutls fork patched to use wolfssl as cryptographic
  provider
- wolfssl: wolfssl configured to work against gnutls
- wolfssl-gnutls-wrapper: shim layer that gets called by gnutls
  applications when linked against gnutls-wolfssl
- gnutls-wolfssl-tests: tests from the wolfssl-gnutls-wrapper folder
  installed under /usr/lib/wolfssl-gnutls-wrapper/

Everything gets installed under /usr ovverriding the system installed
recipes, the wrapper is symlinked in /opt.
Fips currently not supported.
rebased against the new staging branch (refactor-meta-wolfssl)
- update layer.conf to conditionally include gnutls-image-minimal if
  included in the WOLFSSL_DEMOS;
- minor update to inc/gnutls/gnutls-enable-wolfssl.inc to by pass the
  fuzzing binaries from the base recipes;
The commercial package can now be retrieved from GCP and can be a
tarball without password protection.
aidangarske and others added 22 commits January 6, 2026 07:51
Add commercial FIPS LinuxKM recipe.

Signed-off-by: Sameeh Jubran <sameeh@wolfssl.com>
Signed-off-by: Zackery Backman <zackery@wolfssl.com>
fixing compatability and file layout for .incs porting
…r347

Update ref version for cmd test specific commit to pr 347
FIPS-off gnutls recipes + minimal fips-off image.
@night1rider night1rider force-pushed the refactor-finalization branch from 12c4514 to 366dde7 Compare January 16, 2026 17:15
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request implements a comprehensive refactoring of the wolfSSL meta layer build system. The changes introduce a new architecture using virtual providers, helper classes, and a modern/legacy split for Yocto version compatibility.

Changes:

  • Introduces virtual/wolfssl provider pattern for flexible wolfssl/wolfssl-fips selection
  • Replaces hardcoded paths (COMPONENTS_DIR) with standard Yocto variables (STAGING_EXECPREFIXDIR)
  • Implements helper-based configuration system with modern/legacy Yocto version support
  • Refactors autogen handling from inline Python to proper BitBake tasks
  • Standardizes commercial license variable naming (WOLF_LICENSE → package-specific names)
  • Adds new include file structure for modular configuration

Reviewed changes

Copilot reviewed 280 out of 283 changed files in this pull request and generated no comments.

Show a summary per file
File Description
recipes-wolfssl/*/*.bb Updated to use virtual/wolfssl, standard staging paths, helper classes, and task-based autogen
recipes-wolfssl/*/commercial/*.bbappend Renamed license variables, added wolfssl-compatibility, converted autogen to tasks
recipes-wolfssl/*/*.bbappend Migrated from inline EXTRA_OECONF to conditional helper-based configuration
inc/*/*.inc New modular include file structure with modern/legacy split for Yocto compatibility
recipes-core/images/*/*.bb New image recipes using helper functions and manual configuration
conf/wolfssl-fips.conf.sample New FIPS configuration template
.gitignore Added conf/wolfssl-fips.conf exclusion

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants