* Update SRCREVs to version 1.0.1. - drop 0001-tests-fix-typing-of-size_t-in-printf.patch as it has been resolved upstream. * Fix destsuffix of submodules. * Enable encryption and default self-signed certificate for testing. * Configure full, reduced, minimal namespace 0 via PACKAGECONFIG - Full namespace zero is required to utilize other standard information models, but causes greatly increased build times and potentially unstable builds. * Move unit tests to use PACKAGECONFIG. - Diable for now as the build is broken due to missing dependency libsubunit. - Make installation conditional on PACKAGECONFIG. * Move tools to dev package, and RDEPENDS on python3 as they contain python scripts. - This is a bit messy with recipes that depend on open62541, as they will be executing the tools from the target package, but this works as they are python scripts. However, dependent recipes will also need to depend on python3-native.
Signed-off-by: Jacob Stiffler <j-stiff...@ti.com> --- v2 changes: * move namespace zero config to PACKAGE CONFIG * slight change to commit message to reflect this change. .../open62541/open62541_git.bb | 65 +++++++++++++--------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb b/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb index 89c102c..c9452c2 100644 --- a/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb +++ b/meta-arago-extras/recipes-connectivity/open62541/open62541_git.bb @@ -5,36 +5,28 @@ 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=deps/ua-nodeset;name=ua-nodeset \ - git://github.com/Pro/mdnsd.git;protocol=https;branch=master;destsuffix=deps/mdnsd;name=mdnsd \ + 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-tests-fix-typing-of-size_t-in-printf.patch" +" -BRANCH = "master" -SRCREV = "7ea5a142bac44d5de7554938360e431d34fe2f59" +BRANCH = "1.0" +SRCREV = "e4309754fc2f6ea6508b59ca82e08c27b0118d74" -SRCREV_ua-nodeset = "5bbf784e9376f7230098149dc0218f318a48d630" -SRCREV_mdnsd = "9e953b8e4c54d50ba0e174f1e98cfca18f933126" +SRCREV_ua-nodeset = "0777abd1bc407b4dbd79abc515864f8c3ce6812b" +SRCREV_mdnsd = "f7f0dd543f12fa7bbf2b667cceb287b9c8184b7d" SRCREV_FORMAT = "default" -PV = "0.4-dev+git${SRCPV}" +PV = "1.0.1+git${SRCPV}" inherit cmake python3native -DEPENDS += "python3-six-native libcheck" +DEPENDS += "python3-six-native" 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" +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," @@ -44,11 +36,24 @@ PACKAGECONFIG[pubsub_delta_frames] = "-DUA_ENABLE_PUBSUB_DELTAFRAMES=1,-DUA_ENAB 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" + pubsub_informationmodel_methods pubsub_uadp encrypt \ + certificate" # Install examples and unit tests do_install_append() { @@ -59,19 +64,25 @@ do_install_append() { install -m 755 "$example" "${D}${datadir}/${BPN}/examples" done - # Install unittests - install -d "${D}${datadir}/${BPN}/tests" - for test in ${B}/bin/tests/* - do - install -m 755 "$test" "${D}${datadir}/${BPN}/tests" - 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/*" +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" -- 2.7.4 _______________________________________________ meta-arago mailing list meta-arago@arago-project.org http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago