On Mon, Mar 11, 2019 at 11:39:49AM -0400, Jacob Stiffler wrote:
> * Switch to master branch (0.4-dev) for PUBSUB support.
> * git-submodules are now required to build.

git-submodules fetcher in bitbake is not very stable. There were discussions 
upstream about some breakage and corner cases, etc.

First of all - are there specific recipes for any of those submodules? If so, 
those should probably be proper dependencies.

If not, can they be listed in SRC_URI individually? I.e. multiple git:// 
entries instead of a single gitsm:// entry.

-- 
Denys

> * Add and enable packageconfig for pubsub.
> * Disable build optimizations to work around "strict-overflow" error
>   in unit tests.
> * Patch typing of size_t vars to fix armv7 builds.
> 
> Signed-off-by: Jacob Stiffler <[email protected]>
> ---
>  ...examples-client-allow-configurable-server.patch | 15 ++---
>  ...0001-tests-fix-typing-of-size_t-in-printf.patch | 64 
> ++++++++++++++++++++++
>  .../open62541/open62541_git.bb                     | 37 +++++++++----
>  3 files changed, 98 insertions(+), 18 deletions(-)
>  create mode 100644 
> meta-arago-extras/recipes-connectivity/open62541/open62541/0001-tests-fix-typing-of-size_t-in-printf.patch
> 
> 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 1cf89a9..97d241e 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
> @@ -1,6 +1,6 @@
> -From da2b9a741c3116a7774989f6338976c00a4c0496 Mon Sep 17 00:00:00 2001
> +From 69a658e534ff484faebe72fa7d1b6d484e49e7cd Mon Sep 17 00:00:00 2001
>  From: Jacob Stiffler <[email protected]>
> -Date: Wed, 28 Nov 2018 14:31:22 -0500
> +Date: Wed, 27 Feb 2019 11:08:32 -0500
>  Subject: [PATCH] examples: client: allow configurable server
>  
>  * Enable a remote server URL to be provided as an argument.
> @@ -14,10 +14,10 @@ Signed-off-by: Jacob Stiffler <[email protected]>
>   1 file changed, 8 insertions(+), 3 deletions(-)
>  
>  diff --git a/examples/client.c b/examples/client.c
> -index c3147b7..90ab1c7 100644
> +index f04bed9..dfc56f5 100644
>  --- a/examples/client.c
>  +++ b/examples/client.c
> -@@ -25,12 +25,17 @@ nodeIter(UA_NodeId childId, UA_Boolean isInverse, 
> UA_NodeId referenceTypeId, voi
> +@@ -29,13 +29,18 @@ nodeIter(UA_NodeId childId, UA_Boolean isInverse, 
> UA_NodeId referenceTypeId, voi
>   }
>   
>   int main(int argc, char *argv[]) {
> @@ -26,7 +26,8 @@ index c3147b7..90ab1c7 100644
>  +        ua_server = argv[1];
>  +    }
>  +
> -     UA_Client *client = UA_Client_new(UA_ClientConfig_default);
> +     UA_Client *client = UA_Client_new();
> +     UA_ClientConfig_setDefault(UA_Client_getConfig(client));
>   
>       /* Listing endpoints */
>       UA_EndpointDescription* endpointArray = NULL;
> @@ -36,7 +37,7 @@ index c3147b7..90ab1c7 100644
>                                                     &endpointArraySize, 
> &endpointArray);
>       if(retval != UA_STATUSCODE_GOOD) {
>           UA_Array_delete(endpointArray, endpointArraySize, 
> &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]);
> -@@ -46,8 +51,8 @@ int main(int argc, char *argv[]) {
> +@@ -51,8 +56,8 @@ int main(int argc, char *argv[]) {
>       UA_Array_delete(endpointArray,endpointArraySize, 
> &UA_TYPES[UA_TYPES_ENDPOINTDESCRIPTION]);
>   
>       /* Connect to a server */
> @@ -46,7 +47,7 @@ index c3147b7..90ab1c7 100644
>  +    retval = UA_Client_connect_username(client, ua_server, "user1", 
> "password");
>       if(retval != UA_STATUSCODE_GOOD) {
>           UA_Client_delete(client);
> -         return (int)retval;
> +         return EXIT_FAILURE;
>  -- 
>  2.7.4
>  
> diff --git 
> a/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-tests-fix-typing-of-size_t-in-printf.patch
>  
> b/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-tests-fix-typing-of-size_t-in-printf.patch
> new file mode 100644
> index 0000000..21f7a16
> --- /dev/null
> +++ 
> b/meta-arago-extras/recipes-connectivity/open62541/open62541/0001-tests-fix-typing-of-size_t-in-printf.patch
> @@ -0,0 +1,64 @@
> +From c04171fb423c16f1aa9ad31d6f95e95b54b6f26f Mon Sep 17 00:00:00 2001
> +From: Jacob Stiffler <[email protected]>
> +Date: Wed, 9 Jan 2019 08:31:27 -0500
> +Subject: [PATCH] tests: fix typing of size_t in printf
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Jacob Stiffler <[email protected]>
> +---
> + tests/check_timer.c                         | 2 +-
> + tests/server/check_server_historical_data.c | 8 ++++----
> + 2 files changed, 5 insertions(+), 5 deletions(-)
> +
> +diff --git a/tests/check_timer.c b/tests/check_timer.c
> +index 051f1bc..1021cf4 100644
> +--- a/tests/check_timer.c
> ++++ b/tests/check_timer.c
> +@@ -52,7 +52,7 @@ START_TEST(benchmarkTimer) {
> +     clock_t finish = clock();
> +     double time_spent = (double)(finish - begin) / CLOCKS_PER_SEC;
> +     printf("duration was %f s\n", time_spent);
> +-    printf("%lu callbacks\n", count);
> ++    printf("%lu callbacks\n", (long unsigned)count);
> + 
> +     UA_Timer_deleteMembers(&timer);
> + } END_TEST
> +diff --git a/tests/server/check_server_historical_data.c 
> b/tests/server/check_server_historical_data.c
> +index 8f16089..0dfcba0 100644
> +--- a/tests/server/check_server_historical_data.c
> ++++ b/tests/server/check_server_historical_data.c
> +@@ -325,7 +325,7 @@ testHistoricalDataBackend(size_t maxResponseSize)
> +     UA_UInt32 retval = 0;
> +     size_t i = 0;
> +     testTuple *current = &testRequests[i];
> +-    fprintf(stderr, "Testing with maxResponseSize of %lu\n", 
> maxResponseSize);
> ++    fprintf(stderr, "Testing with maxResponseSize of %lu\n", (long 
> unsigned)maxResponseSize);
> +     fprintf(stderr, "Start | End  | numValuesPerNode | returnBounds 
> |ContPoint| {Expected}{Result} Result\n");
> +     fprintf(stderr, 
> "------+------+------------------+--------------+---------+----------------\n");
> +     size_t j;
> +@@ -372,7 +372,7 @@ testHistoricalDataBackend(size_t maxResponseSize)
> +             ++counter;
> + 
> +             if(response.resultsSize != 1) {
> +-                fprintf(stderr, "ResultError:Size %lu %s", 
> response.resultsSize, 
> UA_StatusCode_name(response.responseHeader.serviceResult));
> ++                fprintf(stderr, "ResultError:Size %lu %s", (long 
> unsigned)response.resultsSize, 
> UA_StatusCode_name(response.responseHeader.serviceResult));
> +                 readOk = false;
> +                 UA_HistoryReadResponse_deleteMembers(&response);
> +                 break;
> +@@ -465,10 +465,10 @@ testHistoricalDataBackend(size_t maxResponseSize)
> +         }
> +         UA_ByteString_deleteMembers(&continuous);
> +         if (!readOk) {
> +-            fprintf(stderr, "} Fail (%lu requests)\n", counter);
> ++            fprintf(stderr, "} Fail (%lu requests)\n", (long 
> unsigned)counter);
> +             ++retval;
> +         } else {
> +-            fprintf(stderr, "} OK (%lu requests)\n", counter);
> ++            fprintf(stderr, "} OK (%lu requests)\n", (long 
> unsigned)counter);
> +         }
> +         current = &testRequests[++i];
> +     }
> +-- 
> +2.7.4
> +
> diff --git 
> a/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb 
> b/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb
> index 1166e26..9539d83 100644
> --- a/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb
> +++ b/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb
> @@ -4,13 +4,14 @@ LICENSE = "MPL-2.0"
>  
>  LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
>  
> -SRC_URI = 
> "git://github.com/open62541/open62541.git;protocol=https;branch=${BRANCH} \
> -           file://0001-examples-client-allow-configurable-server.patch"
> +SRC_URI = 
> "gitsm://github.com/open62541/open62541.git;protocol=https;branch=${BRANCH} \
> +           file://0001-examples-client-allow-configurable-server.patch \
> +           file://0001-tests-fix-typing-of-size_t-in-printf.patch"
>  
> -BRANCH = "0.3"
> -SRCREV = "9f46963240854d9a65d1784a3d2d8440c70157e8"
> +BRANCH = "master"
> +SRCREV = "7ea5a142bac44d5de7554938360e431d34fe2f59"
>  
> -PV = "0.3-rc4+git${SRCPV}"
> +PV = "0.4-dev+git${SRCPV}"
>  
>  inherit cmake python3native
>  
> @@ -20,17 +21,30 @@ S = "${WORKDIR}/git"
>  
>  EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DUA_BUILD_EXAMPLES=1 
> -DUA_BUILD_UNIT_TESTS=1"
>  
> +# Disable BUILD_OPTIMIZATION as unittests fail due to "strict-overflow"
> +DEBUG_BUILD = "1"
> +BUILD_OPTIMIZATION = ""
> +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Debug"
> +
> +# Or disable unittests
> +#EXTRA_OECMAKE += "-DUA_BUILD_UNIT_TESTS=0"
> +
>  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,,"
>  
> -# Current mbedtls is not sufficient.
> -PACKAGECONFIG ?= ""
> +PACKAGECONFIG[certificate] = 
> "-DUA_BUILD_SELFSIGNED_CERTIFICATE=1,-DUA_BUILD_SELFSIGNED_CERTIFICATE=0,,"
>  
> -do_install_append() {
> -    # header file is not installed by default
> -    install -d ${D}${includedir}
> -    install -m 644 ${B}/open62541.h ${D}${includedir}
> +PACKAGECONFIG ?= "pubsub pubsub_delta_frames pubsub_informationmodel \
> +                  pubsub_informationmodel_methods pubsub_uadp"
>  
> +# Install examples and unit tests
> +do_install_append() {
>      # Install examples
>      install -d "${D}${datadir}/${BPN}/examples"
>      for example in ${B}/bin/examples/*
> @@ -53,5 +67,6 @@ 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"
> -- 
> 2.7.4
> 
> _______________________________________________
> meta-arago mailing list
> [email protected]
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to