From 6441e8e68d695b0407d3a68ec5804c26d80df693 Mon Sep 17 00:00:00 2001 From: Ariel Molina Date: Wed, 25 Apr 2018 14:18:03 -0500 Subject: [PATCH 1/3] Yocto recipe for building ola on any embedded device supported. Tested with rocko. --- yocto/recipes-conectivity/ola/ola_git.bb | 73 ++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 yocto/recipes-conectivity/ola/ola_git.bb diff --git a/yocto/recipes-conectivity/ola/ola_git.bb b/yocto/recipes-conectivity/ola/ola_git.bb new file mode 100644 index 0000000000..dd2a727afd --- /dev/null +++ b/yocto/recipes-conectivity/ola/ola_git.bb @@ -0,0 +1,73 @@ +SUMMARY = "Open Lighting Architecture - OLA" +DESCRIPTION = "The Open Lighting Architecture (OLA) is part of the Open Lighting Project and provides applications with a mechanism to send and receive DMX512 & RDM commands using hardware devices and DMX over IP protocols. This enables software lighting controllers to communicate with hardware either via Ethernet or traditional DMX512 networks. \ +OLA can also convert DMX512 data sent using DMX over IP protocols from one format to another, allowing devices from different manufacturers to interact with one another. For example a Strand Lighting Console using ShowNet can send DMX512 to an Enttec EtherGate. When combined with a physical DMX interface such as the DMX USB Pro, OLA can send and receive data from wired DMX512 networks." + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENCE;md5=7aa5f01584d845ad733abfa9f5cad2a1" + +#DEPENDS_class-nativesdk = "bison libusb1 protobuf protobuf-native pkgconfig-native ossp-uuid ola-native " +DEPENDS_class-target = "bison libmicrohttpd avahi libusb1 libftdi cppunit protobuf protobuf-native ola-native" +DEPENDS_class-native = "protobuf bison-native flex-native pkgconfig-native ossp-uuid-native" + +PV = "0.10.6" + +# Esta revision de git tiene un parche para protobuf, la tag de 0.10.6 no compila. +SRCREV = "00dc86a48ec4c528cec90166435b440f283a9c86" +SRC_URI = "git://github.com/OpenLightingProject/ola.git;protocol=https" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/git" + +inherit autotools-brokensep relative_symlinks +# autotools-brokensep +# forces in-source bulding (ola has bugs for out-of-tree builds). +# See: https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#migration-1.7-autotools-class-changes +# +# relative_symlinks +# Absolute symbolic links (symlinks) within staged files are no longer permitted and now trigger an error. +# inherit relative_symlinks within the recipe to turn those absolute symlinks into relative +# https://www.yoctoproject.org/docs/2.4/ref-manual/ref-manual.html#migration-2.3-absolute-symlinks + +#EXTRA_OECONF = " --disable-unittests --disable-rdm-tests --disable-python-libs --disable-java-libs --disable-all-plugins" +EXTRA_OECONF = " --disable-unittests --disable-rdm-tests --disable-java-libs " + +# nativesdk is for the toolchain, only libola and ola_common are required, all plugins are dynamic +EXTRA_OECONF_append_class-nativesdk = " --with-ola-protoc-plugin=${STAGING_BINDIR_NATIVE}/ola_protoc_plugin \ + --disable-all-plugins --disable-e133 --disable-python-libs --disable-examples --disable-http" + + +# native is for the strange ola_protoc_plugin required at build time +EXTRA_OECONF_append_class-native = " --disable-all-plugins --disable-e133 --disable-python-libs --disable-examples --disable-http" + +# target are the real config options +EXTRA_OECONF_append_class-target = " --with-ola-protoc-plugin=${STAGING_BINDIR_NATIVE}/ola_protoc_plugin --disable-python-libs\ + --enable-http --enable-dummy --enable-gpio --enable-opendmx --enable-e131 \ + --enable-opendmx --enable-usbdmx --enable-usbpro --enable-spi --enable-spidmx \ + --enable-artnet --enable-openpixelcontrol --enable-renard --enable-kinet \ + --enable-nanoleaf --enable-karate --enable-espnet --enable-milinst --enable-pathport \ + --enable-sandnet --enable-shownet --enable-stageprofi \ + --enable-e133 \ + --enable-examples " + +# -fvisibility-inlines-hidden breaks stuff +CXXFLAGS = "${CFLAGS}" + +# The code is not Werror safe +do_configure_prepend() { + sed -i -e 's:-Werror::g' ${S}/configure.ac + sed -i -e 's:-Werror::g' ${S}/Makefile.am +} + +do_install_append_class-native() { + install -d ${D}${bindir} + install -m 0755 ${B}/protoc/ola_protoc_plugin ${D}${bindir} +} + +FILES_${PN}-dbg += "${libdir}/*/.debug" +FILES_${PN} += "${datadir}/olad ${libdir}/olad/*.so.*" +FILES_${PN}-staticdev += "${libdir}/olad/*.a" +FILES_${PN}-dev += "${libdir}/olad/*.la ${libdir}/olad/*.so" + +RDEPENDS_${PN}-dev = "" + +BBCLASSEXTEND = "native nativesdk" \ No newline at end of file From af62631d074babae6be30b9cedcb96ff0b32ea4d Mon Sep 17 00:00:00 2001 From: Ariel Molina Date: Wed, 25 Apr 2018 15:42:29 -0500 Subject: [PATCH 2/3] Fix typo --- yocto/recipes-conectivity/ola/ola_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yocto/recipes-conectivity/ola/ola_git.bb b/yocto/recipes-conectivity/ola/ola_git.bb index dd2a727afd..dbb25ade1d 100644 --- a/yocto/recipes-conectivity/ola/ola_git.bb +++ b/yocto/recipes-conectivity/ola/ola_git.bb @@ -20,7 +20,7 @@ B = "${WORKDIR}/git" inherit autotools-brokensep relative_symlinks # autotools-brokensep -# forces in-source bulding (ola has bugs for out-of-tree builds). +# forces in-source building (ola has bugs for out-of-tree builds). # See: https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#migration-1.7-autotools-class-changes # # relative_symlinks From f42252c481bb870341a78a6ee730ed674ac46103 Mon Sep 17 00:00:00 2001 From: Ariel Molina Date: Wed, 25 Apr 2018 17:22:54 -0500 Subject: [PATCH 3/3] Correct lang for comment --- yocto/recipes-conectivity/ola/ola_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yocto/recipes-conectivity/ola/ola_git.bb b/yocto/recipes-conectivity/ola/ola_git.bb index dbb25ade1d..36f8e88d63 100644 --- a/yocto/recipes-conectivity/ola/ola_git.bb +++ b/yocto/recipes-conectivity/ola/ola_git.bb @@ -11,7 +11,7 @@ DEPENDS_class-native = "protobuf bison-native flex-native pkgconfig-native os PV = "0.10.6" -# Esta revision de git tiene un parche para protobuf, la tag de 0.10.6 no compila. +# 0.10.6 tag won't build, this rev has protobuf patches SRCREV = "00dc86a48ec4c528cec90166435b440f283a9c86" SRC_URI = "git://github.com/OpenLightingProject/ola.git;protocol=https"