package/open62541: new package

Signed-off-by: Yann CARDAILLAC <ycardaillac@sepro-group.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Yann CARDAILLAC 2020-01-16 23:05:39 +01:00 committed by Thomas Petazzoni
parent 318d160fe5
commit b36ea68b5a
5 changed files with 133 additions and 0 deletions

View File

@ -2710,6 +2710,9 @@ F: package/fwup/
N: Yair Ben Avraham <yairba@protonmail.com>
F: package/gloox/
N: Yann CARDAILLAC <ycardaillac@sepro-group.com>
F: package/open62541/
N: Yann E. MORIN <yann.morin.1998@free.fr>
F: board/friendlyarm/nanopi-neo/
F: configs/nanopi_neo_defconfig

View File

@ -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"

View File

@ -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

View File

@ -0,0 +1,3 @@
# Locally calculated
sha256 3300149c2e9e8c1f87fe2786e25d74372a33611a0bd4c6c202c5fca347633069 open62541-1.0.tar.gz
sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE

View File

@ -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))