Skip to content

wolfSSL Library Naming Convention for Arduino & PlatformIO #7

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

Closed
gojimmypi opened this issue Mar 21, 2024 · 2 comments
Closed

wolfSSL Library Naming Convention for Arduino & PlatformIO #7

gojimmypi opened this issue Mar 21, 2024 · 2 comments
Assignees

Comments

@gojimmypi
Copy link
Contributor

@ivankravets over at PlatformIO made a comment regarding the name of wolfSSL in the Arduino registry:

Please fix the name of Arduino library https://github.com/wolfSSL/Arduino-wolfSSL/blob/main/library.properties .
It should be name = Arduino-wolfSSL

The issue being that if there's a name consistency, the wolfSSL for Arduino library will apparently propagate automatically to PlatformIO.

The instance of wolfSSL currently in the PlatformIO registry was published manually:

https://registry.platformio.org/libraries/wolfssl/wolfssl

Although that sounds simple enough, there are implications. For one, I would be concerned that when searching for wolfSSL in the Arduino registry, that having a name other than wolfssl might not be entirely desirable.

I like the fact that wolfSSL is call, well, simply wolfssl in the Arduino registry:

image

However, I also agree that there's some inconsistency in this repo Arduino-wolfSSL being the same as wolfssl, but restructured for Arduino compatibility as noted in #1 (comment) and in particular arduino/arduino-cli#631.

There's probably an argument that the PlatformIO version of wolfSSL should have a unique name. In fact, we are going to need at least two unique names for wolfSSL in the PlatformIO registry: not only should there be an Arduino environment version of wolfSSL, but also at least one other for the Espressif ESP-IDF environment in a different format / layout.

My inclination is to leave the Arduino properties as-is, and continue to manually publish to PlatformIO.

I'm looking for input regarding the desired naming convention.

See also:

https://www.arduino.cc/reference/en/libraries/wolfssl/

https://downloads.arduino.cc/libraries/logs/github.com/wolfSSL/Arduino-wolfSSL/

@ivankravets
Copy link

You can have only 1 library in the PlatformIO Registry which will be the mirror of https://github.com/wolfSSL/wolfssl. Having library.json manifest and platform-build.py extra script will let developers use original source code for any framework including Arduino. Regarding Arduino-wolfSSL - we don't need it in the PlatformIO Registry, the original https://github.com/wolfSSL/wolfssl will be enough.

@gojimmypi
Copy link
Contributor Author

I've addressed this by publishing two different libraries: We are providing two different Official wolfSSL libraries: standard and another specifically for Arduino:

There are also two different versions: the stable release versions (above) and these staging updates, with the latest post-release changes.

The stable release versions will generally follow our standard release cycle. The initial 5.7.0 versions include post stable-release updates needed for the Initial PlatformIO support.

You can have only 1 library in the PlatformIO Registry which will be the mirror of https://github.com/wolfSSL/wolfssl

I chose to have two different libraries as publishing the Arduino-wolfSSL is a trivial matter as the files are already in the proper directory format. Plus, the included examples are specific to Arduino, such as the wolfssl_client.ino.

Publishing the regular wolfSSL was considerably more complex, and required a somewhat similar reorganization of directories in order to work properly in the PlatformIO environment. The respective examples (currently only in my fork, PR coming soon) ... are also different, and not .ino files. If there's a better way of doing this, I'm open to suggestions.

There's definitely work remaining for PlatformIO, as although wolfSSL seems to be working well for the ESP32, I had a much more difficult time with an STM32 board.

In any case, this naming convention issue can be closed.

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

No branches or pull requests

4 participants