From 65a6e2fb85dd6d3f7ec72e6c3877f9f4e88d2f4b Mon Sep 17 00:00:00 2001 From: Jan Vermaete Date: Sun, 14 Jan 2024 12:12:14 +0100 Subject: [PATCH 1/2] opendds: so library files fixes * renamed 'FILES:SOLIBSDEV' to 'FILES_SOLIBSDEV'. The ':' variant doesn't exist in Yocto Fixed a oelint-adv issue * SOLIBS = ".so*" This will add all the versions of the so libraries into the 'opendds' package. What's not the default in Linux/Yocto. The '*.so' file should be in the opendds-dev package. But without the ishapes demo isn't working. * Removed some code in the 'do_configure' This was making the '.so.MAJOR' and 'so.MAJOR.MINOR' versions of the libraries. Those are also not part when installing with 'configure, make, make --install' e.g.: /usr/lib/libTAO.so.3.1 was removed /usr/lib/libTAO.so.3 was removed The buildhistory-diff: packages/cortexa72-poky-linux/opendds/opendds-dev: FILELIST: removed "/usr/lib/libOpenDDS_Udp.so /usr/lib/libTAO_Valuetype.so /usr/lib/libOpenDDS_Dcps.so /usr/lib/libTAO_ImR_Client.so /usr/lib/libTAO_PI.so /usr/lib/libACE_XML_Utils.so /usr/lib/libTAO_IORManip.so /usr/lib/libTAO_CSD_Framework.so /usr/lib/libTAO_BiDirGIOP.so /usr/lib/libTAO_IORTable.so /usr/lib/libOpenDDS_InfoRepoLib.so /usr/lib/libTAO_AnyTypeCode.so /usr/lib/libOpenDDS_Model.so /usr/lib/libTAO_PortableServer.so /usr/lib/libOpenDDS_Multicast.so /usr/lib/libOpenDDS_monitor.so /usr/lib/libOpenDDS_FACE.so /usr/lib/libTAO.so /usr/lib/libOpenDDS_QOS_XML_XSC_Handler.so /usr/lib/libTAO_Svc_Utils.so /usr/lib/libOpenDDS_Shmem.so /usr/lib/libTAO_DynamicInterface.so /usr/lib/libTAO_CSD_ThreadPool.so /usr/lib/libTAO_IDL_FE.so /usr/lib/libOpenDDS_Tcp.so /usr/lib/libTAO_Async_IORTable.so /usr/lib/libTAO_Codeset.so /usr/lib/libOpenDDS_InfoRepoDiscovery.so /usr/lib/libTAO_CodecFactory.so /usr/lib/libOpenDDS_InfoRepoServ.so /usr/lib/libOpenDDS_Security.so /usr/lib/libTAO_Messaging.so /usr/lib/libOpenDDS_Rtps_Udp.so /usr/lib/libOpenDDS_Rtps.so /usr/lib/libACE.so /usr/lib/libOpenDDS_Federator.so" packages/cortexa72-poky-linux/opendds/opendds-dev: RDEPENDS: removed "opendds" packages/cortexa72-poky-linux/opendds/opendds: FILELIST: removed " /usr/lib/libTAO_IDL_FE.so.3.1 /usr/lib/libTAO_IORManip.so.3.1 /usr/lib/libOpenDDS_InfoRepoLib.so.3 /usr/lib/libOpenDDS_Rtps.so.3 /usr/lib/libTAO_CodecFactory.so.3.1 /usr/lib/libTAO_DynamicInterface.so.3.1 /usr/lib/libOpenDDS_Multicast.so.3 /usr/lib/libTAO_PI.so.3.1 /usr/lib/libTAO_Messaging.so.3 /usr/lib/libTAO_IDL_FE.so.3 /usr/lib/libOpenDDS_Federator.so.3.26 /usr/lib/libTAO_Async_IORTable.so.3 /usr/lib/libTAO_IORTable.so.3.1 /usr/lib/libOpenDDS_Shmem.so.3 /usr/lib/libOpenDDS_Multicast.so.3.26 /usr/lib/libOpenDDS_Dcps.so.3 /usr/lib/libACE.so.7 /usr/lib/libTAO_PI.so.3 /usr/lib/libOpenDDS_Udp.so.3 /usr/lib/libOpenDDS_Model.so.3.26 /usr/lib/libTAO_Codeset.so.3.1 /usr/lib/libTAO_CSD_Framework.so.3.1 /usr/lib/libACE_XML_Utils.so.7.1 /usr/lib/libOpenDDS_Rtps_Udp.so.3.26 /usr/lib/libOpenDDS_Rtps.so.3.26 /usr/lib/libTAO_CSD_ThreadPool.so.3 /usr/lib/libTAO_CSD_ThreadPool.so.3.1 /usr/lib/libOpenDDS_monitor.so.3.26 /usr/lib/libOpenDDS_InfoRepoDiscovery.so.3.26 /usr/lib/libTAO_Valuetype.so.3.1 /usr/lib/libTAO_CSD_Framework.so.3 /usr/lib/libOpenDDS_FACE.so.3 /usr/lib/libOpenDDS_QOS_XML_XSC_Handler.so.3 /usr/lib/libTAO_BiDirGIOP.so.3.1 /usr/lib/libOpenDDS_InfoRepoServ.so.3.26 /usr/lib/libACE_XML_Utils.so.7 /usr/lib/libTAO_Svc_Utils.so.3.1 /usr/lib/libOpenDDS_InfoRepoServ.so.3 /usr/lib/libOpenDDS_Udp.so.3.26 /usr/lib/libTAO_BiDirGIOP.so.3 /usr/lib/libOpenDDS_FACE.so.3.26 /usr/lib/libOpenDDS_Model.so.3 /usr/lib/libTAO_PortableServer.so.3 /usr/lib/libTAO.so.3 /usr/lib/libOpenDDS_Dcps.so.3.26 /usr/lib/libOpenDDS_monitor.so.3 /usr/lib/libOpenDDS_Rtps_Udp.so.3 /usr/lib/libTAO_Codeset.so.3 /usr/lib/libTAO_AnyTypeCode.so.3.1 /usr/lib/libOpenDDS_Security.so.3 /usr/lib/libTAO_Async_IORTable.so.3.1 /usr/lib/libOpenDDS_Federator.so.3 /usr/lib/libTAO_ImR_Client.so.3 /usr/lib/libOpenDDS_Tcp.so.3 /usr/lib/libTAO.so.3.1 /usr/lib/libOpenDDS_InfoRepoDiscovery.so.3 /usr/lib/libOpenDDS_Tcp.so.3.26 /usr/lib/libACE.so.7.1 /usr/lib/libTAO_Messaging.so.3.1 /usr/lib/libTAO_DynamicInterface.so.3 /usr/lib/libOpenDDS_InfoRepoLib.so.3.26 /usr/lib/libTAO_IORTable.so.3 /usr/lib/libTAO_CodecFactory.so.3 /usr/lib/libTAO_Svc_Utils.so.3 /usr/lib/libOpenDDS_QOS_XML_XSC_Handler.so.3.26 /usr/lib/libTAO_ImR_Client.so.3.1 /usr/lib/libTAO_PortableServer.so.3.1 /usr/lib/libTAO_IORManip.so.3 /usr/lib/libTAO_Valuetype.so.3 /usr/lib/libOpenDDS_Shmem.so.3.26 /usr/lib/libTAO_AnyTypeCode.so.3 /usr/lib/libOpenDDS_Security.so.3.26", added " /usr/lib/libOpenDDS_Udp.so /usr/lib/libTAO_Valuetype.so /usr/lib/libOpenDDS_Dcps.so /usr/lib/libTAO_ImR_Client.so /usr/lib/libTAO_PI.so /usr/lib/libACE_XML_Utils.so /usr/lib/libTAO_IORManip.so /usr/lib/libTAO_CSD_Framework.so /usr/lib/libTAO_BiDirGIOP.so /usr/lib/libTAO_IORTable.so /usr/lib/libOpenDDS_InfoRepoLib.so /usr/lib/libTAO_AnyTypeCode.so /usr/lib/libOpenDDS_Model.so /usr/lib/libTAO_PortableServer.so /usr/lib/libOpenDDS_Multicast.so /usr/lib/libOpenDDS_monitor.so /usr/lib/libOpenDDS_FACE.so /usr/lib/libTAO.so /usr/lib/libOpenDDS_QOS_XML_XSC_Handler.so /usr/lib/libTAO_Svc_Utils.so /usr/lib/libOpenDDS_Shmem.so /usr/lib/libTAO_CSD_ThreadPool.so /usr/lib/libTAO_DynamicInterface.so /usr/lib/libTAO_IDL_FE.so /usr/lib/libOpenDDS_Tcp.so /usr/lib/libTAO_Async_IORTable.so /usr/lib/libTAO_Codeset.so /usr/lib/libOpenDDS_InfoRepoDiscovery.so /usr/lib/libTAO_CodecFactory.so /usr/lib/libOpenDDS_InfoRepoServ.so /usr/lib/libOpenDDS_Security.so /usr/lib/libTAO_Messaging.so /usr/lib/libOpenDDS_Rtps_Udp.so /usr/lib/libOpenDDS_Rtps.so /usr/lib/libACE.so /usr/lib/libOpenDDS_Federator.so" Signed-off-by: Jan Vermaete --- recipes-connectivity/opendds/opendds.inc | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/recipes-connectivity/opendds/opendds.inc b/recipes-connectivity/opendds/opendds.inc index 98d9b01..d485750 100644 --- a/recipes-connectivity/opendds/opendds.inc +++ b/recipes-connectivity/opendds/opendds.inc @@ -78,6 +78,9 @@ OECONF:append:class-nativesdk = "\ --host-tools-only \ " +SOLIBS = ".so*" +FILES_SOLIBSDEV = "" + do_configure() { ./configure ${OECONF} } @@ -92,19 +95,6 @@ do_install:append:class-target() { install -d ${D}${datadir}/dds/dds/idl cp ${S}/dds/idl/IDLTemplate.txt ${D}${datadir}/dds/dds/idl - for shared_lib in ${D}${libdir}/*.so.*; do - if [ -f $shared_lib ]; then - baselib=$(basename $shared_lib) - shortlib=$(echo $baselib | sed 's/.so.*//') - extn=$(echo $baselib | sed -n 's/^[^.]*\.so//p') - extn=$(echo $extn | sed 's/[^. 0-9]*//g') - while [ -n "$extn" ]; do - extn=$(echo $extn | sed 's/\.[^.]*$//') - ln -sf $baselib ${D}${libdir}/$shortlib.so$extn - done - fi - done - # Copy OpenDDS source tree folders to sysroot-destdir/usr/share/DDS_ROOT # to support building OpenDDS apps in their own layers . ${S}/setenv.sh @@ -147,9 +137,8 @@ do_install:append:class-nativesdk() { } INSANE_SKIP:${PN} += "dev-so" +INSANE_SKIP:${PN}-dev += "libdir" -FILES:SOLIBSDEV = "" -FILES:${PN} += "${libdir}/*.so" FILES:${PN}-dev += "${datadir}" BBCLASSEXTEND = "native nativesdk" From 85af4e4c5e6f5d122b44d8ea05ae8c9c7b01544f Mon Sep 17 00:00:00 2001 From: Jan Vermaete Date: Sun, 14 Jan 2024 20:19:11 +0100 Subject: [PATCH 2/2] opendds: adding the ishapes PACKAGECONFIG By default: disabled Testen on Rpi4 Signed-off-by: Jan Vermaete --- recipes-connectivity/opendds/opendds.inc | 14 +++++++++ .../0001-adding-the-ishapes-demo.patch | 29 +++++++++++++++++++ .../opendds/opendds_3.26.1.bb | 1 + 3 files changed, 44 insertions(+) create mode 100644 recipes-connectivity/opendds/opendds/0001-adding-the-ishapes-demo.patch diff --git a/recipes-connectivity/opendds/opendds.inc b/recipes-connectivity/opendds/opendds.inc index d485750..81a02fa 100644 --- a/recipes-connectivity/opendds/opendds.inc +++ b/recipes-connectivity/opendds/opendds.inc @@ -7,6 +7,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=11ee76f6fb51f69658b5bb8327c50b11" inherit autotools +PACKAGECONFIG ??= "" +PACKAGECONFIG[ishapes] = "--qt=${STAGING_DIR_NATIVE}${prefix_native} --qt-include=${STAGING_INCDIR},,qtbase qtbase-native" + DEPENDS += "\ cmake-native \ opendds-native \ @@ -64,6 +67,7 @@ OECONF:append:class-target = "\ --host-tools=${STAGING_BINDIR_NATIVE}/DDS_HOST_ROOT \ --target=linux-cross \ --target-compiler=${S}/${HOST_PREFIX}g++ \ + ${PACKAGECONFIG_CONFARGS} \ " OECONF:append:class-native = "\ --target=linux \ @@ -113,6 +117,11 @@ do_install:append:class-target() { cp -r ${DDS_ROOT}/ACE_wrappers/TAO ${D}${datadir}/DDS_ROOT/ACE_wrappers cp -r ${DDS_ROOT}/ACE_wrappers/lib ${D}${datadir}/DDS_ROOT/ACE_wrappers cp ${DDS_ROOT}/ACE_wrappers/*.txt ${D}${datadir}/DDS_ROOT/ACE_wrappers + + if [ "${@bb.utils.contains("PACKAGECONFIG", "ishapes", "1", "0", d)}" = "1" ]; then + install -d ${D}${bindir} + install -m 0755 ${S}/examples/DCPS/ishapes/ishapes ${D}${bindir}/ + fi } do_install:append:class-native() { @@ -136,9 +145,14 @@ do_install:append:class-nativesdk() { ln -sf ${bindir}/tao_idl ${D}${datadir}/ace/bin/tao_idl } +PACKAGES += "${PN}-ishapes" + INSANE_SKIP:${PN} += "dev-so" INSANE_SKIP:${PN}-dev += "libdir" FILES:${PN}-dev += "${datadir}" +FILES:${PN}-ishapes += "${bindir}/ishapes" + +ALLOW_EMPTY:${PN}-ishapes = "1" BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-connectivity/opendds/opendds/0001-adding-the-ishapes-demo.patch b/recipes-connectivity/opendds/opendds/0001-adding-the-ishapes-demo.patch new file mode 100644 index 0000000..db2ecee --- /dev/null +++ b/recipes-connectivity/opendds/opendds/0001-adding-the-ishapes-demo.patch @@ -0,0 +1,29 @@ +From 7e415ebcf99f7f8a775fee4155063be58031d200 Mon Sep 17 00:00:00 2001 +From: Jan Vermaete +Date: Thu, 28 Dec 2023 15:18:07 +0100 +Subject: [PATCH 1/1] adding the ishapes demo + +Without having to use the --tests during configuration. +This would include all tests. And depends on gtests, what +not part of common openembedded/Yocto layers. + +Signed-off-by: Jan Vermaete +--- + DDS_TAOv2.mwc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/DDS_TAOv2.mwc b/DDS_TAOv2.mwc +index 384e2620a..4f154deb2 100644 +--- a/DDS_TAOv2.mwc ++++ b/DDS_TAOv2.mwc +@@ -6,6 +6,7 @@ workspace { + tools + java + DevGuideExamples ++ examples/DCPS/ishapes + + exclude { + java/jms +-- +2.39.2 + diff --git a/recipes-connectivity/opendds/opendds_3.26.1.bb b/recipes-connectivity/opendds/opendds_3.26.1.bb index 0318ab3..0e9efc5 100644 --- a/recipes-connectivity/opendds/opendds_3.26.1.bb +++ b/recipes-connectivity/opendds/opendds_3.26.1.bb @@ -4,6 +4,7 @@ SRCREV = "3d7f89e8243fbf382ce6374f900489e76894d4f9" DDS_SRC_BRANCH = "branch-DDS-3.26" SRC_URI = "\ git://github.com/OpenDDS/OpenDDS.git;protocol=https;branch=${DDS_SRC_BRANCH};name=opendds \ + ${@bb.utils.contains('PACKAGECONFIG', 'ishapes', 'file://0001-adding-the-ishapes-demo.patch', '', d)} \ file://0002-fixing-DoAll-testing-DoAll.patch \ "