summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorBjörn Esser <b.esser@pengutronix.de>2020-03-18 16:27:57 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2020-03-20 13:38:11 +0100
commit8f6fae6b045790b0b2a3264df15970fbda945196 (patch)
tree5f4689c1c4728e58ff575e1f2c1eeba97db8140d /patches
parent267ac0efefac1fe7134908deed16d13f2c98e0af (diff)
downloadptxdist-8f6fae6b045790b0b2a3264df15970fbda945196.tar.gz
ptxdist-8f6fae6b045790b0b2a3264df15970fbda945196.tar.xz
open62541: new package
The open62541 project is an open source implementation of the OPC UA communication infrastructure which is used in industrial control. Signed-off-by: Björn Esser <b.esser@pengutronix.de> [uol: adjusted commit message, added "select HOST_SYSTEM_PYTHON3" to Kconfig's menu file, added OPEN62541_MDNSD{,_SUFFIX} and removed comment in the makefile] Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de> Message-Id: <20200318152757.5330-4-u.oelmann@pengutronix.de> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'patches')
-rw-r--r--patches/open62541-1.0/0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch224
-rw-r--r--patches/open62541-1.0/series4
2 files changed, 228 insertions, 0 deletions
diff --git a/patches/open62541-1.0/0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch b/patches/open62541-1.0/0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch
new file mode 100644
index 000000000..0dfd00351
--- /dev/null
+++ b/patches/open62541-1.0/0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch
@@ -0,0 +1,224 @@
+From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <b.esser@pengutronix.de>
+Date: Mon, 2 Dec 2019 14:38:38 +0100
+Subject: [PATCH] CMake: Allow UA_NODESET_DIR to be custom defined.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This makes it easier for developers to keep all ua-nodesets XML
+definitions in a common location.
+
+Backported from: https://github.com/open62541/open62541/pull/3310
+
+Signed-off-by: Björn Esser <b.esser@pengutronix.de>
+---
+ CMakeLists.txt | 14 +++++++++-----
+ doc/nodeset_compiler.rst | 22 +++++++++++-----------
+ examples/CMakeLists.txt | 4 ----
+ examples/nodeset/CMakeLists.txt | 6 +++---
+ tests/nodeset-compiler/CMakeLists.txt | 14 +++++++-------
+ tools/cmake/macros_public.cmake | 2 +-
+ 6 files changed, 31 insertions(+), 31 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d426e1da66fe..fbbafd8f2791 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,7 +15,6 @@ include(GNUInstallDirs)
+
+ # Set when installed via make install
+ set(open62541_TOOLS_DIR ${PROJECT_SOURCE_DIR}/tools)
+-set(open62541_NODESET_DIR ${PROJECT_SOURCE_DIR}/deps/ua-nodeset)
+
+ include(macros_internal)
+ include(macros_public)
+@@ -134,6 +133,11 @@ option(UA_ENABLE_ENCRYPTION "Enable encryption support (uses mbedTLS)" OFF)
+ option(UA_ENABLE_MICRO_EMB_DEV_PROFILE "Builds CTT Compliant Micro Embedded Device Server Profile" OFF)
+ option(BUILD_SHARED_LIBS "Enable building of shared libraries (dll/so)" OFF)
+
++if(NOT UA_NODESET_DIR)
++ set(UA_NODESET_DIR ${PROJECT_SOURCE_DIR}/deps/ua-nodeset)
++endif()
++set(open62541_NODESET_DIR ${UA_NODESET_DIR})
++
+ # Namespace Zero
+ set(UA_NAMESPACE_ZERO "REDUCED" CACHE STRING "Completeness of the generated namespace zero (minimal/reduced/full)")
+ SET_PROPERTY(CACHE UA_NAMESPACE_ZERO PROPERTY STRINGS "MINIMAL" "REDUCED" "FULL")
+@@ -770,7 +774,7 @@ set(UA_FILE_NODESETS)
+
+ if(UA_NAMESPACE_ZERO STREQUAL "FULL")
+ if(NOT UA_FILE_NS0)
+- set(UA_FILE_NS0 ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml)
++ set(UA_FILE_NS0 ${UA_NODESET_DIR}/Schema/Opc.Ua.NodeSet2.xml)
+ endif()
+ set(UA_FILE_NODESETS "${UA_FILE_NS0}")
+
+@@ -779,9 +783,9 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL")
+ endif()
+
+
+- set(UA_FILE_NODEIDS ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/NodeIds.csv)
+- set(UA_FILE_STATUSCODES ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/StatusCode.csv)
+- set(UA_FILE_TYPES_BSD ${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.Types.bsd)
++ set(UA_FILE_NODEIDS ${UA_NODESET_DIR}/Schema/NodeIds.csv)
++ set(UA_FILE_STATUSCODES ${UA_NODESET_DIR}/Schema/StatusCode.csv)
++ set(UA_FILE_TYPES_BSD ${UA_NODESET_DIR}/Schema/Opc.Ua.Types.bsd)
+ else()
+ if(NOT UA_FILE_NS0)
+ set(UA_FILE_NS0 ${PROJECT_SOURCE_DIR}/tools/schema/Opc.Ua.NodeSet2.Minimal.xml)
+diff --git a/doc/nodeset_compiler.rst b/doc/nodeset_compiler.rst
+index dd752ccd70a9..34fc8f800480 100644
+--- a/doc/nodeset_compiler.rst
++++ b/doc/nodeset_compiler.rst
+@@ -292,17 +292,17 @@ Here are some examples for the ``DI`` and ``PLCOpen`` nodesets::
+ # Generate types and namespace for DI
+ ua_generate_nodeset_and_datatypes(
+ NAME "di"
+- FILE_CSV "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/OpcUaDiModel.csv"
+- FILE_BSD "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.Types.bsd"
++ FILE_CSV "${UA_NODESET_DIR}/DI/OpcUaDiModel.csv"
++ FILE_BSD "${UA_NODESET_DIR}/DI/Opc.Ua.Di.Types.bsd"
+ NAMESPACE_IDX 2
+- FILE_NS "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml"
++ FILE_NS "${UA_NODESET_DIR}/DI/Opc.Ua.Di.NodeSet2.xml"
+ )
+
+ # generate PLCopen namespace which is using DI
+ ua_generate_nodeset_and_datatypes(
+ NAME "plc"
+ # PLCopen does not define custom types. Only generate the nodeset
+- FILE_NS "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml"
++ FILE_NS "${UA_NODESET_DIR}/PLCopen/Opc.Ua.Plc.NodeSet2.xml"
+ # PLCopen depends on the di nodeset, which must be generated before
+ DEPENDS "di"
+ )
+@@ -403,8 +403,8 @@ This DI nodeset makes use of some additional data types in ``deps/ua-nodeset/DI/
+ NAME "ua_types_di"
+ TARGET_SUFFIX "types-di"
+ NAMESPACE_IDX 2
+- FILE_CSV "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/OpcUaDiModel.csv"
+- FILES_BSD "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.Types.bsd"
++ FILE_CSV "${UA_NODESET_DIR}/DI/OpcUaDiModel.csv"
++ FILES_BSD "${UA_NODESET_DIR}/DI/Opc.Ua.Di.Types.bsd"
+ )
+
+ The ``NAMESPACE_IDX`` parameter indicates the namespace index of the generated node IDs for the type definitions. Currently we need to rely that the namespace is also added at this position in the final server. There is no automatic inferring yet (pull requests are warmly welcome).
+@@ -414,11 +414,11 @@ Now you can compile the DI nodeset XML using the following command::
+
+ ua_generate_nodeset(
+ NAME "di"
+- FILE "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml"
++ FILE "${UA_NODESET_DIR}/DI/Opc.Ua.Di.NodeSet2.xml"
+ TYPES_ARRAY "UA_TYPES_DI"
+ INTERNAL
+ DEPENDS_TYPES "UA_TYPES"
+- DEPENDS_NS "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml"
++ DEPENDS_NS "${UA_NODESET_DIR}/Schema/Opc.Ua.NodeSet2.xml"
+ DEPENDS_TARGET "open62541-generator-types-di"
+ )
+
+@@ -429,13 +429,13 @@ Next we can generate the PLCopen nodeset. Since it doesn't require any additiona
+
+ ua_generate_nodeset(
+ NAME "plc"
+- FILE "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml"
++ FILE "${UA_NODESET_DIR}/PLCopen/Opc.Ua.Plc.NodeSet2.xml"
+ INTERNAL
+ DEPENDS_TYPES
+ "UA_TYPES" "UA_TYPES_DI"
+ DEPENDS_NS
+- "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.NodeSet2.xml"
+- "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml"
++ "${UA_NODESET_DIR}/Schema/Opc.Ua.NodeSet2.xml"
++ "${UA_NODESET_DIR}/DI/Opc.Ua.Di.NodeSet2.xml"
+ DEPENDS_TARGET "open62541-generator-ns-di"
+ )
+
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index d46f853ecde6..353a0fbf992d 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -26,10 +26,6 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
+ set(UA_TOOLS_DIR ${open62541_TOOLS_DIR})
+ endif()
+
+- if(NOT UA_NODESET_DIR)
+- set(UA_NODESET_DIR ${open62541_NODESET_DIR})
+- endif()
+-
+ function(assign_source_group)
+ # define empty function. We don't need it in standalone
+ endfunction(assign_source_group)
+diff --git a/examples/nodeset/CMakeLists.txt b/examples/nodeset/CMakeLists.txt
+index c4b612d911d5..0a5fe38ef229 100644
+--- a/examples/nodeset/CMakeLists.txt
++++ b/examples/nodeset/CMakeLists.txt
+@@ -63,10 +63,10 @@ endif()
+ ###################
+
+ if(NOT CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
+- set(FILE_CSV_DIRPREFIX ${CMAKE_SOURCE_DIR}/deps/ua-nodeset)
+- set(FILE_BSD_PLCOPEN_DIRPREFIX ${CMAKE_SOURCE_DIR}/deps/ua-nodeset)
++ set(FILE_CSV_DIRPREFIX ${UA_NODESET_DIR})
++ set(FILE_BSD_PLCOPEN_DIRPREFIX ${UA_NODESET_DIR})
+ set(FILE_BSD_POWERLINK_DIRPREFIX ${PROJECT_SOURCE_DIR}/nodeset)
+- set(FILE_NS_DIRPREFIX ${CMAKE_SOURCE_DIR}/deps/ua-nodeset)
++ set(FILE_NS_DIRPREFIX ${UA_NODESET_DIR})
+ else()
+ set(FILE_CSV_DIRPREFIX ${UA_NODESET_DIR})
+ set(FILE_BSD_PLCOPEN_DIRPREFIX ${UA_NODESET_DIR})
+diff --git a/tests/nodeset-compiler/CMakeLists.txt b/tests/nodeset-compiler/CMakeLists.txt
+index 153759aa16c6..2b68e3926499 100644
+--- a/tests/nodeset-compiler/CMakeLists.txt
++++ b/tests/nodeset-compiler/CMakeLists.txt
+@@ -11,22 +11,22 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL")
+ # Generate types and namespace for DI
+ ua_generate_nodeset_and_datatypes(
+ NAME "tests-di"
+- FILE_CSV "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/OpcUaDiModel.csv"
+- FILE_BSD "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.Types.bsd"
++ FILE_CSV "${UA_NODESET_DIR}/DI/OpcUaDiModel.csv"
++ FILE_BSD "${UA_NODESET_DIR}/DI/Opc.Ua.Di.Types.bsd"
+ NAMESPACE_IDX 2
+ OUTPUT_DIR "${GENERATE_OUTPUT_DIR}"
+- FILE_NS "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/DI/Opc.Ua.Di.NodeSet2.xml"
++ FILE_NS "${UA_NODESET_DIR}/DI/Opc.Ua.Di.NodeSet2.xml"
+ INTERNAL
+ )
+
+ # Generate types and namespace for ADI
+ ua_generate_nodeset_and_datatypes(
+ NAME "tests-adi"
+- FILE_CSV "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/OpcUaAdiModel.csv"
+- FILE_BSD "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/Opc.Ua.Adi.Types.bsd"
++ FILE_CSV "${UA_NODESET_DIR}/ADI/OpcUaAdiModel.csv"
++ FILE_BSD "${UA_NODESET_DIR}/ADI/Opc.Ua.Adi.Types.bsd"
+ NAMESPACE_IDX 3
+ OUTPUT_DIR "${GENERATE_OUTPUT_DIR}"
+- FILE_NS "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/ADI/Opc.Ua.Adi.NodeSet2.xml"
++ FILE_NS "${UA_NODESET_DIR}/ADI/Opc.Ua.Adi.NodeSet2.xml"
+ DEPENDS "tests-di"
+ INTERNAL
+ )
+@@ -46,7 +46,7 @@ if(UA_NAMESPACE_ZERO STREQUAL "FULL")
+ ua_generate_nodeset_and_datatypes(
+ NAME "tests-plc"
+ # PLCopen does not define custom types. Only generate the nodeset
+- FILE_NS "${PROJECT_SOURCE_DIR}/deps/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml"
++ FILE_NS "${UA_NODESET_DIR}/PLCopen/Opc.Ua.Plc.NodeSet2.xml"
+ # PLCopen depends on the di nodeset, which must be generated before
+ OUTPUT_DIR "${GENERATE_OUTPUT_DIR}"
+ DEPENDS "tests-di"
+diff --git a/tools/cmake/macros_public.cmake b/tools/cmake/macros_public.cmake
+index a6a36f3d1090..751b679a37d8 100644
+--- a/tools/cmake/macros_public.cmake
++++ b/tools/cmake/macros_public.cmake
+@@ -100,7 +100,7 @@ endfunction()
+ # passed which will all combined to one resulting code.
+ # IMPORT_BSD Combination of types array and path to the .bsd file containing additional type definitions referenced by
+ # the FILES_BSD files. The value is separated with a hash sign, i.e.
+-# 'UA_TYPES#${PROJECT_SOURCE_DIR}/deps/ua-nodeset/Schema/Opc.Ua.Types.bsd'
++# 'UA_TYPES#${UA_NODESET_DIR}/Schema/Opc.Ua.Types.bsd'
+ # Multiple files can be passed which will all be imported.
+ # [FILES_SELECTED] Optional path to a simple text file which contains a list of types which should be included in the generation.
+ # The file should contain one type per line. Multiple files can be passed to this argument.
diff --git a/patches/open62541-1.0/series b/patches/open62541-1.0/series
new file mode 100644
index 000000000..248a1b603
--- /dev/null
+++ b/patches/open62541-1.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-CMake-Allow-UA_NODESET_DIR-to-be-custom-defined.patch
+# 4a88edd1483ff7bb07a623335b407de7 - git-ptx-patches magic