* [Buildroot] [PATCH] package/open62541: new package
@ 2020-01-16 22:05 Yann CARDAILLAC
2020-01-17 8:34 ` Yann Cardaillac
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Yann CARDAILLAC @ 2020-01-16 22:05 UTC (permalink / raw)
To: buildroot
From: Yann CARDAILLAC <ycardaillac@sepro-group.com>
Signed-off-by: Yann CARDAILLAC <ycardaillac@sepro-group.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
package/Config.in | 1 +
package/open62541/Config.in | 62 ++++++++++++++++++++++++++++++++
package/open62541/open62541.hash | 3 ++
package/open62541/open62541.mk | 57 +++++++++++++++++++++++++++++
4 files changed, 123 insertions(+)
create mode 100644 package/open62541/Config.in
create mode 100644 package/open62541/open62541.hash
create mode 100644 package/open62541/open62541.mk
diff --git a/package/Config.in b/package/Config.in
index 4c94914680..748446f3b4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -499,6 +499,7 @@ endmenu
source "package/ofono/Config.in"
source "package/on2-8170-modules/Config.in"
source "package/open2300/Config.in"
+ source "package/open62541/Config.in"
source "package/openipmi/Config.in"
source "package/openocd/Config.in"
source "package/openpowerlink/Config.in"
diff --git a/package/open62541/Config.in b/package/open62541/Config.in
new file mode 100644
index 0000000000..8fb0c1f8e6
--- /dev/null
+++ b/package/open62541/Config.in
@@ -0,0 +1,62 @@
+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 "choose UA_NAMESPACE_ZERO"
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_NONE
+ bool "NONE"
+ help
+ Don't set the UA_NAMESPACE_ZERO.
+
+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
+
+menu "Advanced build options"
+
+config BR2_PACKAGE_OPEN62541_JSON_ENCODING
+ bool "json encoding"
+
+config BR2_PACKAGE_OPEN62541_PUBSUB
+ bool "publish/subscribe"
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES
+ bool "publish/subscribe deltaframes"
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
+ bool "publish/subscribe informationmodel"
+ depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
+ select BR2_PACKAGE_OPEN62541_PUBSUB
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS
+ bool "publish/subscribe informationmodel methods"
+ depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
+ select BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
+
+endmenu
+
+endif
diff --git a/package/open62541/open62541.hash b/package/open62541/open62541.hash
new file mode 100644
index 0000000000..1f9f3787b9
--- /dev/null
+++ b/package/open62541/open62541.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 766dc30dd7d27578560f7091f70f97d1edcbbdbea6ac0c33c6bc6df5e9daadc9 open62541-v1.0.tar.gz
+sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE
diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk
new file mode 100644
index 0000000000..b3d2eb7dd5
--- /dev/null
+++ b/package/open62541/open62541.mk
@@ -0,0 +1,57 @@
+################################################################################
+#
+# open62541
+#
+################################################################################
+
+OPEN62541_VERSION = v1.0
+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 discribe to get the version number.
+OPEN62541_CONF_OPTS += -DGIT_EXECUTABLE=NO \
+ -DOPEN62541_VERSION=$(OPEN62541_VERSION)
+
+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
+
+ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=OFF
+endif
+
+$(eval $(cmake-package))
--
2.21.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/open62541: new package
2020-01-16 22:05 [Buildroot] [PATCH] package/open62541: new package Yann CARDAILLAC
@ 2020-01-17 8:34 ` Yann Cardaillac
2020-02-03 16:05 ` Heiko Thiery
2021-01-05 22:27 ` Thomas Petazzoni
2 siblings, 0 replies; 5+ messages in thread
From: Yann Cardaillac @ 2020-01-17 8:34 UTC (permalink / raw)
To: buildroot
Hi,
I did a bit of work to simplify our integration of package.
Kubu gave me a bit of advices before posting the work once again.
Any feedback will be deeply appreciated.
However it might take me a bit of time to act on them.
Best regards,
Yann
----- Mail original -----
De: "Yann CARDAILLAC" <yann.cardaillac@smile.fr>
?: "buildroot" <buildroot@busybox.net>
Cc: "Yann CARDAILLAC" <ycardaillac@sepro-group.com>, "romain naour" <romain.naour@smile.fr>
Envoy?: Jeudi 16 Janvier 2020 23:05:39
Objet: [PATCH] package/open62541: new package
From: Yann CARDAILLAC <ycardaillac@sepro-group.com>
Signed-off-by: Yann CARDAILLAC <ycardaillac@sepro-group.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
package/Config.in | 1 +
package/open62541/Config.in | 62 ++++++++++++++++++++++++++++++++
package/open62541/open62541.hash | 3 ++
package/open62541/open62541.mk | 57 +++++++++++++++++++++++++++++
4 files changed, 123 insertions(+)
create mode 100644 package/open62541/Config.in
create mode 100644 package/open62541/open62541.hash
create mode 100644 package/open62541/open62541.mk
diff --git a/package/Config.in b/package/Config.in
index 4c94914680..748446f3b4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -499,6 +499,7 @@ endmenu
source "package/ofono/Config.in"
source "package/on2-8170-modules/Config.in"
source "package/open2300/Config.in"
+ source "package/open62541/Config.in"
source "package/openipmi/Config.in"
source "package/openocd/Config.in"
source "package/openpowerlink/Config.in"
diff --git a/package/open62541/Config.in b/package/open62541/Config.in
new file mode 100644
index 0000000000..8fb0c1f8e6
--- /dev/null
+++ b/package/open62541/Config.in
@@ -0,0 +1,62 @@
+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 "choose UA_NAMESPACE_ZERO"
+
+config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_NONE
+ bool "NONE"
+ help
+ Don't set the UA_NAMESPACE_ZERO.
+
+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
+
+menu "Advanced build options"
+
+config BR2_PACKAGE_OPEN62541_JSON_ENCODING
+ bool "json encoding"
+
+config BR2_PACKAGE_OPEN62541_PUBSUB
+ bool "publish/subscribe"
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES
+ bool "publish/subscribe deltaframes"
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
+ bool "publish/subscribe informationmodel"
+ depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
+ select BR2_PACKAGE_OPEN62541_PUBSUB
+
+config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS
+ bool "publish/subscribe informationmodel methods"
+ depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
+ select BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
+
+endmenu
+
+endif
diff --git a/package/open62541/open62541.hash b/package/open62541/open62541.hash
new file mode 100644
index 0000000000..1f9f3787b9
--- /dev/null
+++ b/package/open62541/open62541.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 766dc30dd7d27578560f7091f70f97d1edcbbdbea6ac0c33c6bc6df5e9daadc9 open62541-v1.0.tar.gz
+sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE
diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk
new file mode 100644
index 0000000000..b3d2eb7dd5
--- /dev/null
+++ b/package/open62541/open62541.mk
@@ -0,0 +1,57 @@
+################################################################################
+#
+# open62541
+#
+################################################################################
+
+OPEN62541_VERSION = v1.0
+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 discribe to get the version number.
+OPEN62541_CONF_OPTS += -DGIT_EXECUTABLE=NO \
+ -DOPEN62541_VERSION=$(OPEN62541_VERSION)
+
+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
+
+ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS),y)
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=ON
+else
+OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=OFF
+endif
+
+$(eval $(cmake-package))
--
2.21.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/open62541: new package
2020-01-16 22:05 [Buildroot] [PATCH] package/open62541: new package Yann CARDAILLAC
2020-01-17 8:34 ` Yann Cardaillac
@ 2020-02-03 16:05 ` Heiko Thiery
2020-02-03 16:46 ` Romain Naour
2021-01-05 22:27 ` Thomas Petazzoni
2 siblings, 1 reply; 5+ messages in thread
From: Heiko Thiery @ 2020-02-03 16:05 UTC (permalink / raw)
To: buildroot
Hi Yann,
Am Do., 16. Jan. 2020 um 23:05 Uhr schrieb Yann CARDAILLAC
<yann.cardaillac@smile.fr>:
>
> From: Yann CARDAILLAC <ycardaillac@sepro-group.com>
>
> Signed-off-by: Yann CARDAILLAC <ycardaillac@sepro-group.com>
> Signed-off-by: Romain Naour <romain.naour@smile.fr>
> ---
> package/Config.in | 1 +
> package/open62541/Config.in | 62 ++++++++++++++++++++++++++++++++
> package/open62541/open62541.hash | 3 ++
> package/open62541/open62541.mk | 57 +++++++++++++++++++++++++++++
> 4 files changed, 123 insertions(+)
> create mode 100644 package/open62541/Config.in
> create mode 100644 package/open62541/open62541.hash
> create mode 100644 package/open62541/open62541.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 4c94914680..748446f3b4 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -499,6 +499,7 @@ endmenu
> source "package/ofono/Config.in"
> source "package/on2-8170-modules/Config.in"
> source "package/open2300/Config.in"
> + source "package/open62541/Config.in"
> source "package/openipmi/Config.in"
> source "package/openocd/Config.in"
> source "package/openpowerlink/Config.in"
> diff --git a/package/open62541/Config.in b/package/open62541/Config.in
> new file mode 100644
> index 0000000000..8fb0c1f8e6
> --- /dev/null
> +++ b/package/open62541/Config.in
> @@ -0,0 +1,62 @@
> +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 "choose UA_NAMESPACE_ZERO"
> +
> +config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_NONE
> + bool "NONE"
> + help
> + Don't set the UA_NAMESPACE_ZERO.
> +
> +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
> +
> +menu "Advanced build options"
> +
> +config BR2_PACKAGE_OPEN62541_JSON_ENCODING
> + bool "json encoding"
> +
> +config BR2_PACKAGE_OPEN62541_PUBSUB
> + bool "publish/subscribe"
> +
> +config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES
> + bool "publish/subscribe deltaframes"
> +
> +config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
> + bool "publish/subscribe informationmodel"
> + depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
> + select BR2_PACKAGE_OPEN62541_PUBSUB
> +
> +config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS
> + bool "publish/subscribe informationmodel methods"
> + depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
> + select BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
> +
> +endmenu
> +
> +endif
> diff --git a/package/open62541/open62541.hash b/package/open62541/open62541.hash
> new file mode 100644
> index 0000000000..1f9f3787b9
> --- /dev/null
> +++ b/package/open62541/open62541.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256 766dc30dd7d27578560f7091f70f97d1edcbbdbea6ac0c33c6bc6df5e9daadc9 open62541-v1.0.tar.gz
> +sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE
> diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk
> new file mode 100644
> index 0000000000..b3d2eb7dd5
> --- /dev/null
> +++ b/package/open62541/open62541.mk
> @@ -0,0 +1,57 @@
> +################################################################################
> +#
> +# open62541
> +#
> +################################################################################
> +
> +OPEN62541_VERSION = v1.0
> +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 discribe to get the version number.
> +OPEN62541_CONF_OPTS += -DGIT_EXECUTABLE=NO \
> + -DOPEN62541_VERSION=$(OPEN62541_VERSION)
I think you should not use the '+' for the first time.
On the other hand I tried to build the package with a compiler without
c++ suport and it fails.
I just did a 'make defconfig', 'make menuconfig' with selecting the
open62541 package and it fails.
At least there seems to be a missing 'C' in the CMakefile.txt.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.0...3.12)
-project(open62541)
+project(open62541 C)
# set(CMAKE_VERBOSE_MAKEFILE ON)
if(${CMAKE_VERSION} VERSION_LESS 3.12)
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
But then it fails with an missing compiler option (ssp).
Should we even support building on c only compiler?
--
Heiko
> +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
> +
> +ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS),y)
> +OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=ON
> +else
> +OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=OFF
> +endif
> +
> +$(eval $(cmake-package))
> --
> 2.21.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/open62541: new package
2020-02-03 16:05 ` Heiko Thiery
@ 2020-02-03 16:46 ` Romain Naour
0 siblings, 0 replies; 5+ messages in thread
From: Romain Naour @ 2020-02-03 16:46 UTC (permalink / raw)
To: buildroot
Hi Heiko, Yann, All,
Le 03/02/2020 ? 17:05, Heiko Thiery a ?crit?:
> Hi Yann,
>
> Am Do., 16. Jan. 2020 um 23:05 Uhr schrieb Yann CARDAILLAC
> <yann.cardaillac@smile.fr>:
>>
>> From: Yann CARDAILLAC <ycardaillac@sepro-group.com>
>>
>> Signed-off-by: Yann CARDAILLAC <ycardaillac@sepro-group.com>
>> Signed-off-by: Romain Naour <romain.naour@smile.fr>
>> ---
[...]
>> diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk
>> new file mode 100644
>> index 0000000000..b3d2eb7dd5
>> --- /dev/null
>> +++ b/package/open62541/open62541.mk
>> @@ -0,0 +1,57 @@
>> +################################################################################
>> +#
>> +# open62541
>> +#
>> +################################################################################
>> +
>> +OPEN62541_VERSION = v1.0
>> +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 discribe to get the version number.
>> +OPEN62541_CONF_OPTS += -DGIT_EXECUTABLE=NO \
>> + -DOPEN62541_VERSION=$(OPEN62541_VERSION)
>
> I think you should not use the '+' for the first time.
>
>
> On the other hand I tried to build the package with a compiler without
> c++ suport and it fails.
> I just did a 'make defconfig', 'make menuconfig' with selecting the
> open62541 package and it fails.
>
> At least there seems to be a missing 'C' in the CMakefile.txt.
>
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -1,5 +1,5 @@
> cmake_minimum_required(VERSION 3.0...3.12)
> -project(open62541)
> +project(open62541 C)
> # set(CMAKE_VERBOSE_MAKEFILE ON)
> if(${CMAKE_VERSION} VERSION_LESS 3.12)
> cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
>
> But then it fails with an missing compiler option (ssp).
>
> Should we even support building on c only compiler?
Thanks for the review.
By default, the ssp support is not enabled when you build a toolchain.
But the hardening option of this package (UA_ENABLE_HARDENING) is enabled by
default, so it add several hardening option even if the toolchain doesn't
support it.
I would suggest to disable it from the package (-DUA_ENABLE_HARDENING=OFF) and
let Buildroot (and its toolchain wrapper) handling the hardening support.
Best regards,
Romain
>
> --
> Heiko
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] package/open62541: new package
2020-01-16 22:05 [Buildroot] [PATCH] package/open62541: new package Yann CARDAILLAC
2020-01-17 8:34 ` Yann Cardaillac
2020-02-03 16:05 ` Heiko Thiery
@ 2021-01-05 22:27 ` Thomas Petazzoni
2 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2021-01-05 22:27 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 16 Jan 2020 23:05:39 +0100
Yann CARDAILLAC <yann.cardaillac@smile.fr> wrote:
> From: Yann CARDAILLAC <ycardaillac@sepro-group.com>
>
> Signed-off-by: Yann CARDAILLAC <ycardaillac@sepro-group.com>
> Signed-off-by: Romain Naour <romain.naour@smile.fr>
Your patch was about to be one year old, so it was time to act and
apply it, which is now done, with a number of changes. See below.
> ---
> package/Config.in | 1 +
> package/open62541/Config.in | 62 ++++++++++++++++++++++++++++++++
> package/open62541/open62541.hash | 3 ++
> package/open62541/open62541.mk | 57 +++++++++++++++++++++++++++++
> 4 files changed, 123 insertions(+)
I've added an entry in the DEVELOPERS file.
> diff --git a/package/Config.in b/package/Config.in
> index 4c94914680..748446f3b4 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -499,6 +499,7 @@ endmenu
> source "package/ofono/Config.in"
> source "package/on2-8170-modules/Config.in"
> source "package/open2300/Config.in"
> + source "package/open62541/Config.in"
You added it in the Hardware section, I believe it belongs better to
the Networking libraries part, so I moved it there.
> +if BR2_PACKAGE_OPEN62541
> +
> +choice
> + prompt "choose UA_NAMESPACE_ZERO"
Changed to:
+ prompt "namespace zero nodes"
and added a help text:
+ 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_NONE
> + bool "NONE"
> + help
> + Don't set the UA_NAMESPACE_ZERO.
Changed to:
+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"
Changed to lower case.
> + 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"
Changed to lower case.
> + help
> + Small namespace zero that passes the CTT.
> +
> +config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
> + bool "FULL"
Changed to lower case.
> + help
> + Full namespace zero generated from the official XML
> + definitions.
> +
> +endchoice
> +
> +menu "Advanced build options"
> +
> +config BR2_PACKAGE_OPEN62541_JSON_ENCODING
> + bool "json encoding"
> +
> +config BR2_PACKAGE_OPEN62541_PUBSUB
> + bool "publish/subscribe"
I've added a help text.
> +config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES
> + bool "publish/subscribe deltaframes"
I've added a help text.
> +config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
> + bool "publish/subscribe informationmodel"
> + depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
> + select BR2_PACKAGE_OPEN62541_PUBSUB
Dropped this select, and instead moved the pubsub options in a if
BR2_PACKAGE_OPEN62541_PUBSUB ... endif block. Also added a help text.
> +config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS
> + bool "publish/subscribe informationmodel methods"
> + depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
> + select BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
I dropped this option, because it's not even documented in the
open62541 manual, so I couldn't add some reasonable help text. We can
always re-add it later if you submit a patch with more details.
> diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk
> new file mode 100644
> index 0000000000..b3d2eb7dd5
> --- /dev/null
> +++ b/package/open62541/open62541.mk
> @@ -0,0 +1,57 @@
> +################################################################################
> +#
> +# open62541
> +#
> +################################################################################
> +
> +OPEN62541_VERSION = v1.0
Changed to:
+OPEN62541_VERSION = 1.0
+OPEN62541_DL_VERSION = v$(OPEN62541_VERSION)
so that the _VERSION variable doesn't have the "v" prefix.
> +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 discribe to get the version number.
> +OPEN62541_CONF_OPTS += -DGIT_EXECUTABLE=NO \
> + -DOPEN62541_VERSION=$(OPEN62541_VERSION)
Changed to:
+# 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
i.e: fix the typo on discribe -> describe, replace += by =, and daded
the UA_ENABLE_HARDENING=OFF option as suggested by Romain.
> +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
> +
> +ifeq ($(BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS),y)
> +OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=ON
> +else
> +OPEN62541_CONF_OPTS += -DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=OFF
> +endif
Dropped this last chunk, as I dropped the option.
Also, added a patch suggested by Heiko that removes the need for a C++
compiler.
Do not hesitate to have a look at
https://git.buildroot.org/buildroot/commit/?id=b36ea68b5ad0f89ffd92cac3f91654e180683b1c
for the final result. If there are build failures in the next days,
you'll receive an e-mail about such build failures.
Thanks for your contribution!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-01-05 22:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-16 22:05 [Buildroot] [PATCH] package/open62541: new package Yann CARDAILLAC
2020-01-17 8:34 ` Yann Cardaillac
2020-02-03 16:05 ` Heiko Thiery
2020-02-03 16:46 ` Romain Naour
2021-01-05 22:27 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.