mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-04-02 02:49:12 +00:00
mosquitto: apply upstream proposed patches to use cmake build system,
simplifying a lot the build and install process. Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com> Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
c063eb6472
commit
318627819b
@ -0,0 +1,67 @@
|
||||
Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1568]
|
||||
From 50bfc79cae5764a6e513b684a5eb5bef2b35c856 Mon Sep 17 00:00:00 2001
|
||||
From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
Date: Wed, 22 Jan 2020 12:30:25 +0100
|
||||
Subject: [PATCH] Bugfix: include "deps" directory only if BUNDLED_DEPS has
|
||||
been provided and set to true
|
||||
|
||||
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
---
|
||||
config.mk | 5 ++++-
|
||||
lib/CMakeLists.txt | 5 ++++-
|
||||
test/unit/Makefile | 6 +++++-
|
||||
3 files changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/config.mk b/config.mk
|
||||
index 51e36e0d0..0ac24b3d4 100644
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -135,7 +135,10 @@ endif
|
||||
|
||||
STATIC_LIB_DEPS:=
|
||||
|
||||
-LIB_CPPFLAGS=$(CPPFLAGS) -I. -I.. -I../lib -I../src/deps
|
||||
+LIB_CPPFLAGS=$(CPPFLAGS) -I. -I.. -I../lib
|
||||
+ifeq ($(WITH_BUNDLED_DEPS),yes)
|
||||
+ LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -I../src/deps
|
||||
+endif
|
||||
LIB_CFLAGS:=$(CFLAGS)
|
||||
LIB_CXXFLAGS:=$(CXXFLAGS)
|
||||
LIB_LDFLAGS:=$(LDFLAGS)
|
||||
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
|
||||
index e1521f12a..891046a81 100644
|
||||
--- a/lib/CMakeLists.txt
|
||||
+++ b/lib/CMakeLists.txt
|
||||
@@ -1,11 +1,14 @@
|
||||
add_subdirectory(cpp)
|
||||
|
||||
include_directories(${mosquitto_SOURCE_DIR} ${mosquitto_SOURCE_DIR}/lib
|
||||
- ${mosquitto_SOURCE_DIR}/src/deps
|
||||
${STDBOOL_H_PATH} ${STDINT_H_PATH}
|
||||
${OPENSSL_INCLUDE_DIR} ${PTHREAD_INCLUDE_DIR})
|
||||
link_directories(${mosquitto_SOURCE_DIR}/lib)
|
||||
|
||||
+if (WITH_BUNDLED_DEPS)
|
||||
+ include_directories(${mosquitto_SOURCE_DIR} ${mosquitto_SOURCE_DIR}/src/deps)
|
||||
+endif (WITH_BUNDLED_DEPS)
|
||||
+
|
||||
set(C_SRC
|
||||
actions.c
|
||||
callbacks.c
|
||||
diff --git a/test/unit/Makefile b/test/unit/Makefile
|
||||
index 9d422428d..928579492 100644
|
||||
--- a/test/unit/Makefile
|
||||
+++ b/test/unit/Makefile
|
||||
@@ -2,7 +2,11 @@ include ../../config.mk
|
||||
|
||||
.PHONY: all check test test-broker test-lib clean coverage
|
||||
|
||||
-CPPFLAGS:=$(CPPFLAGS) -I../.. -I../../lib -I../../src -I../../src/deps
|
||||
+CPPFLAGS:=$(CPPFLAGS) -I../.. -I../../lib -I../../src
|
||||
+ifeq ($(WITH_BUNDLED_DEPS),yes)
|
||||
+ CPPFLAGS:=$(CPPFLAGS) -I../../src/deps
|
||||
+endif
|
||||
+
|
||||
CFLAGS:=$(CFLAGS) -coverage -Wall -ggdb
|
||||
LDFLAGS:=$(LDFLAGS) -coverage
|
||||
LDADD:=$(LDADD) -lcunit
|
||||
@ -0,0 +1,25 @@
|
||||
Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1569]
|
||||
From fda932612afce2cead2fd2ca1c8ea543b2892177 Mon Sep 17 00:00:00 2001
|
||||
From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
Date: Wed, 22 Jan 2020 12:31:01 +0100
|
||||
Subject: [PATCH] Bugfix: enabling DLT was overriding everything else on linker
|
||||
flags because of error in cmake set keyword
|
||||
|
||||
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
---
|
||||
src/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 7898ff5b1..6dfbba5e6 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -130,7 +130,7 @@ add_definitions (-DWITH_BROKER)
|
||||
if (WITH_DLT)
|
||||
message(STATUS "DLT_LIBDIR = ${DLT_LIBDIR}")
|
||||
link_directories(${DLT_LIBDIR})
|
||||
- set (MOSQ_LIBS ${DLT_LIBRARIES})
|
||||
+ set (MOSQ_LIBS ${MOSQ_LIBS} ${DLT_LIBRARIES})
|
||||
endif (WITH_DLT)
|
||||
|
||||
set (MOSQ_LIBS ${MOSQ_LIBS} ${OPENSSL_LIBRARIES})
|
||||
@ -0,0 +1,39 @@
|
||||
Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1570]
|
||||
From 775677b05190380c3736bf0dbef002ee7b9bff33 Mon Sep 17 00:00:00 2001
|
||||
From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
Date: Wed, 22 Jan 2020 12:29:41 +0100
|
||||
Subject: [PATCH] cmake: add ADNS enable/disable dynamic support
|
||||
|
||||
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
---
|
||||
src/CMakeLists.txt | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 7898ff5b1..edae76f32 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -105,6 +105,9 @@ if (WITH_SYS_TREE)
|
||||
add_definitions("-DWITH_SYS_TREE")
|
||||
endif (WITH_SYS_TREE)
|
||||
|
||||
+option(WITH_ADNS
|
||||
+ "Include ADNS support?" OFF)
|
||||
+
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
|
||||
option(WITH_SYSTEMD
|
||||
"Include systemd support?" OFF)
|
||||
@@ -137,10 +140,11 @@ set (MOSQ_LIBS ${MOSQ_LIBS} ${OPENSSL_LIBRARIES})
|
||||
# Check for getaddrinfo_a
|
||||
include(CheckLibraryExists)
|
||||
check_library_exists(anl getaddrinfo_a "" HAVE_GETADDRINFO_A)
|
||||
-if (HAVE_GETADDRINFO_A)
|
||||
+if (HAVE_GETADDRINFO_A AND WITH_ADNS)
|
||||
+ add_definitions("-DWITH_ADNS")
|
||||
add_definitions(-DHAVE_GETADDRINFO_A)
|
||||
set (MOSQ_LIBS ${MOSQ_LIBS} anl)
|
||||
-endif (HAVE_GETADDRINFO_A)
|
||||
+endif (HAVE_GETADDRINFO_A AND WITH_ADNS)
|
||||
|
||||
|
||||
if (UNIX)
|
||||
@ -0,0 +1,24 @@
|
||||
Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1571]
|
||||
From 3fe5468f1bdca1bff1d18cf43c9e338f41aa9e32 Mon Sep 17 00:00:00 2001
|
||||
From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
Date: Wed, 22 Jan 2020 12:39:49 +0100
|
||||
Subject: [PATCH] Add dynamic symbols linking with cmake too
|
||||
|
||||
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
---
|
||||
lib/CMakeLists.txt | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
|
||||
index e1521f12a..14ba12739 100644
|
||||
--- a/lib/CMakeLists.txt
|
||||
+++ b/lib/CMakeLists.txt
|
||||
@@ -88,6 +88,8 @@ set_target_properties(libmosquitto PROPERTIES
|
||||
OUTPUT_NAME mosquitto
|
||||
VERSION ${VERSION}
|
||||
SOVERSION 1
|
||||
+ LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linker.version
|
||||
+ LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/linker.version"
|
||||
)
|
||||
|
||||
install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
@ -16,45 +16,36 @@ DEPENDS = "uthash"
|
||||
|
||||
SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
|
||||
file://mosquitto.init \
|
||||
file://1568.patch \
|
||||
file://1569.patch \
|
||||
file://1570.patch \
|
||||
file://1571.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "24a0e567c845b3e41b75e237d200edf8"
|
||||
SRC_URI[sha256sum] = "7df23c81ca37f0e070574fe74414403cf25183016433d07add6134366fb45df6"
|
||||
|
||||
inherit systemd update-rc.d useradd
|
||||
inherit systemd update-rc.d useradd cmake
|
||||
|
||||
PACKAGECONFIG ??= "ssl uuid \
|
||||
PACKAGECONFIG ??= "ssl dlt websockets dns-srv\
|
||||
${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares"
|
||||
PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl"
|
||||
PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux"
|
||||
PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd"
|
||||
PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets"
|
||||
PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares"
|
||||
PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC_OFF,openssl"
|
||||
PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
|
||||
PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets"
|
||||
PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon"
|
||||
|
||||
EXTRA_OEMAKE = " \
|
||||
prefix=${prefix} \
|
||||
mandir=${mandir} \
|
||||
localedir=${localedir} \
|
||||
${PACKAGECONFIG_CONFARGS} \
|
||||
STRIP=/bin/true \
|
||||
WITH_DOCS=no \
|
||||
WITH_BUNDLED_DEPS=no \
|
||||
EXTRA_OECMAKE = " \
|
||||
-DWITH_BUNDLED_DEPS=OFF \
|
||||
-DWITH_ADNS=ON \
|
||||
"
|
||||
|
||||
export LIB_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}"
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}${systemd_unitdir}/system/
|
||||
install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
|
||||
|
||||
install -d ${D}${sysconfdir}/mosquitto
|
||||
install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \
|
||||
${D}${sysconfdir}/mosquitto/mosquitto.conf
|
||||
|
||||
install -d ${D}${sysconfdir}/init.d/
|
||||
install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
|
||||
sed -i -e 's,@SBINDIR@,${sbindir},g' \
|
||||
@ -77,9 +68,9 @@ FILES_${PN} = "${sbindir}/mosquitto \
|
||||
|
||||
CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
|
||||
|
||||
FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1"
|
||||
FILES_libmosquitto1 = "${libdir}/libmosquitto.so.*"
|
||||
|
||||
FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1"
|
||||
FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*"
|
||||
|
||||
FILES_${PN}-clients = "${bindir}/mosquitto_pub \
|
||||
${bindir}/mosquitto_sub \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user