Skip to content

[WIP] open62541: Add version 1.4.11.1 and option for NodeSetLoader #27372

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

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

fischjo3SICKAG
Copy link

Summary

This pull request adds support for version 1.4.11.1 of open62541, introducing a new Conan option for enabling the NodesetLoader feature. This feature allows users to optionally include the NodesetLoader functionality.

Motivation

The addition of the NodesetLoader option allows Conan users to utilize the NodesetLoader feature.

Details

  • conanfile.py:
    • Add a boolean option nodeset_loader to enable or disable the NodesetLoader feature.
    • Conditionally add libxml2 as a dependency when nodeset_loader is enabled.
  • CMakeLists.txt:
    • Update to use the libxml2 dependency provided by Conan when the NodesetLoader option is enabled.
  • submoduledata.yml:
    • Add NodesetLoader sources to support the new feature.

  • Read the CONTRIBUTING.md
  • Checked that this PR is not a duplicate: list of PRs by recipe
    ⚠️ Found PR #26457: This PR also upgrades open62541 to version 1.4.11.1 but introduces a different Conan option (QNX support).
  • Tested locally with at least one configuration using a recent version of Conan

Open Questions

  • Which version of NodesetLoader should be used?: I raised this question in the upstream open62541 repository (open62541 issue #7249).
  • How to proceed with the partially duplicate PR?: I suggest waiting for PR Open62541 qnx support #26457 to be merged before proceeding with this pull request.

Add support for open62541 version 1.4.11.1.
Introduce `nodeset_loader` option in Conan to enable NodesetLoader.
@ErikTempelaarVO
Copy link

Following this because I have issues with v1.4.6 and this recipe on MinGW, see here

Also was working on a recipe that includes 1.3.15, the version that's currently included in open62541pp.
(as discussed here)

  "1.3.15":
    url: "https://github.com/open62541/open62541/archive/v1.3.15.tar.gz"
    sha256: "1f71c1a57eb98b2cf3c8f92ee9efcc7e3139932a97546a2bc8dffcfb7f1b0fd9"
  "1.3.15":
    - patch_file: "patches/0001-disable-sanitizers-1_3_1x.patch"
      patch_description: "Disable static code analysis"
      patch_type: "conan"
  "1.3.15":
    deps/ua-nodeset:
      url: "https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip"
      sha256: "032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26"
      archive_pattern: "UA-Nodeset-{version}"

Not sure if there's a policy on adding "older" versions, 1.3.15 is newer than 1.4.6, but older than 1.4.11.1
Maybe it can't be done if this PR has been merged.

Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

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

Thanks for taking the time to open the PR, and also for the detailed PR description, we appreciate it

I have some comments about some of the changes, but the diff looks mostly there :)

Copy link
Member

Choose a reason for hiding this comment

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

Instead of this patch, why can't we just set UA_ENABLE_DEBUG_SANITIZER to False to avoid taking this branch?

Copy link
Author

Choose a reason for hiding this comment

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

I created a version that builds without the patch file here. It builds successfully on my machine.

Choose a reason for hiding this comment

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

Looks like that option is available for all 1.4.x

$ git log -S UA_ENABLE_DEBUG_SANITIZER
commit a820093aa97d08334147ecb85d8602f917d4f511
Author: theirix <[email protected]>
Date:   Sun Jun 19 14:06:57 2022 +0300

    feat(build): add option UA_ENABLE_DEBUG_SANITIZER
$ git tag --contains a820093aa97d08334147ecb85d8602f917d4f511
prev-v1.4.2
v1.4.0
v1.4.0-rc1
v1.4.0-rc2
v1.4.1
v1.4.10
v1.4.11
v1.4.11.1
v1.4.2
v1.4.3
v1.4.4
v1.4.5
v1.4.6
v1.4.7
v1.4.8
v1.4.9

Copy link
Author

Choose a reason for hiding this comment

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

There is a patch file for 1.3.x. The 1.4.11.1 patch file from my sided was initially created to replicate the patching behavior of earlier open62541 recipes.

@AbrilRBS
Copy link
Member

AbrilRBS commented May 7, 2025

@ErikTempelaarVO let's move the discussion about the possibility of adding an old version in #27373 :)

fischjo3SICKAG and others added 4 commits May 7, 2025 09:47
P.S.: checked all the other optionally deleted options, looks like no get_safe() usage is needed for them
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants