Migrate from a locked down version of open62541 to whatever meta-networking wants to point to. We do need to turn on the examples and apply some patches to get the examples to compile.
Signed-off-by: Ryan Eatmon <[email protected]> --- .../0001-examples-Remove-sys-io.h.patch | 68 ++++++++++++++ ...les-client-allow-configurable-server.patch | 4 +- .../open62541/open62541_%.bbappend | 39 ++++++++ .../open62541/open62541_git.bb | 91 ------------------- 4 files changed, 110 insertions(+), 92 deletions(-) create mode 100644 meta-arago-extras/recipes-connectivity/open62541/open62541/0001-examples-Remove-sys-io.h.patch create mode 100644 meta-arago-extras/recipes-connectivity/open62541/open62541_%.bbappend delete mode 100644 meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb diff --git a/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-examples-Remove-sys-io.h.patch b/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-examples-Remove-sys-io.h.patch new file mode 100644 index 00000000..3119fb3d --- /dev/null +++ b/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-examples-Remove-sys-io.h.patch @@ -0,0 +1,68 @@ +From 123f7274cf6cb65866c910dec16ec1595495d1dc Mon Sep 17 00:00:00 2001 +From: Ryan Eatmon <[email protected]> +Date: Thu, 29 Jun 2023 11:14:50 -0500 +Subject: [PATCH] examples: Remove sys/io.h + +This header is missing on some architectures, aarch64 being one of them. + +Upstream-Status: Pending + +Signed-off-by: Ryan Eatmon <[email protected]> +--- + examples/pubsub_realtime/pubsub_TSN_loopback.c | 1 - + examples/pubsub_realtime/pubsub_TSN_loopback_single_thread.c | 1 - + examples/pubsub_realtime/pubsub_TSN_publisher.c | 1 - + examples/pubsub_realtime/pubsub_TSN_publisher_multiple_thread.c | 1 - + 4 files changed, 4 deletions(-) + +diff --git a/examples/pubsub_realtime/pubsub_TSN_loopback.c b/examples/pubsub_realtime/pubsub_TSN_loopback.c +index 803a3c107..e90015aa3 100644 +--- a/examples/pubsub_realtime/pubsub_TSN_loopback.c ++++ b/examples/pubsub_realtime/pubsub_TSN_loopback.c +@@ -77,7 +77,6 @@ + #include <stdio.h> + #include <stdlib.h> + #include <linux/types.h> +-#include <sys/io.h> + #include <getopt.h> + + /* For thread operations */ +diff --git a/examples/pubsub_realtime/pubsub_TSN_loopback_single_thread.c b/examples/pubsub_realtime/pubsub_TSN_loopback_single_thread.c +index 7db37e9d5..ba5f7aff6 100644 +--- a/examples/pubsub_realtime/pubsub_TSN_loopback_single_thread.c ++++ b/examples/pubsub_realtime/pubsub_TSN_loopback_single_thread.c +@@ -54,7 +54,6 @@ + #include <stdio.h> + #include <stdlib.h> + #include <linux/types.h> +-#include <sys/io.h> + #include <getopt.h> + + /* For thread operations */ +diff --git a/examples/pubsub_realtime/pubsub_TSN_publisher.c b/examples/pubsub_realtime/pubsub_TSN_publisher.c +index 945ec3d4f..5ff866908 100644 +--- a/examples/pubsub_realtime/pubsub_TSN_publisher.c ++++ b/examples/pubsub_realtime/pubsub_TSN_publisher.c +@@ -78,7 +78,6 @@ + #include <stdio.h> + #include <stdlib.h> + #include <linux/types.h> +-#include <sys/io.h> + #include <getopt.h> + + /* For thread operations */ +diff --git a/examples/pubsub_realtime/pubsub_TSN_publisher_multiple_thread.c b/examples/pubsub_realtime/pubsub_TSN_publisher_multiple_thread.c +index 72dcd3997..73967577f 100644 +--- a/examples/pubsub_realtime/pubsub_TSN_publisher_multiple_thread.c ++++ b/examples/pubsub_realtime/pubsub_TSN_publisher_multiple_thread.c +@@ -57,7 +57,6 @@ + #include <stdio.h> + #include <stdlib.h> + #include <linux/types.h> +-#include <sys/io.h> + #include <getopt.h> + + /* For thread operations */ +-- +2.17.1 + diff --git a/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-examples-client-allow-configurable-server.patch b/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-examples-client-allow-configurable-server.patch index 97d241ed..742d56ac 100644 --- a/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-examples-client-allow-configurable-server.patch +++ b/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-examples-client-allow-configurable-server.patch @@ -36,8 +36,9 @@ index f04bed9..dfc56f5 100644 + UA_StatusCode retval = UA_Client_getEndpoints(client, ua_server, &endpointArraySize, &endpointArray); if(retval != UA_STATUSCODE_GOOD) { + printf("Could not get the endpoints\n"); UA_Array_delete(endpointArray, endpointArraySize, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); -@@ -51,8 +56,8 @@ int main(int argc, char *argv[]) { +@@ -52,8 +57,8 @@ int main(int argc, char *argv[]) { UA_Array_delete(endpointArray,endpointArraySize, &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]); /* Connect to a server */ @@ -46,6 +47,7 @@ index f04bed9..dfc56f5 100644 + /* anonymous connect would be: retval = UA_Client_connect(client, ua_server); */ + retval = UA_Client_connect_username(client, ua_server, "user1", "password"); if(retval != UA_STATUSCODE_GOOD) { + printf("Could not connect\n"); UA_Client_delete(client); return EXIT_FAILURE; -- diff --git a/meta-arago-extras/recipes-connectivity/open62541/open62541_%.bbappend b/meta-arago-extras/recipes-connectivity/open62541/open62541_%.bbappend new file mode 100644 index 00000000..7ce16235 --- /dev/null +++ b/meta-arago-extras/recipes-connectivity/open62541/open62541_%.bbappend @@ -0,0 +1,39 @@ + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +SRC_URI:append = " file://0001-examples-client-allow-configurable-server.patch \ + file://0001-examples-Remove-sys-io.h.patch \ +" + +EXTRA_OECMAKE = "-DUA_BUILD_EXAMPLES=1" + +# Install examples and unit tests +do_install:append() { + # Install examples + install -d "${D}${datadir}/${BPN}/examples" + for example in ${B}/bin/examples/* + do + install -m 755 "$example" "${D}${datadir}/${BPN}/examples" + done + + if ${@bb.utils.contains('PACKAGECONFIG','unit_tests','true','false',d)} + then + # Install unittests + install -d "${D}${datadir}/${BPN}/tests" + for test in ${B}/bin/tests/* + do + install -m 755 "$test" "${D}${datadir}/${BPN}/tests" + done + fi +} + +PACKAGES =+ "${PN}-examples ${PN}-tests" +FILES:${PN}-dev += "${libdir}/cmake/* ${datadir}/${BPN}/tools" +FILES:${PN}-examples += "${datadir}/${BPN}/examples" +FILES:${PN}-tests += "${datadir}/${BPN}/tests" + +# Allow staticdev package to be empty incase sharedlibs is switched on +ALLOW_EMPTY:${PN}-staticdev = "1" +ALLOW_EMPTY:${PN}-tests = "1" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb b/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb deleted file mode 100644 index 02b63738..00000000 --- a/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "Open source implementation of OPC UA" -HOMEPAGE = "http://open62541.org/" -LICENSE = "MPL-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad" - -SRC_URI = "git://github.com/open62541/open62541.git;protocol=https;branch=${BRANCH} \ - git://github.com/OPCFoundation/UA-Nodeset.git;protocol=https;branch=v1.04;destsuffix=git/deps/ua-nodeset;name=ua-nodeset \ - git://github.com/Pro/mdnsd.git;protocol=https;branch=master;destsuffix=git/deps/mdnsd;name=mdnsd \ - file://0001-examples-client-allow-configurable-server.patch \ - file://0001-CMakeLists-do-not-install-git-directories.patch \ -" - -BRANCH = "1.0" -SRCREV = "e4309754fc2f6ea6508b59ca82e08c27b0118d74" - -SRCREV_ua-nodeset = "0777abd1bc407b4dbd79abc515864f8c3ce6812b" -SRCREV_mdnsd = "f7f0dd543f12fa7bbf2b667cceb287b9c8184b7d" - -SRCREV_FORMAT = "default" - -PV = "1.0.1+git${SRCPV}" - -inherit cmake python3native - -DEPENDS += "python3-six-native" - -S = "${WORKDIR}/git" - -EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DUA_BUILD_EXAMPLES=1" - -PACKAGECONFIG[sharedlibs] = "-DBUILD_SHARED_LIBS=1,-DBUILD_SHARED_LIBS=0,," -PACKAGECONFIG[encrypt] = "-DUA_ENABLE_ENCRYPTION=1 -DMBEDTLS_FOLDER_LIBRARY=${STAGING_LIBDIR} -DMBEDTLS_FOLDER_INCLUDE=${STAGING_INCDIR},-DUA_ENABLE_ENCRYPTION=0,mbedtls," -PACKAGECONFIG[pubsub] = "-DUA_ENABLE_PUBSUB=1,-DUA_ENABLE_PUBSUB=0,," -PACKAGECONFIG[pubsub_uadp] = "-DUA_ENABLE_PUBSUB_ETH_UADP=1,-DUA_ENABLE_PUBSUB_ETH_UADP=0,," -PACKAGECONFIG[pubsub_delta_frames] = "-DUA_ENABLE_PUBSUB_DELTAFRAMES=1,-DUA_ENABLE_PUBSUB_DELTAFRAMES=0,," -PACKAGECONFIG[pubsub_informationmodel] = "-DUA_ENABLE_PUBSUB_INFORMATIONMODEL=1,-DUA_ENABLE_PUBSUB_INFORMATIONMODEL=0,," -PACKAGECONFIG[pubsub_informationmodel_methods] = "-DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=1,-DUA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS=0,," -PACKAGECONFIG[subscription_events] = "-DUA_ENABLE_SUBSCRIPTIONS_EVENTS=1,-DUA_ENABLE_SUBSCRIPTIONS_EVENTS=0,," -PACKAGECONFIG[certificate] = "-DUA_BUILD_SELFSIGNED_CERTIFICATE=1,-DUA_BUILD_SELFSIGNED_CERTIFICATE=0,," - -# Namespace zero: minimal, reduced (default), full -# -# Allow all three options, but do not assume default, nor the behavior -# if more than one option is chosen. -# -# NOTE: enabling ns0_full will cause a large increase in build time -PACKAGECONFIG[ns0_full] = "-DUA_NAMESPACE_ZERO=FULL,,," -PACKAGECONFIG[ns0_reduced] = "-DUA_NAMESPACE_ZERO=REDUCED,,," -PACKAGECONFIG[ns0_minimal] = "-DUA_NAMESPACE_ZERO=MINIMAL,,," - -# This is broken due to missing libsubunit dependency. Keep here in case it becomes available. -PACKAGECONFIG[unit_tests] = "-DUA_BUILD_UNIT_TESTS=1,-DUA_BUILD_UNIT_TESTS=0,libcheck libsubunit," - -PACKAGECONFIG ?= "pubsub pubsub_delta_frames pubsub_informationmodel \ - pubsub_informationmodel_methods pubsub_uadp encrypt \ - certificate" - -# Install examples and unit tests -do_install:append() { - # Install examples - install -d "${D}${datadir}/${BPN}/examples" - for example in ${B}/bin/examples/* - do - install -m 755 "$example" "${D}${datadir}/${BPN}/examples" - done - - if ${@bb.utils.contains('PACKAGECONFIG','unit_tests','true','false',d)} - then - # Install unittests - install -d "${D}${datadir}/${BPN}/tests" - for test in ${B}/bin/tests/* - do - install -m 755 "$test" "${D}${datadir}/${BPN}/tests" - done - fi -} - -PACKAGES =+ "${PN}-examples ${PN}-tests" -FILES:${PN}-dev += "${libdir}/cmake/* ${datadir}/${BPN}/tools" -FILES:${PN}-examples += "${datadir}/${BPN}/examples" -FILES:${PN}-tests += "${datadir}/${BPN}/tests" - -# This contains some python-based tools -RDEPENDS:${PN}-dev = "python3" - -# Allow staticdev package to be empty incase sharedlibs is switched on -ALLOW_EMPTY:${PN}-staticdev = "1" -ALLOW_EMPTY:${PN}-tests = "1" - -BBCLASSEXTEND = "native nativesdk" -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14736): https://lists.yoctoproject.org/g/meta-arago/message/14736 Mute This Topic: https://lists.yoctoproject.org/mt/99854688/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/leave/10763299/21656/89520264/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
