[Buildroot] [git commit] package/open62541: new package
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Tue Jan 5 22:16:56 UTC 2021
commit: https://git.buildroot.net/buildroot/commit/?id=b36ea68b5ad0f89ffd92cac3f91654e180683b1c
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Signed-off-by: Yann CARDAILLAC <ycardaillac at sepro-group.com>
Signed-off-by: Romain Naour <romain.naour at smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
DEVELOPERS | 3 ++
package/Config.in | 1 +
package/open62541/Config.in | 71 ++++++++++++++++++++++++++++++++++++++++
package/open62541/open62541.hash | 3 ++
package/open62541/open62541.mk | 55 +++++++++++++++++++++++++++++++
5 files changed, 133 insertions(+)
diff --git a/DEVELOPERS b/DEVELOPERS
index ddab7073b8..258a51a14c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2710,6 +2710,9 @@ F: package/fwup/
N: Yair Ben Avraham <yairba at protonmail.com>
F: package/gloox/
+N: Yann CARDAILLAC <ycardaillac at sepro-group.com>
+F: package/open62541/
+
N: Yann E. MORIN <yann.morin.1998 at free.fr>
F: board/friendlyarm/nanopi-neo/
F: configs/nanopi_neo_defconfig
diff --git a/package/Config.in b/package/Config.in
index 219dba1c9d..7264198001 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1803,6 +1803,7 @@ menu "Networking"
source "package/nss-myhostname/Config.in"
source "package/nss-pam-ldapd/Config.in"
source "package/omniorb/Config.in"
+ source "package/open62541/Config.in"
source "package/openldap/Config.in"
source "package/openmpi/Config.in"
source "package/openpgm/Config.in"
diff --git a/package/open62541/Config.in b/package/open62541/Config.in
new file mode 100644
index 0000000000..a835595e83
--- /dev/null
+++ b/package/open62541/Config.in
@@ -0,0 +1,71 @@
+config BR2_PACKAGE_OPEN62541
+ bool "open62541"
+ help
+ open62541 is an open source and free implementation of OPC UA.
+
+ http://open62541.org
+
+if BR2_PACKAGE_OPEN62541
+
+choice
+ prompt "namespace zero nodes"
+ help
+ Namespace zero contains the standard-defined nodes. The full
+ namespace zero may not be required for all applications.
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_DEFAULT
+ bool "default"
+ help
+ Use the default namespace zero contents.
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_MINIMAL
+ bool "minimal"
+ help
+ A barebones namespace zero that is compatible with most
+ clients. But this namespace 0 is so small that it does not
+ pass the CTT (Conformance Testing Tools of the OPC
+ Foundation).
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED
+ bool "reduced"
+ help
+ Small namespace zero that passes the CTT.
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
+ bool "full"
+ help
+ Full namespace zero generated from the official XML
+ definitions.
+
+endchoice
+
+config BR2_PACKAGE_OPEN62541_JSON_ENCODING
+ bool "json encoding"
+
+config BR2_PACKAGE_OPEN62541_PUBSUB
+ bool "publish/subscribe"
+ help
+ Enable the experimental OPC UA PubSub support. The option
+ will include the PubSub UDP multicast plugin.
+
+if BR2_PACKAGE_OPEN62541_PUBSUB
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES
+ bool "publish/subscribe deltaframes"
+ help
+ The PubSub messages differentiate between keyframe (all
+ published values contained) and deltaframe (only changed
+ values contained) messages. Deltaframe messages creation
+ consumes some additional ressources.
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
+ bool "publish/subscribe information model"
+ depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || \
+ BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
+ help
+ Enable the information model representation of the PubSub
+ configuration.
+
+endif # BR2_PACKAGE_OPEN62541_PUBSUB
+
+endif
diff --git a/package/open62541/open62541.hash b/package/open62541/open62541.hash
new file mode 100644
index 0000000000..a6b3b38ec6
--- /dev/null
+++ b/package/open62541/open62541.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 3300149c2e9e8c1f87fe2786e25d74372a33611a0bd4c6c202c5fca347633069 open62541-1.0.tar.gz
+sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE
diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk
new file mode 100644
index 0000000000..71c14f78ba
--- /dev/null
+++ b/package/open62541/open62541.mk
@@ -0,0 +1,55 @@
+################################################################################
+#
+# open62541
+#
+################################################################################
+
+OPEN62541_VERSION = 1.0
+OPEN62541_DL_VERSION = v$(OPEN62541_VERSION)
+OPEN62541_SITE_METHOD = git
+OPEN62541_SITE = git://github.com/open62541/open62541.git
+OPEN62541_GIT_SUBMODULES = YES
+OPEN62541_INSTALL_STAGING = YES
+OPEN62541_LICENSE = MPL-2.0
+OPEN62541_LICENSE_FILES = LICENSE
+
+# Don't use git describe to get the version number.
+# Disable hardening options to let Buildroot handle it.
+OPEN62541_CONF_OPTS = \
+ -DGIT_EXECUTABLE=NO \
+ -DOPEN62541_VERSION=$(OPEN62541_VERSION) \
+ -DUA_ENABLE_HARDENING=OFF
+
+ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_MINIMAL),y)
+OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=MINIMAL
+else ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED),y)
+OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=REDUCED
+else ifeq ($(BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL),y)
+OPEN62541_CONF_OPTS += -DUA_NAMESPACE_ZERO=FULL
+endif
+
+ifeq ($(BR2_PACKAGE_OPEN62541_JSON_ENCODING),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_JSON_ENCODING=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_JSON_ENCODING=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_DELTAFRAMES=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_DELTAFRAMES=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=OFF
+endif
+
+$(eval $(cmake-package))
More information about the buildroot
mailing list