diff --git a/net/ola/Makefile b/net/ola/Makefile index e058fe0ea..2c9528c5d 100644 --- a/net/ola/Makefile +++ b/net/ola/Makefile @@ -1,6 +1,6 @@ # # Copyright (C) 2006-2015 OpenWrt.org -# Copyright (C) 2015 Christian Beier +# Copyright (C) 2015-2017 Christian Beier # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,15 +9,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ola -PKG_VERSION:=0.10.1 -PKG_RELEASE:=2 +PKG_VERSION:=0.10.5 +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/OpenLightingProject/ola.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=5b86f5802e2e5b23c6a010dc8d10788e6dc57614 +PKG_SOURCE_VERSION:=32db3c49d435398d017c6b5c0b25e02a7a831f5c PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz -PKG_MIRROR_HASH:=626ebac2f68ea368c5886f12364d32d34fa59d1cd3b870bacedcca74f968e74c +PKG_MIRROR_HASH:=11ed6540bd667c1662d91de93a260a9a63a98725851f768647e2b9b2efe1ae34 PKG_LICENSE:=LGPL-2.1+ PKG_FIXUP:=libtool diff --git a/net/ola/patches/001-Eliminate-protobuf-AddDescriptors-call.patch b/net/ola/patches/001-Eliminate-protobuf-AddDescriptors-call.patch new file mode 100644 index 000000000..a7ac379f9 --- /dev/null +++ b/net/ola/patches/001-Eliminate-protobuf-AddDescriptors-call.patch @@ -0,0 +1,91 @@ +From d7f13fdc516ffa36b16b89e7f398a8a36b4188d9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christoph=20M=C3=BCllner?= +Date: Sat, 2 Dec 2017 00:08:55 +0100 +Subject: [PATCH 1/6] Eliminate protobuf AddDescriptors() call. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Eliminating protobuf's AddDescriptors() calls enabled +forward-compatibility with libprotobuf. That allows to +run OLA on recent Linux distrubutions. + +Tested on x86_64 running Fedora 27 with protobuf 3.3.1 +in combination with QLC+ and a uDMX controller. + +See #1192. + +Signed-off-by: Christoph Müllner +--- + config/ola.m4 | 3 --- + protoc/CppFileGenerator.cpp | 8 -------- + protoc/GeneratorHelpers.cpp | 5 ----- + protoc/GeneratorHelpers.h | 3 --- + 4 files changed, 19 deletions(-) + +diff --git a/config/ola.m4 b/config/ola.m4 +index 6080932e9..d3b8cc8f8 100644 +--- a/config/ola.m4 ++++ b/config/ola.m4 +@@ -24,9 +24,6 @@ AC_DEFUN([PROTOBUF_SUPPORT], + AC_REQUIRE_CPP() + PKG_CHECK_MODULES(libprotobuf, [protobuf >= $1]) + +-PKG_CHECK_MODULES(libprotobuf2, [protobuf < 3.2], [], +- [AC_MSG_ERROR([OLA currently requires protobuf < 3.2, see issue 1192])]) +- + AC_SUBST([libprotobuf_CFLAGS]) + + AC_ARG_WITH([protoc], +diff --git a/protoc/CppFileGenerator.cpp b/protoc/CppFileGenerator.cpp +index 518c17879..e7dd95ccb 100644 +--- a/protoc/CppFileGenerator.cpp ++++ b/protoc/CppFileGenerator.cpp +@@ -196,14 +196,6 @@ void FileGenerator::GenerateBuildDescriptors(Printer* printer) { + "assigndescriptorsname", GlobalAssignDescriptorsName(m_output_name)); + printer->Indent(); + +- // Make sure the file has found its way into the pool. If a descriptor +- // is requested *during* static init then AddDescriptors() may not have +- // been called yet, so we call it manually. Note that it's fine if +- // AddDescriptors() is called multiple times. +- printer->Print( +- "$adddescriptorsname$();\n", +- "adddescriptorsname", GlobalAddDescriptorsName(m_file->name())); +- + // Get the file's descriptor from the pool. + printer->Print( + "const ::google::protobuf::FileDescriptor* file =\n" +diff --git a/protoc/GeneratorHelpers.cpp b/protoc/GeneratorHelpers.cpp +index 19609181e..6f619b5c0 100644 +--- a/protoc/GeneratorHelpers.cpp ++++ b/protoc/GeneratorHelpers.cpp +@@ -104,11 +104,6 @@ string FilenameIdentifier(const string& filename) { + return result; + } + +-// Return the name of the AddDescriptors() function for a given file. +-string GlobalAddDescriptorsName(const string& filename) { +- return "protobuf_AddDesc_" + FilenameIdentifier(filename); +-} +- + // Return the name of the AssignDescriptors() function for a given file. + string GlobalAssignDescriptorsName(const string& filename) { + return "protobuf_AssignDesc_" + FilenameIdentifier(filename); +diff --git a/protoc/GeneratorHelpers.h b/protoc/GeneratorHelpers.h +index 35efdbb04..fa91a915d 100644 +--- a/protoc/GeneratorHelpers.h ++++ b/protoc/GeneratorHelpers.h +@@ -67,9 +67,6 @@ string StripProto(const string& filename); + // Convert a file name into a valid identifier. + string FilenameIdentifier(const string& filename); + +-// Return the name of the AddDescriptors() function for a given file. +-string GlobalAddDescriptorsName(const string& filename); +- + // Return the name of the AssignDescriptors() function for a given file. + string GlobalAssignDescriptorsName(const string& filename); + +-- +2.11.0 + diff --git a/net/ola/patches/001-include-endian_h.patch b/net/ola/patches/001-include-endian_h.patch deleted file mode 100644 index 784f10cf4..000000000 --- a/net/ola/patches/001-include-endian_h.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/common/network/NetworkUtils.cpp b/common/network/NetworkUtils.cpp -index 3914818..094a311 100644 ---- a/common/network/NetworkUtils.cpp -+++ b/common/network/NetworkUtils.cpp -@@ -39,6 +39,10 @@ typedef uint32_t in_addr_t; - #include - #endif - -+#ifdef HAVE_ENDIAN_H -+#include -+#endif -+ - #if defined(HAVE_LINUX_NETLINK_H) && defined(HAVE_LINUX_RTNETLINK_H) - #define USE_NETLINK_FOR_DEFAULT_ROUTE 1 - #include diff --git a/net/ola/patches/003-Make-DNS-SD-functionality-optional-at-build-time.patch b/net/ola/patches/003-Make-DNS-SD-functionality-optional-at-build-time.patch deleted file mode 100644 index 84878a144..000000000 --- a/net/ola/patches/003-Make-DNS-SD-functionality-optional-at-build-time.patch +++ /dev/null @@ -1,61 +0,0 @@ -From a88d6d31fc5a04be4378095e03b4aac133954026 Mon Sep 17 00:00:00 2001 -From: Christian Beier -Date: Tue, 15 Mar 2016 15:09:25 +0100 -Subject: [PATCH] Make DNS-SD functionality optional at build time. - -When building for embedded systems, for instance, we -want to limit dependencies to a minimum and it seems -that OLA is able to perform its core tasks without -DNS-SD perfectly fine. - -Signed-off-by: Christian Beier ---- - configure.ac | 27 +++++++++++++++------------ - 1 file changed, 15 insertions(+), 12 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 6654354..0d1947c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -411,23 +411,26 @@ AS_IF([test "x$use_ossp_uuid" = xyes], - - # DNS-SD support - # We use either avahi or the Apple DNS-SD library. -- --# dns_sd --AC_CHECK_HEADER( -- [dns_sd.h], -- [AC_SEARCH_LIBS(DNSServiceRegister, [dns_sd], [have_dnssd="yes"])]) -+AC_ARG_WITH(dns-sd, -+[AS_HELP_STRING([--without-dns-sd], [disable DNS-SD support])],,) -+if test "x$with_dns_sd" != "xno"; then -+ # dns_sd -+ AC_CHECK_HEADER( -+ [dns_sd.h], -+ [AC_SEARCH_LIBS(DNSServiceRegister, [dns_sd], [have_dnssd="yes"])]) -+ -+ # avahi -+ PKG_CHECK_MODULES( -+ avahi, -+ [avahi-client], -+ [have_avahi="yes"], -+ [true]) -+fi - - AS_IF([test "x$have_dnssd" = xyes], - [AC_DEFINE([HAVE_DNSSD], [1], [Defined to use Bonjour DNS_SD])]) - AM_CONDITIONAL([HAVE_DNSSD], [test "x$have_dnssd" = xyes]) - --# avahi --PKG_CHECK_MODULES( -- avahi, -- [avahi-client], -- [have_avahi="yes"], -- [true]) -- - AS_IF([test "x$have_avahi" = xyes], - [AC_DEFINE([HAVE_AVAHI], [1], [Defined to use Avahi])]) - AM_CONDITIONAL([HAVE_AVAHI], [test "x$have_avahi" = xyes]) --- -2.1.4 -